x264 / avcodec:从NAL单元中减去帧序列号

时间:2014-04-02 13:56:59

标签: c++ h.264 libavcodec x264

我在我的项目中使用avcodec H264解码器。我从网络接收NAL单元,将来自相同帧的NAL(在网络层上添加额外的标头)粘在一起,然后传递给解码器。我想知道帧序列号是否被编码成NAL单元 - 这是合乎逻辑的,因为我们需要对IDR帧的引用。

如果存在此信息 - 我该如何提取它?

现在我正在研究ITU-T H.264规范,这是我能承认的非常复杂的规范。到目前为止,我还没有找到问题的答案。

1 个答案:

答案 0 :(得分:2)

没有。 frame_num是不够的(因为它对于不同的帧可能相等而不是由于MaxFrameNum帧溢出)。例如,后续B帧可以具有相等的frame_num但是具有不同的pic_order_cnt_lsb。正如我所说,您需要从H.264规范中读取“7.4.1.2.4检测主要编码图像的第一个VCL NAL单元”,以找出来自不同主要编码图像的NAL。要找出一张图片中NAL的顺序,您可以分析first_mb_in_slice的值。