我试图确定hevc图片的每个切片中包含的编码树块的数量,而不实际进行任何解码 - 除了sps pps和切片头解析。
是否可以从切片头计算结束切片地址?
答案 0 :(得分:0)
您始终可以对编码器进行一些更改,以便在日志文件中提供分区信息。 这可以作为你的选择吗?
答案 1 :(得分:0)
据我所知,参数集和slices头均不包含此信息,因此可以向您保证,因为我正在解码器端使用HM编解码器。
在当前帧中查找CTU块的一种简单方法是在TDecGop::filterPicture
(在TLibDecoder / TDecGop.cpp内部)中添加此行:
std::cout << "*Slice Cur End Ctu Ts Addr :\t" << pcSlice->getSliceCurEndCtuTsAddr() << "\n";
在恢复切片指针之后。
或更好:
std::cout << "numCtusInFrame :\t" << pcPic->getNumberOfCtusInFrame() << "\n";
函数第一行中的。您将进入日志屏幕(文件):
*Slice Cur End Ctu Ts Addr : 30
POC 0 TId: 0 ( I-SLICE, QP 21 ) [DT 0.087] [L0 ] [L1 ] [:,(unk)]
或
numCtusInFrame : 30
POC 0 TId: 0 ( I-SLICE, QP 21 ) [DT 0.087] [L0 ] [L1 ] [:,(unk)]