ref: b2d6902176a67fac77734471c7afc158a5dcedf9
parent: 60cbb7758377b36eaeee5e354622456a3f5b0c99
parent: 35e073714dcc042c31508f8493e4ac7db9a0bc3e
author: HaiboZhu <[email protected]>
date: Wed Jun 22 10:13:18 EDT 2016
Merge pull request #2504 from ruil2/adaptive fix QP issue when adaptive quant turns on
--- a/codec/encoder/core/src/ratectl.cpp
+++ b/codec/encoder/core/src/ratectl.cpp
@@ -464,14 +464,12 @@
pWelsSvcRc->iLastCalculatedQScale + pWelsSvcRc->iFrameDeltaQpUpper + iDeltaQpTemporal);
iLumaQp = WELS_CLIP3 (iLumaQp, pTOverRc->iMinQp, pTOverRc->iMaxQp);
- pWelsSvcRc->iQStep = RcConvertQp2QStep (iLumaQp);
- pWelsSvcRc->iLastCalculatedQScale = iLumaQp;
-
if (pEncCtx->pSvcParam->bEnableAdaptiveQuant) {
iLumaQp = WELS_CLIP3 ((iLumaQp * INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp) /
INT_MULTIPLY, pTOverRc->iMinQp, pTOverRc->iMaxQp);
}
-
+ pWelsSvcRc->iQStep = RcConvertQp2QStep (iLumaQp);
+ pWelsSvcRc->iLastCalculatedQScale = iLumaQp;
pEncCtx->iGlobalQp = iLumaQp;
return;
@@ -500,9 +498,6 @@
}
iLumaQp = WELS_CLIP3 (iLumaQp, pTOverRc->iMinQp, pTOverRc->iMaxQp);
-
- pWelsSvcRc->iQStep = RcConvertQp2QStep (iLumaQp);
- pWelsSvcRc->iLastCalculatedQScale = iLumaQp;
if (pEncCtx->pSvcParam->bEnableAdaptiveQuant) {
iLumaQp = WELS_DIV_ROUND (iLumaQp * INT_MULTIPLY - pEncCtx->pVaa->sAdaptiveQuantParam.iAverMotionTextureIndexToDeltaQp,
@@ -509,6 +504,8 @@
INT_MULTIPLY);
iLumaQp = WELS_CLIP3 (iLumaQp, pTOverRc->iMinQp, pTOverRc->iMaxQp);
}
+ pWelsSvcRc->iQStep = RcConvertQp2QStep (iLumaQp);
+ pWelsSvcRc->iLastCalculatedQScale = iLumaQp;
pEncCtx->iGlobalQp = iLumaQp;
}