drm/i915/icl: Fixed Input CSC Co-efficients for BT601/709
authorUma Shankar <uma.shankar@intel.com>
Fri, 28 Jun 2019 08:02:30 +0000 (13:32 +0530)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 10 Jul 2019 12:38:17 +0000 (15:38 +0300)
Input CSC Co-efficients for BT601 and BT709 YCbCR to RGB
conversion were slightly off. Fixed the same.

v2: Fixed the co-eficients as there was issue with reference
matrix, spotted by Ville.

v3: Rebase

Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190628080230.27492-4-uma.shankar@intel.com
drivers/gpu/drm/i915/display/intel_sprite.c

index 57b0d70f4d7bd597fdb2420210e0ebe5aa1f9bd0..5e5ea867aae95231702fba2b886328ecaebf7652 100644 (file)
@@ -441,7 +441,7 @@ icl_program_input_csc(struct intel_plane *plane,
                 */
                [DRM_COLOR_YCBCR_BT709] = {
                        0x7C98, 0x7800, 0x0,
                 */
                [DRM_COLOR_YCBCR_BT709] = {
                        0x7C98, 0x7800, 0x0,
-                       0x9EF8, 0x7800, 0xABF8,
+                       0x9EF8, 0x7800, 0xAC00,
                        0x0, 0x7800,  0x7ED8,
                },
                /*
                        0x0, 0x7800,  0x7ED8,
                },
                /*
@@ -463,26 +463,26 @@ icl_program_input_csc(struct intel_plane *plane,
                /*
                 * BT.601 Limted range YCbCr -> full range RGB
                 * The matrix required is :
                /*
                 * BT.601 Limted range YCbCr -> full range RGB
                 * The matrix required is :
-                * [1.164384, 0.000, 1.596370,
-                *  1.138393, -0.382500, -0.794598,
-                *  1.138393, 1.971696, 0.0000]
+                * [1.164384, 0.000, 1.596027,
+                *  1.164384, -0.39175, -0.812813,
+                *  1.164384, 2.017232, 0.0000]
                 */
                [DRM_COLOR_YCBCR_BT601] = {
                        0x7CC8, 0x7950, 0x0,
                 */
                [DRM_COLOR_YCBCR_BT601] = {
                        0x7CC8, 0x7950, 0x0,
-                       0x8CB8, 0x7918, 0x9C40,
-                       0x0, 0x7918, 0x7FC8,
+                       0x8D00, 0x7950, 0x9C88,
+                       0x0, 0x7950, 0x6810,
                },
                /*
                 * BT.709 Limited range YCbCr -> full range RGB
                 * The matrix required is :
                },
                /*
                 * BT.709 Limited range YCbCr -> full range RGB
                 * The matrix required is :
-                * [1.164, 0.000, 1.833671,
-                *  1.138393, -0.213249, -0.532909,
-                *  1.138393, 2.112402, 0.0000]
+                * [1.164384, 0.000, 1.792741,
+                *  1.164384, -0.213249, -0.532909,
+                *  1.164384, 2.112402, 0.0000]
                 */
                [DRM_COLOR_YCBCR_BT709] = {
                 */
                [DRM_COLOR_YCBCR_BT709] = {
-                       0x7EA8, 0x7950, 0x0,
-                       0x8888, 0x7918, 0xADA8,
-                       0x0, 0x7918,  0x6870,
+                       0x7E58, 0x7950, 0x0,
+                       0x8888, 0x7950, 0xADA8,
+                       0x0, 0x7950,  0x6870,
                },
                /*
                 * BT.2020 Limited range YCbCr -> full range RGB
                },
                /*
                 * BT.2020 Limited range YCbCr -> full range RGB