v4l2object: Add support for hdr10 stream playback

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>
This commit is contained in:
Hou Qi 2021-03-19 10:52:26 +08:00
parent 0a0333d9e4
commit 4c6ff9fb58

View 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: