[FFmpeg-user] IDR frames
Mark Filipak
markfilipak.imdb at gmail.com
Thu Jul 4 02:18:58 EEST 2024
H.264 appears to have made I- P- & B-frames obsolete.
Everyone's probably seen my DTS-PTS diagrams.
Closed GOP
PTS order I B B P B B P..
/ ______/ ______/
/ / /
DTS order I P B B P B B..
Open GOP
PTS order ..B B I B B P..
______/ ______/
/ /
DTS order ..I B B P B B..
open Bs
where the open Bs are actually part of the previous GOP.
Well, H.264 references the past & future in the same way, but on a picture-slice basis. There are
I-slices, P-slices, and B-slices. The way to visualize that is to imagine that above the I- P- &
B-frames you can see the frame's slices. Imagine there are links for those slices to past & future
slices in other frames, even 'crossing' an I-frame's PTS.
Such a diagram would look like a spider web with many lines going every which way from every frame.
An IDR frame is an I-frame where the spider web is collapsed/missing on its left (in the past) so
that no I-frame slices reference any slices in the past, and likewise for all the P- & B-frames to
the I-frame's right.
That effectively means there are only two types of frames: IDR and non-IDR. That effectively
obsolutes P- & B-frames -- they no longer have any meaning.
If I am wrong, please let me know. It's what I've sussed out from H.264, but H.264 is not human
readable.
--Mark.
More information about the ffmpeg-user
mailing list