如何解决如何从Decoder TAppdecoderStatic HM模型获取编码视频的信息
我正在尝试从HEVC测试模型的解码器获取压缩帧的信息(包括帧内,运动矢量,coeff)。我在Linux中使用了以下命令:env PRINT_COEFF=1 PRINT_INTRA=1 PRINT_MV=1 SAVE_PREFILT=1 ./TAppDecoderAnalyserStaticd -b "BasketballDrive_1920x1080_50_50.bin"
-o "BasketballDrive_1920x1080_50_50.yuv"
但是它只会返回这样的结果
HM software: Decoder Version [11.0][Linux][GCC 7.5.0][64 bit]
POC 0 TId: 0 ( I-SLICE,QP 27 ) [DT 0.049] [L0 ] [L1 ] [:,(unk)]
POC 1 TId: 0 ( P-SLICE,QP 30 ) [DT 0.016] [L0 0 ] [L1 ] [:,(unk)]
POC 2 TId: 0 ( P-SLICE,QP 29 ) [DT 0.019] [L0 1 0 ] [L1 ] [:,(unk)]
POC 3 TId: 0 ( P-SLICE,QP 30 ) [DT 0.015] [L0 2 1 0 ] [L1 ] [:,(unk)]
POC 4 TId: 0 ( P-SLICE,QP 28 ) [DT 0.017] [L0 3 2 1 0 ] [L1 ] [:,(unk)]
POC 5 TId: 0 ( P-SLICE,QP 30 ) [DT 0.009] [L0 4 3 2 0 ] [L1 ] [:,(unk)]
POC 6 TId: 0 ( P-SLICE,QP 29 ) [DT 0.011] [L0 5 4 3 0 ] [L1 ] [:,(unk)]
POC 7 TId: 0 ( P-SLICE,QP 30 ) [DT 0.010] [L0 6 5 4 0 ] [L1 ] [:,(unk)]
enter code heretotal Time: 0.172 sec.
我期望这样的结果 information from compressed video
解决方法
我不知道这些PRINT_X参数来自何处。但是根据官方的HM规范,他们什么也不做。
第二,您是指帧的帧内模式或MV?您要查询的信息在块级别。
这样的块级别信息可以在解析过程中记录。
,如果要记录块级信息,例如帧内模式,MV,QP,分区大小等,则可以在解码器端的解析阶段简单地进行记录。在此阶段,大多数语法元素都具有专用功能,可从比特流中读取其值并将其复制到编码单元结构中(所有操作均发生在TDecSbac.cpp
中)
例如,您可以转到parseIntraDirLumaAng()
并获得intraPredMode
的相应区块。或者转到parseCoeffNxN()
并获取存储在pcCoef
数组中的系数值。 MV和其他语法元素也是如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。