From a354c14e58f9afc6548668f5d6ed9bcc1a1d35f7 Mon Sep 17 00:00:00 2001 From: "Ung, Teng En" Date: Mon, 21 Dec 2020 05:42:00 +0000 Subject: [PATCH] vaapipostproc: Remove YUV to/from RGB color primary quirk since iHD driver has fixed in https://github.com/intel/media-driver/commit/a39fe9bc051a8c3efa8f35122a1585981ec7f816. Part-of: --- gst-libs/gst/vaapi/gstvaapidisplay.c | 1 - gst-libs/gst/vaapi/gstvaapidisplay.h | 8 -------- gst-libs/gst/vaapi/gstvaapifilter.c | 16 ---------------- 3 files changed, 25 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapidisplay.c b/gst-libs/gst/vaapi/gstvaapidisplay.c index 5e8a135..26c216e 100644 --- a/gst-libs/gst/vaapi/gstvaapidisplay.c +++ b/gst-libs/gst/vaapi/gstvaapidisplay.c @@ -805,7 +805,6 @@ set_driver_quirks (GstVaapiDisplay * display) /* @XXX(victor): is this string enough to identify it */ { "AMD", GST_VAAPI_DRIVER_QUIRK_NO_CHECK_SURFACE_PUT_IMAGE }, { "i965", GST_VAAPI_DRIVER_QUIRK_NO_CHECK_VPP_COLOR_STD }, - { "iHD", GST_VAAPI_DRIVER_QUIRK_NO_RGBYUV_VPP_COLOR_PRIMARY }, { "i965", GST_VAAPI_DRIVER_QUIRK_MISSING_RGBA_IMAGE_FORMAT }, { "iHD", GST_VAAPI_DRIVER_QUIRK_JPEG_ENC_SHIFT_VALUE_BY_50 }, { "iHD", GST_VAAPI_DRIVER_QUIRK_HEVC_ENC_SLICE_NOT_SPAN_TILE }, diff --git a/gst-libs/gst/vaapi/gstvaapidisplay.h b/gst-libs/gst/vaapi/gstvaapidisplay.h index 07ecc82..2ca9bd3 100644 --- a/gst-libs/gst/vaapi/gstvaapidisplay.h +++ b/gst-libs/gst/vaapi/gstvaapidisplay.h @@ -94,13 +94,6 @@ typedef struct _GstVaapiDisplay GstVaapiDisplay; * https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2016 * @GST_VAAPI_DRIVER_QUIRK_NO_CHECK_VPP_COLOR_STD: if driver does not * properly report supported vpp color standards. - * @GST_VAAPI_DRIVER_QUIRK_NO_RGBYUV_VPP_COLOR_PRIMARY: if driver can - * only do CSC from YUV to RGB, and vice-versa without changing the - * color standard primaries. This quirk is initially introduced to - * work around a problem in the intel-media-driver (iHD) reported here: - * https://github.com/intel/media-driver/issues/860. Once the driver - * issue is fixed, we should remove this quirk. Also see this issue: - * https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/238 * @GST_VAAPI_DRIVER_QUIRK_MISSING_RGBA_IMAGE_FORMAT: i965 driver doesn't * report to support ARGB format, but if it's forced to create a RGBA * surface, it works. Driver issue: @@ -116,7 +109,6 @@ typedef enum { GST_VAAPI_DRIVER_QUIRK_NO_CHECK_SURFACE_PUT_IMAGE = (1U << 0), GST_VAAPI_DRIVER_QUIRK_NO_CHECK_VPP_COLOR_STD = (1U << 1), - GST_VAAPI_DRIVER_QUIRK_NO_RGBYUV_VPP_COLOR_PRIMARY = (1U << 2), GST_VAAPI_DRIVER_QUIRK_MISSING_RGBA_IMAGE_FORMAT = (1U << 3), GST_VAAPI_DRIVER_QUIRK_JPEG_ENC_SHIFT_VALUE_BY_50 = (1U << 4), GST_VAAPI_DRIVER_QUIRK_HEVC_ENC_SLICE_NOT_SPAN_TILE = (1U << 5), diff --git a/gst-libs/gst/vaapi/gstvaapifilter.c b/gst-libs/gst/vaapi/gstvaapifilter.c index e3be777..a9443e4 100644 --- a/gst-libs/gst/vaapi/gstvaapifilter.c +++ b/gst-libs/gst/vaapi/gstvaapifilter.c @@ -1642,22 +1642,6 @@ gst_vaapi_filter_fill_color_standards (GstVaapiFilter * filter, fill_color_standard (&filter->output_colorimetry, &pipeline_param->output_color_standard, &pipeline_param->output_color_properties); - - /* Handle RGB <-> YUV color primary driver quirk */ - if (gst_vaapi_display_has_driver_quirks (filter->display, - GST_VAAPI_DRIVER_QUIRK_NO_RGBYUV_VPP_COLOR_PRIMARY)) { - gboolean src_is_rgb = gst_video_colorimetry_matches - (&filter->input_colorimetry, GST_VIDEO_COLORIMETRY_SRGB); - gboolean dst_is_rgb = gst_video_colorimetry_matches - (&filter->output_colorimetry, GST_VIDEO_COLORIMETRY_SRGB); - - if ((!src_is_rgb && dst_is_rgb) || (src_is_rgb && !dst_is_rgb)) { - pipeline_param->output_color_standard = VAProcColorStandardExplicit; - pipeline_param->output_color_properties.colour_primaries = - gst_video_color_primaries_to_iso (filter-> - input_colorimetry.primaries); - } - } #else pipeline_param->surface_color_standard = VAProcColorStandardNone; pipeline_param->output_color_standard = VAProcColorStandardNone; -- 2.7.4