[PATCH v2 17/21] drm/amd/display: Format input and output CSC matrix
Leo Li
sunpeng.li at amd.com
Tue Jan 24 15:12:57 UTC 2023
On 1/13/23 11:24, Harry Wentland wrote:
> Format the input and output CSC matrix so they
> look like 3x4 matrixes. This will make parsing them
> much easier and allows us to quickly spot potential
> mistakes.
>
> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
> Cc: Pekka Paalanen <ppaalanen at gmail.com>
> Cc: Sebastian Wick <sebastian.wick at redhat.com>
> Cc: Vitaly.Prosyak at amd.com
> Cc: Joshua Ashton <joshua at froggi.es>
> Cc: dri-devel at lists.freedesktop.org
> Cc: amd-gfx at lists.freedesktop.org
Reviewed-by: Leo Li <sunpeng.li at amd.com>
> ---
> .../drm/amd/display/dc/core/dc_hw_sequencer.c | 38 ++++++++-----
> drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h | 54 +++++++++++--------
> 2 files changed, 56 insertions(+), 36 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> index 471078fc3900..a70f045fc5c1 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> @@ -73,28 +73,38 @@ struct out_csc_color_matrix_type {
>
> static const struct out_csc_color_matrix_type output_csc_matrix[] = {
> { COLOR_SPACE_RGB_TYPE,
> - { 0x2000, 0, 0, 0, 0, 0x2000, 0, 0, 0, 0, 0x2000, 0} },
> + { 0x2000, 0, 0, 0,
> + 0, 0x2000, 0, 0,
> + 0, 0, 0x2000, 0} },
> { COLOR_SPACE_RGB_LIMITED_TYPE,
> - { 0x1B67, 0, 0, 0x201, 0, 0x1B67, 0, 0x201, 0, 0, 0x1B67, 0x201} },
> + { 0x1B67, 0, 0, 0x201,
> + 0, 0x1B67, 0, 0x201,
> + 0, 0, 0x1B67, 0x201} },
> { COLOR_SPACE_YCBCR601_TYPE,
> - { 0xE04, 0xF444, 0xFDB9, 0x1004, 0x831, 0x1016, 0x320, 0x201, 0xFB45,
> - 0xF6B7, 0xE04, 0x1004} },
> + { 0xE04, 0xF444, 0xFDB9, 0x1004,
> + 0x831, 0x1016, 0x320, 0x201,
> + 0xFB45, 0xF6B7, 0xE04, 0x1004} },
> { COLOR_SPACE_YCBCR709_TYPE,
> - { 0xE04, 0xF345, 0xFEB7, 0x1004, 0x5D3, 0x1399, 0x1FA,
> - 0x201, 0xFCCA, 0xF533, 0xE04, 0x1004} },
> + { 0xE04, 0xF345, 0xFEB7, 0x1004,
> + 0x5D3, 0x1399, 0x1FA, 0x201,
> + 0xFCCA, 0xF533, 0xE04, 0x1004} },
> /* TODO: correct values below */
> { COLOR_SPACE_YCBCR601_LIMITED_TYPE,
> - { 0xE00, 0xF447, 0xFDB9, 0x1000, 0x991,
> - 0x12C9, 0x3A6, 0x200, 0xFB47, 0xF6B9, 0xE00, 0x1000} },
> + { 0xE00, 0xF447, 0xFDB9, 0x1000,
> + 0x991, 0x12C9, 0x3A6, 0x200,
> + 0xFB47, 0xF6B9, 0xE00, 0x1000} },
> { COLOR_SPACE_YCBCR709_LIMITED_TYPE,
> - { 0xE00, 0xF349, 0xFEB7, 0x1000, 0x6CE, 0x16E3,
> - 0x24F, 0x200, 0xFCCB, 0xF535, 0xE00, 0x1000} },
> + { 0xE00, 0xF349, 0xFEB7, 0x1000,
> + 0x6CE, 0x16E3, 0x24F, 0x200,
> + 0xFCCB, 0xF535, 0xE00, 0x1000} },
> { COLOR_SPACE_YCBCR2020_TYPE,
> - { 0x1000, 0xF149, 0xFEB7, 0x0000, 0x0868, 0x15B2,
> - 0x01E6, 0x0000, 0xFB88, 0xF478, 0x1000, 0x0000} },
> + { 0x1000, 0xF149, 0xFEB7, 0x0000,
> + 0x0868, 0x15B2, 0x01E6, 0x0000,
> + 0xFB88, 0xF478, 0x1000, 0x0000} },
> { COLOR_SPACE_YCBCR709_BLACK_TYPE,
> - { 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
> - 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x1000} },
> + { 0x0000, 0x0000, 0x0000, 0x1000,
> + 0x0000, 0x0000, 0x0000, 0x0200,
> + 0x0000, 0x0000, 0x0000, 0x1000} },
> };
>
> static bool is_rgb_type(
> diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h b/drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
> index 131fcfa28bca..f4aa76e02518 100644
> --- a/drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
> +++ b/drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
> @@ -70,28 +70,38 @@ struct dpp_input_csc_matrix {
> };
>
> static const struct dpp_input_csc_matrix __maybe_unused dpp_input_csc_matrix[] = {
> - {COLOR_SPACE_SRGB,
> - {0x2000, 0, 0, 0, 0, 0x2000, 0, 0, 0, 0, 0x2000, 0} },
> - {COLOR_SPACE_SRGB_LIMITED,
> - {0x2000, 0, 0, 0, 0, 0x2000, 0, 0, 0, 0, 0x2000, 0} },
> - {COLOR_SPACE_YCBCR601,
> - {0x2cdd, 0x2000, 0, 0xe991, 0xe926, 0x2000, 0xf4fd, 0x10ef,
> - 0, 0x2000, 0x38b4, 0xe3a6} },
> - {COLOR_SPACE_YCBCR601_LIMITED,
> - {0x3353, 0x2568, 0, 0xe400, 0xe5dc, 0x2568, 0xf367, 0x1108,
> - 0, 0x2568, 0x40de, 0xdd3a} },
> - {COLOR_SPACE_YCBCR709,
> - {0x3265, 0x2000, 0, 0xe6ce, 0xf105, 0x2000, 0xfa01, 0xa7d, 0,
> - 0x2000, 0x3b61, 0xe24f} },
> - {COLOR_SPACE_YCBCR709_LIMITED,
> - {0x39a6, 0x2568, 0, 0xe0d6, 0xeedd, 0x2568, 0xf925, 0x9a8, 0,
> - 0x2568, 0x43ee, 0xdbb2} },
> - {COLOR_SPACE_2020_YCBCR,
> - {0x2F30, 0x2000, 0, 0xE869, 0xEDB7, 0x2000, 0xFABC, 0xBC6, 0,
> - 0x2000, 0x3C34, 0xE1E6} },
> - {COLOR_SPACE_2020_RGB_LIMITEDRANGE,
> - {0x35E0, 0x255F, 0, 0xE2B3, 0xEB20, 0x255F, 0xF9FD, 0xB1E, 0,
> - 0x255F, 0x44BD, 0xDB43} }
> + { COLOR_SPACE_SRGB,
> + { 0x2000, 0, 0, 0,
> + 0, 0x2000, 0, 0,
> + 0, 0, 0x2000, 0 } },
> + { COLOR_SPACE_SRGB_LIMITED,
> + { 0x2000, 0, 0, 0,
> + 0, 0x2000, 0, 0,
> + 0, 0, 0x2000, 0 } },
> + { COLOR_SPACE_YCBCR601,
> + { 0x2cdd, 0x2000, 0, 0xe991,
> + 0xe926, 0x2000, 0xf4fd, 0x10ef,
> + 0, 0x2000, 0x38b4, 0xe3a6 } },
> + { COLOR_SPACE_YCBCR601_LIMITED,
> + { 0x3353, 0x2568, 0, 0xe400,
> + 0xe5dc, 0x2568, 0xf367, 0x1108,
> + 0, 0x2568, 0x40de, 0xdd3a } },
> + { COLOR_SPACE_YCBCR709,
> + { 0x3265, 0x2000, 0, 0xe6ce,
> + 0xf105, 0x2000, 0xfa01, 0xa7d,
> + 0, 0x2000, 0x3b61, 0xe24f } },
> + { COLOR_SPACE_YCBCR709_LIMITED,
> + { 0x39a6, 0x2568, 0, 0xe0d6,
> + 0xeedd, 0x2568, 0xf925, 0x9a8,
> + 0, 0x2568, 0x43ee, 0xdbb2 } },
> + { COLOR_SPACE_2020_YCBCR,
> + { 0x2F30, 0x2000, 0, 0xE869,
> + 0xEDB7, 0x2000, 0xFABC, 0xBC6,
> + 0, 0x2000, 0x3C34, 0xE1E6 } },
> + { COLOR_SPACE_2020_RGB_LIMITEDRANGE,
> + { 0x35E0, 0x255F, 0, 0xE2B3,
> + 0xEB20, 0x255F, 0xF9FD, 0xB1E,
> + 0, 0x255F, 0x44BD, 0xDB43 } }
> };
>
> struct dpp_grph_csc_adjustment {
More information about the amd-gfx
mailing list