diff --git a/source/Lib/EncoderLib/EncSlice.cpp b/source/Lib/EncoderLib/EncSlice.cpp index 79620960b9412aa2be0dee2d218eed2df76b2196..99aa3691ab9a1b97c32e1bc44db06ae7fab4f6ea 100644 --- a/source/Lib/EncoderLib/EncSlice.cpp +++ b/source/Lib/EncoderLib/EncSlice.cpp @@ -753,6 +753,9 @@ void EncSlice::resetQP( Picture* pic, int sliceQP, double lambda ) // store lambda slice->setSliceQp( sliceQP ); setUpLambda(slice, lambda, sliceQP); +#if WCG_EXT + m_pcRdCost->saveUnadjustedLambda(); +#endif } #if ENABLE_QPA @@ -1573,10 +1576,10 @@ void EncSlice::encodeCtus( Picture* pcPic, const bool bCompressEntireSlice, cons estQP = Clip3( -pcSlice->getSPS()->getQpBDOffset(CHANNEL_TYPE_LUMA), MAX_QP, estQP ); + pRdCost->setLambda(estLambda, pcSlice->getSPS()->getBitDepths()); #if WCG_EXT pRdCost->saveUnadjustedLambda(); #endif - pRdCost->setLambda(estLambda, pcSlice->getSPS()->getBitDepths()); #if RDOQ_CHROMA_LAMBDA // set lambda for RDOQ