diff --git a/source/Lib/EncoderLib/EncModeCtrl.cpp b/source/Lib/EncoderLib/EncModeCtrl.cpp index 87e2bbf74d1630d5ecb699ada858e50ae985ea7c..9f95ace76e714e6fb85c6e937c700e8e6f233a79 100644 --- a/source/Lib/EncoderLib/EncModeCtrl.cpp +++ b/source/Lib/EncoderLib/EncModeCtrl.cpp @@ -215,14 +215,6 @@ void EncModeCtrl::xGetMinMaxQP( int& minQP, int& maxQP, const CodingStructure& c } } #endif -#if SHARP_LUMA_DELTA_QP - - if (m_pcEncCfg->getLumaLevelToDeltaQPMapping().isEnabled() && (!CS::isDualITree (cs) || isLuma (partitioner.chType))) - { - minQP = Clip3( -sps.getQpBDOffset( CHANNEL_TYPE_LUMA ), MAX_QP, baseQP - m_lumaQPOffset ); - maxQP = minQP; - } -#endif } @@ -1309,15 +1301,17 @@ void EncModeCtrlMTnoRQT::initCULevel( Partitioner &partitioner, const CodingStru } #endif #if SHARP_LUMA_DELTA_QP + if (m_pcEncCfg->getLumaLevelToDeltaQPMapping().isEnabled()) + { #if JVET_M0113_M0188_QG_SIZE - if (m_pcEncCfg->getLumaLevelToDeltaQPMapping().isEnabled() && partitioner.currQgEnable()) + if (partitioner.currQgEnable()) #else - if (m_pcEncCfg->getLumaLevelToDeltaQPMapping().isEnabled() && partitioner.currDepth <= cs.pps->getMaxCuDQPDepth()) + if (partitioner.currDepth <= cs.pps->getMaxCuDQPDepth()) #endif - { - CompArea clipedArea = clipArea( cs.area.Y(), cs.picture->Y() ); - // keep using the same m_QP_LUMA_OFFSET in the same CTU - m_lumaQPOffset = calculateLumaDQP( cs.getOrgBuf( clipedArea ) ); + { + m_lumaQPOffset = calculateLumaDQP (cs.getOrgBuf (clipArea (cs.area.Y(), cs.picture->Y()))); + } + baseQP = Clip3 (-cs.sps->getQpBDOffset (CHANNEL_TYPE_LUMA), MAX_QP, baseQP - m_lumaQPOffset); } #endif }