[FFmpeg-devel] [PATCH] ffmpeg: default hwaccel_output_format to cuda when hwaccel is cuvid

Timo Rothenpieler timo at rothenpieler.org
Sat Mar 7 00:42:20 EET 2020


On 06.03.2020 23:39, James Almer wrote:
> On 3/6/2020 7:35 PM, Timo Rothenpieler wrote:
>> On 06.03.2020 23:17, James Almer wrote:
>>> On 3/6/2020 11:45 AM, James Almer wrote:
>>>> On 3/6/2020 10:35 AM, Timo Rothenpieler wrote:
>>>>> This ensures old commandlines using -hwaccel cuvid don't break due to
>>>>> the recent removal of the the cuvid-specific hwaccel bringup.
>>>>> ---
>>>>>    fftools/ffmpeg_opt.c | 26 ++++++++++++++------------
>>>>>    1 file changed, 14 insertions(+), 12 deletions(-)
>>>>>
>>>>> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
>>>>> index 1b721c4954..c8fe263730 100644
>>>>> --- a/fftools/ffmpeg_opt.c
>>>>> +++ b/fftools/ffmpeg_opt.c
>>>>> @@ -816,6 +816,20 @@ static void add_input_streams(OptionsContext
>>>>> *o, AVFormatContext *ic)
>>>>>                ist->top_field_first = -1;
>>>>>                MATCH_PER_STREAM_OPT(top_field_first, i,
>>>>> ist->top_field_first, ic, st);
>>>>>    +            MATCH_PER_STREAM_OPT(hwaccel_output_formats, str,
>>>>> +                                 hwaccel_output_format, ic, st);
>>>>> +            if (!hwaccel_output_format && hwaccel &&
>>>>> !strcmp(hwaccel, "cuvid")) {
>>>>
>>>> Isn't hwaccel first set in the MATCH_PER_STREAM_OPT() call bellow?
>>>
>>> This change also needs both a code comment explaining why it's being
>>> done, and a log message informing the CLI user a hardware pix_fmt is
>>> forcefully being chosen for backwards compat reasons, that it's
>>> deprecated behavior, and that it will stop working after a while.
>>
>> It can still be overridden by the user, but yeah, a deprecation warning
>> is probably in order.
>> For both cuvid and nvdec actually.
> 
> nvdec didn't default to the cuda pixfmt, afaik, so not necessary for
> that one. Or you mean you want to deprecate the nvdec alias and keep
> only "cuda"?

Yes, as seen on recent github threads, the multitude of different 
-hwaccel names, which do the exact same thing, causes great confusion.


More information about the ffmpeg-devel mailing list