Unverified Commit dc7d4b65 authored by Paul Kocialkowski's avatar Paul Kocialkowski Committed by Maxime Ripard
Browse files

drm/sun4i: backend: Detail the YUV to RGB values coding explanation



The values in the BT601 YUV to RGB colorspace translation are not
simply coded as multiples, but rather as fixed-point signed fractional
values on a given number of bits. Add an explanation about that.

Signed-off-by: default avatarPaul Kocialkowski <contact@paulk.fr>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181123092515.2511-24-paul.kocialkowski@bootlin.com
parent b636d3f9
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -48,8 +48,12 @@ static const u32 sunxi_rgb2yuv_coef[12] = {
/*
 * These coefficients are taken from the A33 BSP from Allwinner.
 *
 * The formula is for each component, each coefficient being multiplied by
 * 1024 and each constant being multiplied by 16:
 * The first three values of each row are coded as 13-bit signed fixed-point
 * numbers, with 10 bits for the fractional part. The fourth value is a
 * constant coded as a 14-bit signed fixed-point number with 4 bits for the
 * fractional part.
 *
 * The values in table order give the following colorspace translation:
 * G = 1.164 * Y - 0.391 * U - 0.813 * V + 135
 * R = 1.164 * Y + 1.596 * V - 222
 * B = 1.164 * Y + 2.018 * U + 276