HEVC参照ソフトウェアHMのコードの内部(3) HMの出力について
HMを用いてyuv動画、画像を圧縮した場合、
SUMMARY --------------------------------------------------------
Total Frames | Bitrate Y-PSNR U-PSNR V-PSNR YUV-PSNR
1 a 150.7200 34.5559 39.2416 40.1600 35.6956
I Slices--------------------------------------------------------
Total Frames | Bitrate Y-PSNR U-PSNR V-PSNR YUV-PSNR
1 i 150.7200 34.5559 39.2416 40.1600 35.6956
P Slices--------------------------------------------------------
Total Frames | Bitrate Y-PSNR U-PSNR V-PSNR YUV-PSNR
0 p -nan -nan -nan -nan -nan
B Slices--------------------------------------------------------
Total Frames | Bitrate Y-PSNR U-PSNR V-PSNR YUV-PSNR
0 b -nan -nan -nan -nan -nan
このような出力を得る。
これは/Lib/TLibEncoder/TEncGOP.cppの1986行目にある内容から得るものだ。
(Code for TEncGOP.cpp:
https://hevc.hhi.fraunhofer.de/HM-doc/_t_enc_g_o_p_8cpp_source.html#l01155
)
SUMMARY, I Slices, P Slices, B Slicesの部分はprintfで書かれているが、それ以外の部分は
printOut()という関数が用いられている。
printOut()は/Lib/TLibEncoder/TEncAnalyze.hの168行目で定義されている。
case CHROMA_420:
は289行目から始まる。
I Slicesの下の行は300行目に書かれたものを出力したものだ。