|
|
|
@ -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"); |
|
|
|
|
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; |
|
|
|
|