[PATCH] drm/format-helper: Normalize BT.601 factors to 256
Thomas Zimmermann
tzimmermann at suse.de
Fri Jun 13 11:18:55 UTC 2025
This patch also requires an update to the test cases, which is available
at https://patchwork.freedesktop.org/series/150218/
Am 03.06.25 um 18:11 schrieb Thomas Zimmermann:
> BT.601 weights RGB components by certain factors to convert the
> color to grayscale. Normalize the constants to 256 instead of 10.
> Allows for slightly more precise rounding. The division by 256 can
> be compiled as an 8-bit shift, which might be faster on some hardware.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> ---
> drivers/gpu/drm/drm_format_internal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_format_internal.h b/drivers/gpu/drm/drm_format_internal.h
> index 9f857bfa368d..3020ff267513 100644
> --- a/drivers/gpu/drm/drm_format_internal.h
> +++ b/drivers/gpu/drm/drm_format_internal.h
> @@ -42,7 +42,7 @@ static inline u32 drm_pixel_xrgb8888_to_r8_bt601(u32 pix)
> u32 b = pix & 0x000000ff;
>
> /* ITU-R BT.601: Y = 0.299 R + 0.587 G + 0.114 B */
> - return (3 * r + 6 * g + b) / 10;
> + return (77 * r + 150 * g + 29 * b) / 256;
> }
>
> static inline u32 drm_pixel_xrgb8888_to_rgb332(u32 pix)
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the dri-devel
mailing list