v4l2object: Add support for hdr10 stream playback
authorHou Qi <qi.hou@nxp.com>
Fri, 19 Mar 2021 02:52:26 +0000 (10:52 +0800)
committerHou Qi <qi.hou@nxp.com>
Mon, 22 Mar 2021 01:15:54 +0000 (09:15 +0800)
Colorimetry of hdr10 video is bt2100-pq with transfer as
GST_VIDEO_TRANSFER_SMPTE2084. So map GST_VIDEO_TRANSFER_SMPTE2084
to V4L2_XFER_FUNC_SMPTE2084 to support hdr10 stream playback.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/888>

sys/v4l2/gstv4l2object.c

index efe01a9..cafdfe2 100644 (file)
@@ -2203,6 +2203,9 @@ gst_v4l2_object_get_colorspace (GstV4l2Object * v4l2object,
     case V4L2_XFER_FUNC_NONE:
       cinfo->transfer = GST_VIDEO_TRANSFER_GAMMA10;
       break;
+    case V4L2_XFER_FUNC_SMPTE2084:
+      cinfo->transfer = GST_VIDEO_TRANSFER_SMPTE2084;
+      break;
     case V4L2_XFER_FUNC_DEFAULT:
       /* nothing, just use defaults for colorspace */
       break;
@@ -3591,6 +3594,9 @@ gst_v4l2_object_set_format_full (GstV4l2Object * v4l2object, GstCaps * caps,
     case GST_VIDEO_TRANSFER_GAMMA10:
       transfer = V4L2_XFER_FUNC_NONE;
       break;
+    case GST_VIDEO_TRANSFER_SMPTE2084:
+      transfer = V4L2_XFER_FUNC_SMPTE2084;
+      break;
     case GST_VIDEO_TRANSFER_BT601:
     case GST_VIDEO_TRANSFER_BT2020_12:
     case GST_VIDEO_TRANSFER_BT2020_10: