ste*_*emm 5 c++ video video-streaming h.264
我正在解析h264 NAL单位.在我的序列中 - 有NAL单元,其中设置了图像参数,设置了序列参数,I帧(它们也是IDR)和P帧(I帧和P帧构成单个切片).(根本没有B帧)
所以我有NAL单元的流看起来像:
[SPS] [PPS] [I(IDR)] [P] [P] [P] ... [P] [P] [SPS] [PPS] [I(IDR)] [P] [P] [P] ....
Run Code Online (Sandbox Code Playgroud)
我的流中的每个I帧也是IDR帧,因此其frame_num为0(根据h.264标准).
此外,每个P帧的frame_num
每单位大于前一帧.
但是,我很困惑pic_order_cnt_lsb
.
什么pic_order_cnt_lsb
代表?
在我的序列中:
frame_num==2
它
pic_order_cnt_lsb==4
frame_num==3
它
pic_order_cnt_lsb==6
frame_num==4
它
pic_order_cnt_lsb==8
pic_order_cnt_lsb == 2*frame_num
)为什么frame_num
和之间存在这种相关性pic_order_cnt_lsb
?
谢谢,
看起来您有交错数据。对于隔行数据,一帧由两个场组成。每帧的其他字段将具有 的奇数值pic_order_cnt_lsb
。
pic_order_cnt_lsb
只是跟踪图片顺序的计数器的最低有效位。如果(如典型的隔行扫描数据)每帧有两张图片,则每次更改frame_num 时它都会增加 2。如果您的流是渐进式的而不是隔行式的,则两者将一起递增。
归档时间: |
|
查看次数: |
2297 次 |
最近记录: |