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: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181123092515.2511-24-paul.kocialkowski@bootlin.com
This commit is contained in:
committed by
Maxime Ripard
parent
b636d3f97d
commit
dc7d4b655a
@@ -48,8 +48,12 @@ static const u32 sunxi_rgb2yuv_coef[12] = {
|
|||||||
/*
|
/*
|
||||||
* These coefficients are taken from the A33 BSP from Allwinner.
|
* These coefficients are taken from the A33 BSP from Allwinner.
|
||||||
*
|
*
|
||||||
* The formula is for each component, each coefficient being multiplied by
|
* The first three values of each row are coded as 13-bit signed fixed-point
|
||||||
* 1024 and each constant being multiplied by 16:
|
* 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
|
* G = 1.164 * Y - 0.391 * U - 0.813 * V + 135
|
||||||
* R = 1.164 * Y + 1.596 * V - 222
|
* R = 1.164 * Y + 1.596 * V - 222
|
||||||
* B = 1.164 * Y + 2.018 * U + 276
|
* B = 1.164 * Y + 2.018 * U + 276
|
||||||
|
|||||||
Reference in New Issue
Block a user