//! encode prediction mode Void TEncEntropy::encodePredMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) { if( bRD ) { uiAbsPartIdx = 0; } #if SCM_T0227_INTRABC_SIG_UNIFICATION if ( pcCU->getSlice()->isIntra() && !pcCU->getSlice()->getSPS()->getUseIntraBlockCopy() ) { return; } #else if ( pcCU->getSlice()->isIntra() ) { if ( pcCU->isIntra( uiAbsPartIdx ) ) { encodePLTModeInfo( pcCU, uiAbsPartIdx ); if ( pcCU->getPLTModeFlag( uiAbsPartIdx ) ) { if ( !bRD ) { pcCU->saveLastPLTInLcuFinal( pcCU, uiAbsPartIdx, MAX_NUM_COMPONENT ); } } } return; } if( pcCU->isIntraBC( uiAbsPartIdx ) ) { return; } #endif m_pcEntropyCoderIf->codePredMode( pcCU, uiAbsPartIdx ); if(pcCU->isIntra( uiAbsPartIdx )) { encodePLTModeInfo (pcCU, uiAbsPartIdx); if (pcCU->getPLTModeFlag(uiAbsPartIdx)) { if (!bRD) { pcCU->saveLastPLTInLcuFinal( pcCU, uiAbsPartIdx, MAX_NUM_COMPONENT ); } } } }
//! encode prediction mode Void TEncEntropy::encodePredMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) { if( bRD ) { uiAbsPartIdx = 0; } if ( pcCU->getSlice()->isIntra() ) { return; } m_pcEntropyCoderIf->codePredMode( pcCU, uiAbsPartIdx ); #if !SCM_S0043_PLT_DELTA_QP if(pcCU->isIntra( uiAbsPartIdx )) { encodePLTModeInfo (pcCU, uiAbsPartIdx); if (pcCU->getPLTModeFlag(uiAbsPartIdx)) { if (!bRD) { pcCU->saveLastPLTInLcuFinal( pcCU, uiAbsPartIdx, MAX_NUM_COMPONENT ); } } } #endif }