HEVC参照ソフトウェアHMのコードの内部(2)

HEVC参照ソフトウェアHMのコードの内部(1)では

/App/TAppEncoder/TAppEncTop.cpp

/Lib/TLibEncoder/TEncTop.cpp

のencoder functionをおもに見てきた。

 

/App/TAppEncoder/TAppEncTop.cppの633行目のm_cTEncTop.encode() (encoding function for one frame)には以下の変数がある。

Parameters

flush cause encoder to encode a partial GOP
pcPicYuvOrg original YUV picture
pcPicYuvTrueOrg  
snrCSC

 

 

また、以下の値を返す。

Return values

rcListPicYuvRecOut list of reconstruction YUV pictures
accessUnitsOut list of output access units
iNumEncoded number of encoded pictures

 

 

 

pcPicYuvOrgという変数があるが、これは550行目から続くencode()内で定義されている(559行目)。

TComPicYuvというクラスからpcPicYuvOrgというインスタンスが生成されていることが分かる。

TComPicYuvについてはLib/TLibCommon/TComPicYuv.cppで書かれている。

 

/Lib/TLibEncoder/TEncTop.cppの363行目に(471行目にも) //compress GOPと書かれている。

その直後にm_cGOPEncoder.compressGOP

とあるが、m_cGOPEncoderはTEncTop.hの91行目に定義されている。

 関数compressGOP()は/Lib/TLibEncoder/TEncGOP.cppの1155行目にある。