/* @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 },
* 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:
{
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),
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;