You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	vf_scale_vaapi: Respect driver quirks around buffer destruction
This commit is contained in:
		| @@ -342,13 +342,14 @@ static int scale_vaapi_filter_frame(AVFilterLink *inlink, AVFrame *input_frame) | ||||
|         goto fail_after_render; | ||||
|     } | ||||
|  | ||||
|     // This doesn't get freed automatically for some reason. | ||||
|     vas = vaDestroyBuffer(ctx->hwctx->display, params_id); | ||||
|     if (vas != VA_STATUS_SUCCESS) { | ||||
|         av_log(ctx, AV_LOG_ERROR, "Failed to free parameter buffer: " | ||||
|                "%d (%s).\n", vas, vaErrorStr(vas)); | ||||
|         err = AVERROR(EIO); | ||||
|         goto fail; | ||||
|     if (ctx->hwctx->driver_quirks & | ||||
|         AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { | ||||
|         vas = vaDestroyBuffer(ctx->hwctx->display, params_id); | ||||
|         if (vas != VA_STATUS_SUCCESS) { | ||||
|             av_log(ctx, AV_LOG_ERROR, "Failed to free parameter buffer: " | ||||
|                    "%d (%s).\n", vas, vaErrorStr(vas)); | ||||
|             // And ignore. | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     av_frame_copy_props(output_frame, input_frame); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user