[FFmpeg-devel] [RFC] Keyframe interval in the libvpx encoder

Martin Storsjö martin
Tue Jun 8 10:48:29 CEST 2010


On Mon, 7 Jun 2010, James Zern wrote:

> On Sat, Jun 5, 2010 at 09:22, Martin Storsj? <martin at martin.st> wrote:
> > Hi,
> >
> > Currently, the libvpx encoder sets VPX_KF_FIXED if keyint_min == gop_size.
> > According to the libvpx header:
> >
> > ?* This enumeration determines whether keyframes are placed automatically by
> > ?* the encoder or whether this behavior is disabled. Older releases of this
> > ?* SDK were implemented such that VPX_KF_FIXED meant keyframes were disabled.
> > ?* This name is confusing for this behavior, so the new symbols to be used
> > ?* are VPX_KF_AUTO and VPX_KF_DISABLED.
> >
> > So, if keyint_min happens to be exactly equal to gop_size, it in practice
> > means no keyframes are placed at all. That can't be the correct behaviour,
> > can it? This would be fixed with the attached patch.
> >
> > If such behaviour, no keyframes at all, should be exposed through the lavc
> > API, I don't think it should be for the case of keyint_min == gop_size at
> > least.
> >
> I agree that wasn't the intended effect and a no keyframe option would
> probably be of limited use.
> The attached keeps the check, but leaves the mode set to auto. In this
> case the libvpx/vp8 interface will force a keyframe at this interval.

Yes, this seems even better. Applied, thanks!

// Martin



More information about the ffmpeg-devel mailing list