swscale: add bt2020 yuv2rgb coefficients.
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 31 Mar 2016 20:01:09 +0000 (16:01 -0400)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 1 Apr 2016 19:39:48 +0000 (15:39 -0400)
libswscale/swscale.h
libswscale/swscale_internal.h
libswscale/version.h
libswscale/yuv2rgb.c

index 8449948..87511a8 100644 (file)
@@ -91,6 +91,7 @@ const char *swscale_license(void);
 #define SWS_CS_SMPTE170M      5
 #define SWS_CS_SMPTE240M      7
 #define SWS_CS_DEFAULT        5
+#define SWS_CS_BT2020         9
 
 /**
  * Return a pointer to yuv<->rgb coefficients for the given colorspace
index 6647c72..566c6d5 100644 (file)
@@ -861,7 +861,7 @@ extern const uint8_t ff_dither_8x8_73[9][8];
 extern const uint8_t ff_dither_8x8_128[9][8];
 extern const uint8_t ff_dither_8x8_220[9][8];
 
-extern const int32_t ff_yuv2rgb_coeffs[8][4];
+extern const int32_t ff_yuv2rgb_coeffs[11][4];
 
 extern const AVClass ff_sws_context_class;
 
index 5c1cfb1..d03a5cb 100644 (file)
@@ -27,7 +27,7 @@
 #include "libavutil/version.h"
 
 #define LIBSWSCALE_VERSION_MAJOR   4
-#define LIBSWSCALE_VERSION_MINOR   0
+#define LIBSWSCALE_VERSION_MINOR   1
 #define LIBSWSCALE_VERSION_MICRO 100
 
 #define LIBSWSCALE_VERSION_INT  AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
index a0242bf..1fe5abe 100644 (file)
@@ -46,7 +46,7 @@
  *
  * where Y = cr * R + cg * G + cb * B and cr + cg + cb = 1.
  */
-const int32_t ff_yuv2rgb_coeffs[8][4] = {
+const int32_t ff_yuv2rgb_coeffs[11][4] = {
     { 117489, 138438, 13975, 34925 }, /* no sequence_display_extension */
     { 117489, 138438, 13975, 34925 }, /* ITU-R Rec. 709 (1990) */
     { 104597, 132201, 25675, 53279 }, /* unspecified */
@@ -54,12 +54,15 @@ const int32_t ff_yuv2rgb_coeffs[8][4] = {
     { 104448, 132798, 24759, 53109 }, /* FCC */
     { 104597, 132201, 25675, 53279 }, /* ITU-R Rec. 624-4 System B, G */
     { 104597, 132201, 25675, 53279 }, /* SMPTE 170M */
-    { 117579, 136230, 16907, 35559 }  /* SMPTE 240M (1987) */
+    { 117579, 136230, 16907, 35559 }, /* SMPTE 240M (1987) */
+    {      0                       }, /* YCgCo */
+    { 110013, 140363, 12277, 42626 }, /* Bt-2020-NCL */
+    { 110013, 140363, 12277, 42626 }, /* Bt-2020-CL */
 };
 
 const int *sws_getCoefficients(int colorspace)
 {
-    if (colorspace > 7 || colorspace < 0)
+    if (colorspace > 10 || colorspace < 0 || colorspace == 8)
         colorspace = SWS_CS_DEFAULT;
     return ff_yuv2rgb_coeffs[colorspace];
 }