vajpegdec: Fix 4:2:2 for i965.
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 16 Aug 2022 18:05:15 +0000 (20:05 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 17 Aug 2022 18:34:10 +0000 (18:34 +0000)
Since i965 uses NV12 either for 4:2:0 and 4:2:2 chroma (using an
internal color conversion) the chroma validation has to be shortcut.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2899>

subprojects/gst-plugins-bad/sys/va/gstvajpegdec.c

index 15dcea2..e9c7f7a 100644 (file)
@@ -373,7 +373,12 @@ gst_va_jpeg_dec_negotiate (GstVideoDecoder * decoder)
   if (format == GST_VIDEO_FORMAT_UNKNOWN)
     return FALSE;
 
-  if (gst_va_chroma_from_video_format (format) != base->rt_format)
+  /* @XXX: validate if the preferred format has the same requested
+   * chroma, except for i965, since NV12 is either for both 4:2:0 and
+   * 4:2:2 */
+  if (!(GST_VA_DISPLAY_IS_IMPLEMENTATION (base->display, INTEL_I965)
+          && format == GST_VIDEO_FORMAT_NV12)
+      && (gst_va_chroma_from_video_format (format) != base->rt_format))
     return FALSE;
 
   /* hack for RGBP rt_format */