[vlc-devel] [PATCH] include: add enums for colorimetry

Rémi Denis-Courmont remi at remlab.net
Sat Apr 16 13:42:11 CEST 2016


---
 include/vlc_es.h     | 45 +++++++++++++++++++++++++++++++++++++++++++++
 include/vlc_plugin.h |  4 ++--
 2 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/include/vlc_es.h b/include/vlc_es.h
index 97cdb78..7e141a4 100644
--- a/include/vlc_es.h
+++ b/include/vlc_es.h
@@ -193,6 +193,48 @@ typedef enum video_transform_t
 } video_transform_t;
 
 /**
+ * Video color primaries (a.k.a. chromacities)
+ */
+typedef enum video_color_primaries_t
+{
+    COLOR_PRIMARIES_UNDEF,
+    COLOR_PRIMARIES_BT601_525,
+    COLOR_PRIMARIES_BT601_625,
+    COLOR_PRIMARIES_BT709,
+    COLOR_PRIMARIES_BT2020,
+    COLOR_PRIMARIES_DCI_P3,
+#define COLOR_SRGB COLOR_BT709
+} video_color_primaries_t;
+
+/**
+ * Video transfer functions
+ */
+typedef enum video_transfer_func_t
+{
+    TRANSFER_FUNC_UNDEF,
+    TRANSFER_FUNC_LINEAR,
+    TRANSFER_FUNC_SRGB /*< Gamma 2.2 */,
+    TRANSFER_FUNC_BT709,
+#define TRANSFER_FUNC_BT2020 TRANSFER_FUNC_BT709
+} video_transfer_func_t;
+
+/**
+ * Video color space (i.e. YCbCr matrices)
+ */
+typedef enum video_color_space_t
+{
+    COLOR_SPACE_UNDEF,
+    COLOR_SPACE_BT601_LIMITED,
+#define COLOR_SPACE_BT601 COLOR_SPACE_BT601_LIMITED
+    COLOR_SPACE_BT601_FULL,
+    COLOR_SPACE_BT709_LIMITED,
+#define COLOR_SPACE_BT709 COLOR_SPACE_BT709_LIMITED
+    COLOR_SPACE_BT709_FULL,
+    COLOR_SPACE_BT2020_LIMITED,
+#define COLOR_SPACE_BT2020 COLOR_SPACE_BT2020_LIMITED
+} video_color_space_t;
+
+/**
  * video format description
  */
 struct video_format_t
@@ -220,6 +262,9 @@ struct video_format_t
     int i_rbshift, i_lbshift;
     video_palette_t *p_palette;              /**< video palette from demuxer */
     video_orientation_t orientation;                /**< picture orientation */
+    video_color_primaries_t primaries;                  /**< color primaries */
+    video_transfer_func_t transfer;                   /**< transfer function */
+    video_color_space_t space;                        /**< YCbCr color space */
 };
 
 /**
diff --git a/include/vlc_plugin.h b/include/vlc_plugin.h
index 950f6ad..23fff51 100644
--- a/include/vlc_plugin.h
+++ b/include/vlc_plugin.h
@@ -186,8 +186,8 @@ enum vlc_module_properties
 /**
  * Current plugin ABI version
  */
-# define MODULE_SYMBOL 3_0_0a
-# define MODULE_SUFFIX "__3_0_0a"
+# define MODULE_SYMBOL 3_0_0b
+# define MODULE_SUFFIX "__3_0_0b"
 
 /*****************************************************************************
  * Add a few defines. You do not want to read this section. Really.
-- 
1.9.1



More information about the vlc-devel mailing list