【发布时间】:2011-04-22 13:29:13
【问题描述】:
我正在解析 h264 NAL 单元。在我的序列中 - 有带有图片参数集、序列参数集、I 帧(它们也是 IDR)和 P 帧(I 和 P 帧由单个切片组成)的 NAL 单元。 (根本没有 B 帧)
所以我的 NAL 单元流看起来像:
[SPS] [PPS] [I(IDR)] [P] [P] [P] ... [P] [P] [SPS] [PPS] [I(IDR)] [P] [P] [P] ....
我的流中的每个 I 帧也是 IDR 帧,因此它的 frame_num 为 0(根据 h.264 标准)。
此外,每个 P 帧的 frame_num 每单位都比前一帧大。
但是,我对pic_order_cnt_lsb 感到困惑。
pic_order_cnt_lsb 代表什么?
按照我的顺序:
- 如果P帧有
frame_num==2它的pic_order_cnt_lsb==4 - 如果P帧有
frame_num==3它的pic_order_cnt_lsb==6 - 如果P帧有
frame_num==4它的pic_order_cnt_lsb==8 - 等等...(在我的情况下
pic_order_cnt_lsb == 2*frame_num)
为什么frame_num和pic_order_cnt_lsb之间存在这种关联?
谢谢,
【问题讨论】:
标签: c++ video video-streaming h.264