我使用HM 14.0作为参考。有没有办法获得有关NAL单位的一些具体信息,如
(a) type
(b) num_bytes
(c) frame_no
(d) decode_time
(e) priority
(f) timestamp
前两个我可以通过annexBbytecount获得它,但其余的呢?
答案 0 :(得分:2)
参考编解码器附带一个非常强大的内置跟踪器!
启用它:
diff --git a/source/Lib/TLibCommon/TComRom.h b/source/Lib/TLibCommon/TComRom.h
index 5a59809..1930809 100644
--- a/source/Lib/TLibCommon/TComRom.h
+++ b/source/Lib/TLibCommon/TComRom.h
@@ -158,7 +158,7 @@ extern const UChar g_aucDCTDSTMode_Hor[NUM_INTRA_MODE];
extern Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; // from width to log2(width)-2
#ifndef ENC_DEC_TRACE
-# define ENC_DEC_TRACE 0
+# define ENC_DEC_TRACE 1
#endif
作为一个例子,我编码并解码了BQMall_832x480_60.yuv
的前20帧
启用跟踪。
使用以下编码/解码后
./TAppEncoderStatic -c ../cfg/encoder_intra_main.cfg -c ../cfg/per-sequence/BQMall.cfg
./TAppDecoderStatic -b str.bin
生成跟踪文件(相当大的文件!)
$ ll -rt
total 247100
drwxrwxr-x 12 xx xx 4096 jun 27 10:01 ../
-rwxrwxr-x 1 xx xx 2912618 jun 27 10:06 TAppDecoderStaticd*
-rwxrwxr-x 1 xx xx 627714 jun 27 10:06 TAppDecoderStatic*
-rwxrwxr-x 1 xx xx 4036611 jun 27 10:06 TAppEncoderStaticd*
-rwxrwxr-x 1 xx xx 1133295 jun 27 10:06 TAppEncoderStatic*
-rwxrwxr-x 1 xx xx 87319 jun 27 10:06 annexBbytecountStaticd*
-rwxrwxr-x 1 xx xx 29963 jun 27 10:06 annexBbytecountStatic*
-rwxrwxr-x 1 xx xx 369365 jun 27 10:06 convert_NtoMbit_YCbCrStaticd*
-rwxrwxr-x 1 xx xx 113252 jun 27 10:06 convert_NtoMbit_YCbCrStatic*
-rw-rw-r-- 1 xx xx 442122 jun 28 21:29 str.bin
-rw-rw-r-- 1 xx xx 11980800 jun 28 21:29 rec.yuv
-rw-rw-r-- 1 xx xx 168288021 jun 28 21:29 TraceEnc.txt <----
drwxrwxr-x 2 xx xx 4096 jun 28 21:31 ./
-rw-rw-r-- 1 xx xx 62975377 jun 28 21:31 TraceDec.txt <----
查看TraceEnc.txt
和TraceDec.txt
,其中包含您需要了解的所有内容!