msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 31 May 2018 00:27:37 +0000 (16:27 -0800)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 31 May 2018 00:29:41 +0000 (16:29 -0800)
Using NV12 layout in dmabuf mode giving mis-aligned
VPP output with the media-driver. Keep the NV12 support
(so that we can file the bug agianst msdk or mediadriver),
but lower the ordering so that BGRA picks as default.

NV12 issue can be reproduced with explicit capfilter:
vidoetestsrc ! msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink

sys/msdk/gstmsdkvpp.c

index 4a3e679..5391107 100644 (file)
@@ -65,10 +65,11 @@ static GstStaticPadTemplate gst_msdkvpp_src_factory =
     GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ NV12, YUY2, BGRA, BGRx }") ", "
-        "interlace-mode = (string){ progressive, interleaved, mixed }" ";"
-        GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
-            "{ NV12, BGRA, YUY2}")));
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
+        (GST_CAPS_FEATURE_MEMORY_DMABUF,
+            "{ BGRA, YUY2, NV12}") ";"
+        GST_VIDEO_CAPS_MAKE ("{ NV12, YUY2, BGRA, BGRx }") ", "
+        "interlace-mode = (string){ progressive, interleaved, mixed }" ";"));
 
 enum
 {