打开代码doc目录software-manual.pdf,可以看到里面有Block statistics extension的部分,说的还挺详细,不过这里还是再描述一下。
本文参考了:VTM中的编码单元信息扩展:CU信息的可视化分析和统计分析 - Aidoneus_y - CSDN博客
-
修改TypeDef.h中的宏
#define
的ENABLE_TRACING
和K0149_BLOCK_STATISTICS
为 1,然后编码。 -
设置解码端的命令参数
TraceFile名字随便取,TraceRule二选一,D_BLOCK_STATISTICS_ALL 或 D_BLOCK_STATISTICS_CODED,具体区别还没研究,文档里是这么写的:
D_BLOCK_STATISTICS_ALL All syntax elements are written, no matter whether they are actually encoded or derived.
D_BLOCK_STATISTICS_CODED Tries to write only syntax elements, which have also been encoded.
D_BLOCK_STATISTICS_ALL:所有的语法元素都将被记录,无论他们是实际编码的还是获得的。
D_BLOCK_STATISTICS_CODED:仅记录将进行编码的语法元素。
具体来说,填入VS的“命令参数”里,可以填写:
-b str.vvc -o dec.yuv --TraceFile="str_coded.vtmbmsstats" --TraceRule="D_BLOCK_STATISTICS_CODED:poc>=0"
或者
-b str.vvc -o dec.yuv --TraceFile="str_all.vtmbmsstats" --TraceRule="D_BLOCK_STATISTICS_ALL:poc>=0"
最后打开YUView软件(下载YUView),把dec.yuv文件和vtmbmsstats文件放到一起,注意yuv在上面,add overlay,再设置一下yuv视频大小和格式,就可以显示了。