ffmpeg: default hwaccel_output_format to cuda when hwaccel is cuvid
This ensures old commandlines using -hwaccel cuvid don't break due to the recent removal of the the cuvid-specific hwaccel bringup.
This commit is contained in:
		
							parent
							
								
									cfd9a65903
								
							
						
					
					
						commit
						cb3c77cfee
					
				@ -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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user