From ff8c2c41030289b4a6ea6d547c91c90bc8484f26 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Tue, 19 Jan 2016 23:12:39 +0100 Subject: [PATCH] yuv2rgb: Document the color space coefficients Based on the original documentation found in mpeg2dec (1995). Signed-off-by: Vittorio Giovara --- libswscale/yuv2rgb.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c index e81f3f6f31..3671fe342f 100644 --- a/libswscale/yuv2rgb.c +++ b/libswscale/yuv2rgb.c @@ -35,6 +35,17 @@ #include "swscale_internal.h" #include "libavutil/pixdesc.h" +/* Color space conversion coefficients for YCbCr -> RGB mapping. + * + * Entries are {crv, cbu, cgu, cgv} + * + * crv = (255 / 224) * 65536 * (1 - cr) / 0.5 + * cbu = (255 / 224) * 65536 * (1 - cb) / 0.5 + * cgu = (255 / 224) * 65536 * (cb / cg) * (1 - cb) / 0.5 + * cgv = (255 / 224) * 65536 * (cr / cg) * (1 - cr) / 0.5 + * + * where Y = cr * R + cg * G + cb * B and cr + cg + cb = 1. + */ const int32_t ff_yuv2rgb_coeffs[8][4] = { { 117504, 138453, 13954, 34903 }, /* no sequence_display_extension */ { 117504, 138453, 13954, 34903 }, /* ITU-R Rec. 709 (1990) */