diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index d710ec005e9c74873396b22f2f4171b61aa0bf0f..bb7bbf9950f3ccb7a214bbcf4cebeeafd7f233cc 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -1390,6 +1390,7 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, xGetBuffer( rcListPic, rcListPicYuvRecOut, iNumPicRcvd, iTimeOffset, pcPic, pocCurr, isField ); +#if ER_CHROMA_QP_WCG_PPS // th this is a hot fix for the choma qp control if( m_pcEncLib->getWCGChromaQPControl().isEnabled() && m_pcEncLib->getSwitchPOC() != -1 ) { @@ -1402,6 +1403,7 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, // replace the pps with a more appropriated one pcPic->cs->pps = pPPS; } +#endif #if ENABLE_SPLIT_PARALLELISM && ENABLE_WPP_PARALLELISM pcPic->scheduler.init( pcPic->cs->pcv->heightInCtus, pcPic->cs->pcv->widthInCtus, m_pcCfg->getNumWppThreads(), m_pcCfg->getNumWppExtraLines(), m_pcCfg->getNumSplitThreads() ); diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index daca183e0847f7c4fdb8d19e513339d9a697d83f..24478bcdbe9e578be327e82dc62d28ef060a66c4 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -584,19 +584,16 @@ void EncLib::encode( bool flush, PelStorage* pcPicYuvOrg, PelStorage* cPicYuvTru // get original YUV Picture* pcPicCurr = NULL; -#if ER_CHROMA_QP_WCG_PPS int ppsID=-1; // Use default PPS ID +#if ER_CHROMA_QP_WCG_PPS if (getWCGChromaQPControl().isEnabled()) { ppsID = getdQPs()[m_iPOCLast / (m_compositeRefEnabled ? 2 : 1) + 1]; ppsID+=(getSwitchPOC() != -1 && (m_iPOCLast+1 >= getSwitchPOC())?1:0); } +#endif xGetNewPicBuffer( rcListPicYuvRecOut, pcPicCurr, ppsID ); -#else - xGetNewPicBuffer( rcListPicYuvRecOut, - pcPicCurr, -1 ); // Uses default PPS ID. However, could be modified, for example, to use a PPS ID as a function of POC (m_iPOCLast+1) -#endif { const PPS *pPPS=(ppsID<0) ? m_ppsMap.getFirstPS() : m_ppsMap.getPS(ppsID);