首页 > 代码库 > H.264/AVC I/P/B frames
H.264/AVC I/P/B frames
H.264/AVC I/P/B frames
GOP: group of I/P/B frames, the first frame in a GOP is I frame. there is only one I frame in a GOP. if there are B frame in a GOP, the last frame is a P frame.
I frame: reference frame of P/B frame.
P frame: its reference frame is a previous I or P frame
B frame: its reference frames are a previous I or P frame and a future P frame
error in I or P frame will affect decode of frame which refers to it while B frame won‘t for it can‘t be reference frame
IDR frame in H.264/AVC
I frame in a GOP is a IDR frame. the reference list will be cleared when decoder received a IDR frame(a new GOP starting). so it won‘t use reference frame before the new IDR frame and the picture error in previous GOP won‘t affect the decode of current GOP.
DTS和PTS的不同:
DTS主要用于视频的解码,在解码阶段使用.PTS主要用于视频的同步和输出.在display的时候使用.在没有B frame的情况下.DTS和PTS的输出顺序是一样的.
例子:
下面给出一个GOP为15的例子,其解码的参照frame及其解码的顺序都在里面:
(picture from http://blog.csdn.net/datamining2005/article/details/72473826)
H.264/AVC I/P/B frames