- output_surface = (VASurfaceID)(uintptr_t)output_frame->data[3];
- av_log(avctx, AV_LOG_DEBUG, "Using surface %#x for procamp output.\n",
- output_surface);
- memset(¶ms, 0, sizeof(params));
- input_region = (VARectangle) {
- .x = 0,
- .y = 0,
- .width = input_frame->width,
- .height = input_frame->height,
- };
-
- params.surface = input_surface;
- params.surface_region = &input_region;
- params.surface_color_standard =
- ff_vaapi_vpp_colour_standard(input_frame->colorspace);
-
- params.output_region = NULL;
- params.output_background_color = 0xff000000;
- params.output_color_standard = params.surface_color_standard;
-
- params.pipeline_flags = 0;
- params.filter_flags = VA_FRAME_PICTURE;
+ err = av_frame_copy_props(output_frame, input_frame);
+ if (err < 0)
+ goto fail;
+
+ err = ff_vaapi_vpp_init_params(avctx, ¶ms,
+ input_frame, output_frame);
+ if (err < 0)
+ goto fail;