Разбираю H264 NAL Units. В моей последовательности есть блоки NAL с заданными параметрами изображения, заданными параметрами последовательности, I-кадры (они же IDR) и P-кадры (I- и P-кадры состоят из одного слайса). (вообще нет B-кадров)
Итак, у меня поток NAL Units выглядит так:
[SPS] [PPS] [I(IDR)] [P] [P] [P] ... [P] [P] [SPS] [PPS] [I(IDR)] [P] [P] [P] ....
Каждый кадр I в моем потоке также является кадром IDR, поэтому его номер кадра равен 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
?
Спасибо,