]> Gentwo Git Trees - linux/.git/commitdiff
drm/colorop: add BT2020/BT709 OETF and Inverse OETF
authorHarry Wentland <harry.wentland@amd.com>
Sat, 15 Nov 2025 00:01:58 +0000 (17:01 -0700)
committerSimon Ser <contact@emersion.fr>
Wed, 26 Nov 2025 22:03:35 +0000 (23:03 +0100)
The BT.709 and BT.2020 OETFs are the same, the only difference
being that the BT.2020 variant is defined with more precision
for 10 and 12-bit per color encodings.

Both are used as encoding functions for video content, and are
therefore defined as OETF (opto-electronic transfer function)
instead of as EOTF (electro-optical transfer function).

Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com>
Signed-off-by: Simon Ser <contact@emersion.fr>
Link: https://patch.msgid.link/20251115000237.3561250-34-alex.hung@amd.com
drivers/gpu/drm/drm_colorop.c
include/drm/drm_colorop.h

index feaca07b429c9dd4a16616677cf7889774360db3..46e4942b66e6099cf33fb2425b066fd4899bf873 100644 (file)
@@ -72,6 +72,8 @@ static const char * const colorop_curve_1d_type_names[] = {
        [DRM_COLOROP_1D_CURVE_SRGB_INV_EOTF] = "sRGB Inverse EOTF",
        [DRM_COLOROP_1D_CURVE_PQ_125_EOTF] = "PQ 125 EOTF",
        [DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF] = "PQ 125 Inverse EOTF",
+       [DRM_COLOROP_1D_CURVE_BT2020_INV_OETF] = "BT.2020 Inverse OETF",
+       [DRM_COLOROP_1D_CURVE_BT2020_OETF] = "BT.2020 OETF",
 };
 
 /* Init Helpers */
index 139c9cb38b67bdacc861de562c9b869d84a3c310..067805276b15babcf820a0ba4eca952d48453658 100644 (file)
@@ -82,6 +82,29 @@ enum drm_colorop_curve_1d_type {
         */
        DRM_COLOROP_1D_CURVE_PQ_125_INV_EOTF,
 
+       /**
+        * @DRM_COLOROP_1D_CURVE_BT2020_INV_OETF:
+        *
+        * enum string "BT.2020 Inverse OETF"
+        *
+        * The inverse of &DRM_COLOROP_1D_CURVE_BT2020_OETF
+        */
+       DRM_COLOROP_1D_CURVE_BT2020_INV_OETF,
+
+       /**
+        * @DRM_COLOROP_1D_CURVE_BT2020_OETF:
+        *
+        * enum string "BT.2020 OETF"
+        *
+        * The BT.2020/BT.709 transfer function. The BT.709 and BT.2020
+        * transfer functions are the same, the only difference is that
+        * BT.2020 is defined with more precision for 10 and 12-bit
+        * encodings.
+        *
+        *
+        */
+       DRM_COLOROP_1D_CURVE_BT2020_OETF,
+
        /**
         * @DRM_COLOROP_1D_CURVE_COUNT:
         *