ref: 58e868c0741b8e2c7c3c8ea65ff47148527d9dc6
parent: 8dbdb418cac6500a4d145c8d7d6c41401365799d
parent: 4746ce8fd4929b2f99031d9184a4517676d6eec9
author: ruil2 <[email protected]>
date: Wed Dec 17 10:51:52 EST 2014
Merge pull request #1643 from mstorsjo/check-num-refs If lowering the maximum number of ref frames, check iNumRefFrames as well
--- a/codec/encoder/core/src/au_set.cpp
+++ b/codec/encoder/core/src/au_set.cpp
@@ -98,8 +98,11 @@
WelsLog (pLogCtx, WELS_LOG_WARNING, "change level to level5.0");
}
iRefFrame = g_ksLevelLimits[pSpatialLayer->uiLevelIdc - 1].uiMaxDPBMbs / uiPicInMBs;
- if (iRefFrame < pParam->iMaxNumRefFrame)
+ if (iRefFrame < pParam->iMaxNumRefFrame) {
pParam->iMaxNumRefFrame = iRefFrame;
+ if (pParam->iMaxNumRefFrame < pParam->iNumRefFrame)
+ pParam->iNumRefFrame = pParam->iMaxNumRefFrame;
+ }
if (pParam->iMaxNumRefFrame < 1) {
pParam->iMaxNumRefFrame = 1;
WelsLog (pLogCtx, WELS_LOG_ERROR, "error Level setting (%d)", pSpatialLayer->uiLevelIdc);