video: Add support for BT2020 colorspace (UHD)
[platform/upstream/gstreamer.git] / gst-libs / gst / video / video-info.c
index 50e2fe3..c8e2038 100644 (file)
@@ -63,6 +63,7 @@ gst_video_info_init (GstVideoInfo * info)
 #define DEFAULT_RGB     2
 #define DEFAULT_GRAY    3
 #define DEFAULT_UNKNOWN 4
+#define DEFAULT_YUV_UHD 5
 
 static const GstVideoColorimetry default_color[] = {
   MAKE_COLORIMETRY (_16_235, BT601, BT709, SMPTE170M),
@@ -70,6 +71,7 @@ static const GstVideoColorimetry default_color[] = {
   MAKE_COLORIMETRY (_0_255, RGB, SRGB, BT709),
   MAKE_COLORIMETRY (_0_255, BT601, UNKNOWN, UNKNOWN),
   MAKE_COLORIMETRY (_UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN),
+  MAKE_COLORIMETRY (_16_235, BT2020, BT2020_12, BT2020),
 };
 
 static void
@@ -78,7 +80,10 @@ set_default_colorimetry (GstVideoInfo * info)
   const GstVideoFormatInfo *finfo = info->finfo;
 
   if (GST_VIDEO_FORMAT_INFO_IS_YUV (finfo)) {
-    if (info->height > 576) {
+    if (info->height >= 2160) {
+      info->chroma_site = GST_VIDEO_CHROMA_SITE_H_COSITED;
+      info->colorimetry = default_color[DEFAULT_YUV_UHD];
+    } else if (info->height > 576) {
       info->chroma_site = GST_VIDEO_CHROMA_SITE_H_COSITED;
       info->colorimetry = default_color[DEFAULT_YUV_HD];
     } else {