VVC/VTM1 主線代碼流程

  1. int main(int argc, char* argv[])調用pcEncApp->encode();
  2. Void EncApp::encode()調用m_cEncLib.encode( bEos, flush ? 0 : &orgPic, flush ? 0 : &trueOrgPic, snrCSC, recBufList,   iNumEncoded );
  3. Void EncLib::encode()調用 m_cGOPEncoder.compressGOP( m_iPOCLast, m_iNumPicRcvd, m_cListPic, rcListPicYuvRecOut, false, false, snrCSC, m_printFrameMSE );
  4. Void EncGOP::compressGOP()調用m_pcSliceEncoder->compressSlice   ( pcPic, false, false );
  5. Void EncSlice::compressSlice()調用encodeCtus( pcPic, bCompressEntireSlice, bFastDeltaQP, startCtuTsAddr, boundingCtuTsAddr, m_pcLib );
  6. void EncSlice::encodeCtus()調用m_pcCuEncoder->compressCtu( cs, ctuArea, ctuRsAddr, prevQP, currQP );
  7. void EncCu::compressCtu()調用xCompressCU( tempCS, bestCS, *partitioner );
  8. void EncCu::xCompressCU()調用xCheckModeSplit( tempCS, bestCS, partitioner, currTestMode );

xCheckModeSplit( tempCS, bestCS, partitioner, currTestMode )爲VTM  QTBTTT結構主要實現處。
--------------------- 
作者:besnia 
來源:CSDN 
原文:https://blog.csdn.net/baidu_28446365/article/details/80422283 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章