[FFmpeg-devel] [RFC] Specifying KEYINT (-g) has no effect in libx264

Michael Niedermayer michaelni at gmx.at
Mon May 23 13:32:42 CEST 2011


On Mon, May 23, 2011 at 01:32:15AM -0700, Baptiste Coudurier wrote:
> On 5/22/11 8:33 PM, Michael Niedermayer wrote:
> > On Sun, May 22, 2011 at 10:40:07PM +0200, Stefano Sabatini wrote:
> >> Hi,
> >>
> >> see issue #157.
> >>
> >> The problem was possibly introduced in:
> >>
> >> commit 0140d3f0921e5cbb6ea8706acb0307f7ff57a133
> >> Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
> >> Date:   Sat Apr 16 16:50:50 2011 -0700
> >>
> >>     In libx264 wrapper, add -preset and -tune options
> >>
> >> and depends on the fact that x264_param_default_preset() which is
> >> called in x264_init(), calls x264_param_default() which defaults the
> >> already set options.
> >>
> >> Indeed order of options matters, with the current mechanism options
> >> are set in the relevant contexts, and globally processed in the object
> >> initialization, so the order specified on the commandline is basically
> >> ignored.
> >>
> >> In the case of libx264 we may process profile/preset *before* the
> >> other options set in the context, so that specific settings will
> >> override profile/preset information.
> 
> No, order doesn't matter, as long as a preset is specified, it will
> override other options.
> 
> >> This has the problem that most of the times user-set options are
> >> changed to medium profile or libx264 will complain&exit, see:
> >>
> >> thus making fine-tuned user options pointless (since they are changed
> >> to medium preset and/or will be rejected by libx264).
> 
> No, you can still specify fine-tuned options without a preset.
> 
> > I see 3 obvious solutions
> > 
> > A. is mplayers to just use -x264opts which ive added
> > 
> > B. keep track of which options have been set by the user and which are
> >    default.
> 
> 'B' is how it should be done. It's trivial, just remap "g" in the
> libx264.c the way weightp was mapped.

With B i ve meant keeping track of what options in AVCodecContext have
been set by the user.

Your sugestion is possible too, it all just depends on having a
volunteer who is willing to implement it.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110523/74d8d07b/attachment.asc>


More information about the ffmpeg-devel mailing list