HEVC代码追踪(九):帧间->xCheckRDCostInter

来源:互联网 发布:大数据时代txt微盘 编辑:程序博客网 时间:2024/05/18 01:41


#if AMP_MRGVoid TEncCu::xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bUseMRG)#elseVoid TEncCu::xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize )#endif{  UChar uhDepth = rpcTempCU->getDepth( 0 );    rpcTempCU->setDepthSubParts( uhDepth, 0 );    rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );  rpcTempCU->setPartSizeSubParts  ( ePartSize,  0, uhDepth );  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );  #if AMP_MRG  rpcTempCU->setMergeAMP (true);  m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth], false, bUseMRG );#else    m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth] );#endif#if AMP_MRG  if ( !rpcTempCU->getMergeAMP() )  {    return;  }#endif  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );  rpcTempCU->getTotalCost()  = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() );  xCheckDQP( rpcTempCU );  xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);}




0 0
原创粉丝点击