[FFmpeg-devel] [PATCH]lavc: Allow forcing work-around for x264 cabac 8x8 4:4:4 bug

Mark Thompson sw at jkqxz.net
Tue Dec 5 01:44:52 EET 2017



On 04/12/17 02:21, Carl Eugen Hoyos wrote:
> 2017-12-04 1:56 GMT+01:00 Mark Thompson <sw at jkqxz.net>:
>> On 04/12/17 00:09, Carl Eugen Hoyos wrote:
> 
>>> Attached patch fixes ticket #6717, files without sei can be produced
>>> with remuxing and seeking, even if this is a (separate) bug, such
>>> files exist in the wild.
> 
>> File are currently fixable by remuxing with:
>>
>> -bsf:v 'h264_metadata=sei_user_data=dc45e9bde6d948b7962cd820d923eeef+x264 - core 150'
> 
> Thank you!
> 
>> Unfortunately that can't be applied directly when decoding,
>> because -bsf isn't available as an input option.
> 
>> I don't really like the idea of adding the option because it does
>> break correct files, but I guess it probably ends up being the
>> pragmatic option for decoding.
> 
> Sorry, I don't understand: Do you mean if the user specifies
> the work-around, it will break files encoded with current
> x264? Isn't that the whole point of this (and every other)
> work-around?
> 
>> Still, I think it might be sensible to at least add a big warning
>> telling the user they're doing something stupid if this option
>> is set and it finds x264_build is >= 151?
> 
> I believe you know that I am a big fan of warnings but printing
> a warning when a user explicitely specifies an option? We
> don't warn when an experimental encoder is used (not even
> when we know it will segfault) and I don't think it is necessary.

There are three cases here:

i)   The file contains the SEI for x264 build < 151.
ii)  The file contains the SEI for x264 build >= 151.
iii) The file does not contain any x264 SEI, so we can't tell whether it is broken.

I'm suggesting printing a warning only in case (ii), where we know that applying the workaround is almost certainly wrong but will of course do so anyway.

(Feel free to ignore this suggestion.)

- Mark


More information about the ffmpeg-devel mailing list