[FFmpeg-devel] avcodec/proresdec : add 12b decoding support

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Nov 19 02:50:52 EET 2018


2018-11-18 22:58 GMT+01:00, Martin Vignali <martin.vignali at gmail.com>:
> Le dim. 18 nov. 2018 à 01:57, Carl Eugen Hoyos <ceffmpeg at gmail.com> a
> écrit :
>
>> 2018-11-18 0:28 GMT+01:00, Martin Vignali <martin.vignali at gmail.com>:
>>
>> > 012 : Add 12b support for 444 by default,
>>
>> Is it slower?
>> I believe that once 12 bit decoding is not slower, it should
>> be the default for 422.
>>
>
> Yes 12b is much slower
>
> On a 422 HQ file :
> 10b decoding precision :
> frame= 3316 fps=280 q=-0.0 Lsize=N/A time=00:02:12.64 bitrate=N/A
> speed=11.2x
> bench: utime=88.741s stime=1.257s rtime=11.833s
>
> 12b decoding precision :
> frame= 3316 fps=176 q=-0.0 Lsize=N/A time=00:02:12.64 bitrate=N/A
> speed=7.02x
> bench: utime=145.096s stime=0.769s rtime=18.894s

Thank you for explaining and after rereading the ticket, I agree
that the defaults you suggested make sense.

>> > and add user option for setting decoding precision
>>
>> I wonder if this is necessary and correct: Calling applications
>> should choose the bit depth depending on their use case, if
>> ffmpeg (the cli) really doesn't support that, it is a missing
>> feature, different pix_fmts for one decoder (and input file) is
>> not new in FFmpeg, MPlayer had used this feature since
>> forever.
>
> I don't know, how to get the "wanted" pix_fmt output using
> ffmpeg cli, and I don't know, what the general "rules" of this
> project for multiple pix_fmt output for the same input file.

That's exactly what I am trying to say:
We both assume that there is a bug (or missing feature) in the
ffmpeg cli, but this should not be a reason to add a codec-specific
option, the cli should be fixed instead.

> If user option for decoding precision need to be remove,
> i think 422 need to stay in 10b decoding, and 444 need to be
> decode in 12b.

Then the simple option may be to hardcode this pix_fmts for the
moment, but maybe sorting them is already enough.

Carl Eugen


More information about the ffmpeg-devel mailing list