[FFmpeg-devel] [PATCH] H.264 I-frames with SEI are also key frames

Jason Garrett-Glaser darkshikari
Fri Mar 6 12:56:46 CET 2009

On Fri, Mar 6, 2009 at 3:49 AM, madshi <dear at madshi.net> wrote:
>> A keyframe is defined as any frame which has no dependence on prior
>> frames. ?In H.264, this dependency is represented in the form of the
>> reference list. ?If, via whatever means are used, the reference list
>> at the time at which a given I-frame is displayed is empty, the frame
>> is a keyframe.
>> MMCO is one method of forcing previous frames to be dumped from the
>> reference frame list prematurely, to clear the reference list.
>> Dark Shikari
> Thanks! That sounds like the best solution to me.
> In your experience is an MMCO of "5" the usual way to empty the
> reference list? Or is it also usual to use multiple MMCOs "1", "2"
> and "4"? Testing only for MMCO "5" would of course be the easiest
> way. Because it would probably mean that the splitter/parser wouldn't
> have to implement the whole reference list logic.
> Regards, madshi.

Why not analyze the problematic streams first and figure out which of
the following is the case?

1) 1 reference frame or otherwise simple case--no MMCO required to
clear reference list.
2) MMCO to clear reference list at these I-frames.
3) No clearing of reference list--the extra references just aren't
used in the actual encoding.

1) is trivial.
2) is annoying.
3) is impossible.

Dark Shikari

More information about the ffmpeg-devel mailing list