Add three new limited-range YUV-to-RGB conversion presets to the
Fixed Matrix colorop enum:

  - DRM_COLOROP_FM_YCBCR601_LIMITED_RGB
  - DRM_COLOROP_FM_YCBCR709_LIMITED_RGB
  - DRM_COLOROP_FM_YCBCR2020_NC_LIMITED_RGB

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Harry Wentland <[email protected]>
Reviewed-by: Alex Hung <[email protected]>
---
 drivers/gpu/drm/drm_colorop.c |  3 +++
 include/drm/drm_colorop.h     | 30 ++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/drivers/gpu/drm/drm_colorop.c b/drivers/gpu/drm/drm_colorop.c
index c11c3012fcc5..9cf89153b365 100644
--- a/drivers/gpu/drm/drm_colorop.c
+++ b/drivers/gpu/drm/drm_colorop.c
@@ -93,8 +93,11 @@ static const struct drm_prop_enum_list 
drm_colorop_lut3d_interpolation_list[] =
 
 static const char * const colorop_fixed_matrix_type_names[] = {
        [DRM_COLOROP_FM_YCBCR601_FULL_RGB] = "YCbCr 601 Full to RGB",
+       [DRM_COLOROP_FM_YCBCR601_LIMITED_RGB] = "YCbCr 601 Limited to RGB",
        [DRM_COLOROP_FM_YCBCR709_FULL_RGB] = "YCbCr 709 Full to RGB",
+       [DRM_COLOROP_FM_YCBCR709_LIMITED_RGB] = "YCbCr 709 Limited to RGB",
        [DRM_COLOROP_FM_YCBCR2020_NC_FULL_RGB] = "YCbCr 2020 NC Full to RGB",
+       [DRM_COLOROP_FM_YCBCR2020_NC_LIMITED_RGB] = "YCbCr 2020 NC Limited to 
RGB",
        [DRM_COLOROP_FM_YCBCR_LIMITED_FULL] = "YCbCr limited to full",
        [DRM_COLOROP_FM_RGB709_RGB2020] = "RGB709 to RGB2020",
 };
diff --git a/include/drm/drm_colorop.h b/include/drm/drm_colorop.h
index 88933d5b4d8b..5c542c264a36 100644
--- a/include/drm/drm_colorop.h
+++ b/include/drm/drm_colorop.h
@@ -150,6 +150,16 @@ enum drm_colorop_fixed_matrix_type {
         */
        DRM_COLOROP_FM_YCBCR601_FULL_RGB,
 
+       /**
+        * @DRM_COLOROP_FM_YCBCR601_LIMITED_RGB:
+        *
+        * enum string "YCbCr 601 Limited to RGB"
+        *
+        * This selects the matrix that converts limited range YCbCr into RGB
+        * according to the BT.601 coefficients.
+        */
+       DRM_COLOROP_FM_YCBCR601_LIMITED_RGB,
+
        /**
         * @DRM_COLOROP_FM_YCBCR709_FULL_RGB:
         *
@@ -160,6 +170,16 @@ enum drm_colorop_fixed_matrix_type {
         */
        DRM_COLOROP_FM_YCBCR709_FULL_RGB,
 
+       /**
+        * @DRM_COLOROP_FM_YCBCR709_LIMITED_RGB:
+        *
+        * enum string "YCbCr 709 Limited to RGB"
+        *
+        * This selects the matrix that converts limited range YCbCr into RGB
+        * according to the BT.709 coefficients.
+        */
+       DRM_COLOROP_FM_YCBCR709_LIMITED_RGB,
+
        /**
         * @DRM_COLOROP_FM_YCBCR2020_NC_FULL_RGB:
         *
@@ -170,6 +190,16 @@ enum drm_colorop_fixed_matrix_type {
         */
        DRM_COLOROP_FM_YCBCR2020_NC_FULL_RGB,
 
+       /**
+        * @DRM_COLOROP_FM_YCBCR2020_NC_LIMITED_RGB:
+        *
+        * enum string "YCbCr 2020 NC Limited to RGB"
+        *
+        * This selects the matrix that converts limited range YCbCr into RGB
+        * according to the BT.2020 non-constant luminance coefficients.
+        */
+       DRM_COLOROP_FM_YCBCR2020_NC_LIMITED_RGB,
+
        /**
         * @DRM_COLOROP_FM_YCBCR_LIMITED_FULL:
         *
-- 
2.54.0

Reply via email to