nvh265sldec: Fix for decoding 12bits stream
authorSeungha Yang <seungha@centricular.com>
Mon, 31 Jan 2022 15:50:53 +0000 (00:50 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 7 Feb 2022 18:27:48 +0000 (18:27 +0000)
We've been exposing main-444-12 profile as a supported profile
in its sinkpad template but not actaully. Adding code to
covert 12 and 16 bits as well.

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

subprojects/gst-plugins-bad/sys/nvcodec/gstnvh265dec.c

index 70f665e..43fc22b 100644 (file)
@@ -377,6 +377,15 @@ gst_nv_h265_dec_new_sequence (GstH265Decoder * decoder, const GstH265SPS * sps,
       } else {
         GST_FIXME_OBJECT (self, "10 bits supports only 4:2:0 or 4:4:4 format");
       }
+    } else if (self->bitdepth == 12 || self->bitdepth == 16) {
+      if (self->chroma_format_idc == 1) {
+        out_format = GST_VIDEO_FORMAT_P016_LE;
+      } else if (self->chroma_format_idc == 3) {
+        out_format = GST_VIDEO_FORMAT_Y444_16LE;
+      } else {
+        GST_FIXME_OBJECT (self, "%d bits supports only 4:2:0 or 4:4:4 format",
+            self->bitdepth);
+      }
     }
 
     if (out_format == GST_VIDEO_FORMAT_UNKNOWN) {