d3d11: Update colorspace map
authorSeungha Yang <seungha@centricular.com>
Fri, 8 Jul 2022 11:11:00 +0000 (20:11 +0900)
committerSeungha Yang <seungha@centricular.com>
Fri, 8 Jul 2022 11:15:28 +0000 (20:15 +0900)
Map DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 to sRGB colorimetry

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2729>

subprojects/gst-plugins-bad/sys/d3d11/gstd3d11pluginutils.cpp

index 96948e9..dee92a6 100644 (file)
@@ -217,21 +217,21 @@ static const GstDxgiColorSpace rgb_colorspace_map[] = {
    */
 
   /* 1) RGB_FULL_G22_NONE_P709 */
+  MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, SRGB, BT709),
+  /* 1-1) Approximation for RGB_FULL_G22_NONE_P709 */
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT709, BT709),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT601, BT709),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT2020_10, BT709),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT2020_12, BT709),
+  MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, SRGB, BT470BG),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT709, BT470BG),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT601, BT470BG),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT2020_10, BT470BG),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, BT2020_12, BT470BG),
 
-  /* 1-1) Approximation for RGB_FULL_G22_NONE_P709 */
-  MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, SRGB, BT709),
-  MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P709, _0_255, UNKNOWN, SRGB, BT470BG),
-
   /* 2) RGB_FULL_G10_NONE_P709 */
   MAKE_COLOR_MAP (RGB_FULL_G10_NONE_P709, _0_255, UNKNOWN, GAMMA10, BT709),
+  /* 2-1 ) Approximation for RGB_FULL_G10_NONE_P709 */
   MAKE_COLOR_MAP (RGB_FULL_G10_NONE_P709, _0_255, UNKNOWN, GAMMA10, BT470BG),
 
   /* 3) RGB_STUDIO_G22_NONE_P709 */
@@ -239,14 +239,13 @@ static const GstDxgiColorSpace rgb_colorspace_map[] = {
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT601, BT709),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT2020_10, BT709),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT2020_12, BT709),
+  /* 3-1) Approximation for RGB_STUDIO_G22_NONE_P709 */
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT709, BT470BG),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT601, BT470BG),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT2020_10,
       BT470BG),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, BT2020_12,
       BT470BG),
-
-  /* 3-1) Approximation for RGB_STUDIO_G22_NONE_P709 */
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, SRGB, BT709),
   MAKE_COLOR_MAP (RGB_STUDIO_G22_NONE_P709, _16_235, UNKNOWN, SRGB, BT470BG),
 
@@ -271,12 +270,12 @@ static const GstDxgiColorSpace rgb_colorspace_map[] = {
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P2020, _0_255, UNKNOWN, BT601, BT2020),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P2020, _0_255, UNKNOWN, BT2020_10, BT2020),
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P2020, _0_255, UNKNOWN, BT2020_12, BT2020),
-
   /* 7-1) Approximation for RGB_FULL_G22_NONE_P2020 */
   MAKE_COLOR_MAP (RGB_FULL_G22_NONE_P2020, _0_255, UNKNOWN, SRGB, BT2020),
 
   /* 8) RGB_STUDIO_G24_NONE_P709 */
   MAKE_COLOR_MAP (RGB_STUDIO_G24_NONE_P709, _16_235, UNKNOWN, SRGB, BT709),
+  /* 8-1) Approximation for RGB_STUDIO_G24_NONE_P709 */
   MAKE_COLOR_MAP (RGB_STUDIO_G24_NONE_P709, _16_235, UNKNOWN, SRGB, BT470BG),
 
   /* 9) RGB_STUDIO_G24_NONE_P2020 */
@@ -716,7 +715,7 @@ gst_d3d11_find_swap_chain_color_space (const GstVideoInfo * info,
         GST_DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709;
     color_space->range = GST_VIDEO_COLOR_RANGE_0_255;
     color_space->matrix = GST_VIDEO_COLOR_MATRIX_RGB;
-    color_space->transfer = GST_VIDEO_TRANSFER_BT709;
+    color_space->transfer = GST_VIDEO_TRANSFER_SRGB;
     color_space->primaries = GST_VIDEO_COLOR_PRIMARIES_BT709;
     return TRUE;
   }