On 3/7/2020 9:27 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 | 31 +++++++++++++++++++------------
>  1 file changed, 19 insertions(+), 12 deletions(-)
> 
> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
> index 1b721c4954..043919faeb 100644
> --- a/fftools/ffmpeg_opt.c
> +++ b/fftools/ffmpeg_opt.c
> @@ -817,6 +817,25 @@ static void add_input_streams(OptionsContext *o, 
> AVFormatContext *ic)
>              MATCH_PER_STREAM_OPT(top_field_first, i, ist->top_field_first, 
> ic, st);
>  
>              MATCH_PER_STREAM_OPT(hwaccels, str, hwaccel, ic, st);
> +            MATCH_PER_STREAM_OPT(hwaccel_output_formats, str,
> +                                 hwaccel_output_format, ic, st);
> +
> +            if (!hwaccel_output_format && hwaccel && !strcmp(hwaccel, 
> "cuvid")) {
> +                av_log(NULL, AV_LOG_WARNING,
> +                    "WARNING: defaulting hwaccel_output_format to cuda for 
> compatibility "
> +                    "with old commandlines. This behaviour is DEPRECATED and 
> will be removed "
> +                    "in the future. Please explicitly set 
> \"-hwaccel_output_format cuda\".\n");

So deprecating only the forced output format and leaving the alias alone?

LGTM either way.

> +                ist->hwaccel_output_format = AV_PIX_FMT_CUDA;
> +            } else if (hwaccel_output_format) {
> +                ist->hwaccel_output_format = 
> av_get_pix_fmt(hwaccel_output_format);
> +                if (ist->hwaccel_output_format == AV_PIX_FMT_NONE) {
> +                    av_log(NULL, AV_LOG_FATAL, "Unrecognised hwaccel output "
> +                           "format: %s", hwaccel_output_format);
> +                }
> +            } else {
> +                ist->hwaccel_output_format = AV_PIX_FMT_NONE;
> +            }
> +
>              if (hwaccel) {
>                  // The NVDEC hwaccels use a CUDA device, so remap the name 
> here.
>                  if (!strcmp(hwaccel, "nvdec") || !strcmp(hwaccel, "cuvid"))
> @@ -868,18 +887,6 @@ static void add_input_streams(OptionsContext *o, 
> AVFormatContext *ic)
>                      exit_program(1);
>              }
>  
> -            MATCH_PER_STREAM_OPT(hwaccel_output_formats, str,
> -                                 hwaccel_output_format, ic, st);
> -            if (hwaccel_output_format) {
> -                ist->hwaccel_output_format = 
> av_get_pix_fmt(hwaccel_output_format);
> -                if (ist->hwaccel_output_format == AV_PIX_FMT_NONE) {
> -                    av_log(NULL, AV_LOG_FATAL, "Unrecognised hwaccel output "
> -                           "format: %s", hwaccel_output_format);
> -                }
> -            } else {
> -                ist->hwaccel_output_format = AV_PIX_FMT_NONE;
> -            }
> -
>              ist->hwaccel_pix_fmt = AV_PIX_FMT_NONE;
>  
>              break;
> 

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to