[x264-devel] [PATCH] Relaxed parameter checking at encoder/encoder.c

Jason Garrett-Glaser jason at x264.com
Sun Dec 12 00:09:27 CET 2010


On Sat, Dec 11, 2010 at 3:05 PM, Alexander Strange
<astrange at ithinksw.com> wrote:
>
> On Dec 11, 2010, at 6:00 PM, Jason Garrett-Glaser wrote:
>
>> 2010/12/11 Marco Aurélio Graciotto Silva <magsilva at gmail.com>:
>>> Dear x264 developers,
>>>
>>> Lately, I'm trying to compress some movies using MPEG-4 AVC
>>> Predictive Profile (aka lossless compression). I wasn't using
>>> x264 directly, but FFmpeg. Then I strumbled across an issue
>>> regarding some parameters that FFmpeg defined by itself and
>>> which, when using x264 in lossless mode, results in an error:
>>> 'broken ffmpeg default settings detected'. Further information
>>> and instructions to reproduce this are described at
>>> http://permalink.gmane.org/gmane.comp.video.ffmpeg.user/29323
>>>
>>> I traced the issue to encoder/encoder.c, more precisely at
>>> line 471, in a block of code that, as its comment says, "Detect
>>> default ffmpeg settings and terminate with an error."
>>>
>>> From the FFmpeg side, I can workaround this by setting
>>> some parameters (such as qmin, qmax, etc), even though
>>> such parameters will be overriden by x264 (because of the
>>> lossless mode).
>>>
>>> However, a better solution would be to, in the code that x264 tries
>>> to detect FFmpeg defaults, ignore some parameters that will be
>>> overwritten anyway in lossless mode. I created a patch
>>> x264-lossless-ffmpeg_parameter_check.patch and it worked
>>> just fine here. Is it okay?
>>>
>>>
>>> Regards,
>>>
>>> Marco Aurélio
>>
>> As I already told you on the ffmpeg thread, this is not a bug; this is
>> entirely intentional behavior.  x264 uses the broken defaults of
>> ffmpeg to detect when a user has not set a -vpre.  Relaxing these to
>> allow users to remove parts of the ffmpeg preset is entirely
>> contradictory to the purpose of said code.
>>
>> Patch, again, rejected.
>>
>> Jason
>
> I sent a patch series to ffmpeg-devel with a superficial (but effective) fix for this, but haven't had time to finish it.
> See "load -vpre/apre default by default".

Michael will probably reject that now; he added support for per-codec
options in ffmpeg, which is sufficient to eliminate the -vpre system
altogether (by using the correct options to begin with).  He will
probably insist that you add that.

Jason


More information about the x264-devel mailing list