1.encmain.cpp:
//call encoding function調用編碼函數===>編碼函數入口!!!
cTAppEncTop.encode();
2.TAppEncTop.cpp:
//call encoding function for one frame每讀入一幀YUV調用一次!!!
m_cTEncTop.encode( bEos, flush ? 0 : pcPicYuvOrg, m_cListPicYuvRec, outputAccessUnits, iNumEncoded );
3.TEncTop.cpp:
//compress GOP幀編碼相關函數!!!
m_cGOPEncoder.compressGOP(m_iPOCLast, m_iNumPicRcvd, m_cListPic, rcListPicYuvRecOut, accessUnitsOut);
4.TEnGOP:cpp:
//在最好的lamuda下進行編碼。對每個sice進行編碼!!!
m_pcSliceEncoder->compressSlice ( pcPic );
5.TEncSlice.cpp:
//run CU encoder 進行CU編碼!!!
m_pcCuEncoder->compressCU( pcCU );
6.TEncCu.cpp:
//analysis of CU 擷取最佳PU為m_ppcBestCU[0]!!!
xCompressCU( m_ppcBestCU[0], m_ppcTempCU[0], 0 );
7.TEncCu.cpp:
Void TEncCu::xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bUseMRG)
Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
8.TEncCu.cpp:
Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
這個函數内部實作對亮度和色度的預測;即:estIntraPredQT和estIntraPredChromaQT
9.TEnSearch.cpp:
Void TEncSearch::estIntraPredQT(......)中有四個關鍵的函數!
①:predIntraLumaAng實作了方向的預測
②:calcHAD函數計算了SATD
③:xModeBitsIntra函數計算編碼的碼率
④:xUpdateCandList更新最好的RDCost所使用的模式