[media] videodev2.h: add support for the DCI-P3 colorspace
authorHans Verkuil <hans.verkuil@cisco.com>
Sun, 13 Sep 2015 16:41:29 +0000 (13:41 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Wed, 30 Sep 2015 22:42:18 +0000 (19:42 -0300)
This colorspace is used for cinema projectors and is supported by
the DisplayPort standard.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
include/uapi/linux/videodev2.h

index 3228fbebcd6354fca3fad1dc1d7d419a16c64031..4900e154eca7a43245b7536f525fa35fb3d3a044 100644 (file)
@@ -229,6 +229,9 @@ enum v4l2_colorspace {
 
        /* Raw colorspace: for RAW unprocessed images */
        V4L2_COLORSPACE_RAW           = 11,
+
+       /* DCI-P3 colorspace, used by cinema projectors */
+       V4L2_COLORSPACE_DCI_P3        = 12,
 };
 
 /*
@@ -256,6 +259,8 @@ enum v4l2_xfer_func {
         * V4L2_COLORSPACE_SMPTE240M: V4L2_XFER_FUNC_SMPTE240M
         *
         * V4L2_COLORSPACE_RAW: V4L2_XFER_FUNC_NONE
+        *
+        * V4L2_COLORSPACE_DCI_P3: V4L2_XFER_FUNC_DCI_P3
         */
        V4L2_XFER_FUNC_DEFAULT     = 0,
        V4L2_XFER_FUNC_709         = 1,
@@ -263,6 +268,7 @@ enum v4l2_xfer_func {
        V4L2_XFER_FUNC_ADOBERGB    = 3,
        V4L2_XFER_FUNC_SMPTE240M   = 4,
        V4L2_XFER_FUNC_NONE        = 5,
+       V4L2_XFER_FUNC_DCI_P3      = 6,
 };
 
 /*
@@ -272,9 +278,10 @@ enum v4l2_xfer_func {
 #define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) \
        ((colsp) == V4L2_COLORSPACE_ADOBERGB ? V4L2_XFER_FUNC_ADOBERGB : \
         ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : \
-         ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \
-          ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? \
-           V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709))))
+         ((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : \
+          ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \
+           ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? \
+            V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709)))))
 
 enum v4l2_ycbcr_encoding {
        /*
@@ -285,7 +292,7 @@ enum v4l2_ycbcr_encoding {
         * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and
         * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
         *
-        * V4L2_COLORSPACE_REC709: V4L2_YCBCR_ENC_709
+        * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709
         *
         * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC
         *
@@ -325,7 +332,8 @@ enum v4l2_ycbcr_encoding {
  * This depends on the colorspace.
  */
 #define V4L2_MAP_YCBCR_ENC_DEFAULT(colsp) \
-       ((colsp) == V4L2_COLORSPACE_REC709 ? V4L2_YCBCR_ENC_709 : \
+       (((colsp) == V4L2_COLORSPACE_REC709 || \
+         (colsp) == V4L2_COLORSPACE_DCI_P3) ? V4L2_YCBCR_ENC_709 : \
         ((colsp) == V4L2_COLORSPACE_BT2020 ? V4L2_YCBCR_ENC_BT2020 : \
          ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_YCBCR_ENC_SMPTE240M : \
           V4L2_YCBCR_ENC_601)))