summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-01-02 12:03:02 -0800
committerRonald S. Bultje <rsbultje@gmail.com>2012-01-03 20:01:21 -0800
commit9ea3501d8765e4a5c7c1f98d6d841468fe1abba0 (patch)
treedda49aa43a21efc7fce1b7290187da79c22e6cc4
parentf910dbcdb03f84563543e73aa5aab1a83d2c0854 (diff)
swscale: don't show full-chroma-int warning for non-RGB output.
Non-RGB output always uses full chroma interpolation.
-rw-r--r--libswscale/swscale.c62
-rw-r--r--libswscale/utils.c1
2 files changed, 33 insertions, 30 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index f24561b8bf..cb5c6e9cd0 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2223,36 +2223,6 @@ find_c_packed_planar_out_funcs(SwsContext *c,
}
} else {
switch (dstFormat) {
- case PIX_FMT_GRAY16BE:
- *yuv2packed1 = yuv2gray16BE_1_c;
- *yuv2packed2 = yuv2gray16BE_2_c;
- *yuv2packedX = yuv2gray16BE_X_c;
- break;
- case PIX_FMT_GRAY16LE:
- *yuv2packed1 = yuv2gray16LE_1_c;
- *yuv2packed2 = yuv2gray16LE_2_c;
- *yuv2packedX = yuv2gray16LE_X_c;
- break;
- case PIX_FMT_MONOWHITE:
- *yuv2packed1 = yuv2monowhite_1_c;
- *yuv2packed2 = yuv2monowhite_2_c;
- *yuv2packedX = yuv2monowhite_X_c;
- break;
- case PIX_FMT_MONOBLACK:
- *yuv2packed1 = yuv2monoblack_1_c;
- *yuv2packed2 = yuv2monoblack_2_c;
- *yuv2packedX = yuv2monoblack_X_c;
- break;
- case PIX_FMT_YUYV422:
- *yuv2packed1 = yuv2yuyv422_1_c;
- *yuv2packed2 = yuv2yuyv422_2_c;
- *yuv2packedX = yuv2yuyv422_X_c;
- break;
- case PIX_FMT_UYVY422:
- *yuv2packed1 = yuv2uyvy422_1_c;
- *yuv2packed2 = yuv2uyvy422_2_c;
- *yuv2packedX = yuv2uyvy422_X_c;
- break;
case PIX_FMT_RGB48LE:
*yuv2packed1 = yuv2rgb48le_1_c;
*yuv2packed2 = yuv2rgb48le_2_c;
@@ -2369,6 +2339,38 @@ find_c_packed_planar_out_funcs(SwsContext *c,
break;
}
}
+ switch (dstFormat) {
+ case PIX_FMT_GRAY16BE:
+ *yuv2packed1 = yuv2gray16BE_1_c;
+ *yuv2packed2 = yuv2gray16BE_2_c;
+ *yuv2packedX = yuv2gray16BE_X_c;
+ break;
+ case PIX_FMT_GRAY16LE:
+ *yuv2packed1 = yuv2gray16LE_1_c;
+ *yuv2packed2 = yuv2gray16LE_2_c;
+ *yuv2packedX = yuv2gray16LE_X_c;
+ break;
+ case PIX_FMT_MONOWHITE:
+ *yuv2packed1 = yuv2monowhite_1_c;
+ *yuv2packed2 = yuv2monowhite_2_c;
+ *yuv2packedX = yuv2monowhite_X_c;
+ break;
+ case PIX_FMT_MONOBLACK:
+ *yuv2packed1 = yuv2monoblack_1_c;
+ *yuv2packed2 = yuv2monoblack_2_c;
+ *yuv2packedX = yuv2monoblack_X_c;
+ break;
+ case PIX_FMT_YUYV422:
+ *yuv2packed1 = yuv2yuyv422_1_c;
+ *yuv2packed2 = yuv2yuyv422_2_c;
+ *yuv2packedX = yuv2yuyv422_X_c;
+ break;
+ case PIX_FMT_UYVY422:
+ *yuv2packed1 = yuv2uyvy422_1_c;
+ *yuv2packed2 = yuv2uyvy422_2_c;
+ *yuv2packedX = yuv2uyvy422_X_c;
+ break;
+ }
}
#define DEBUG_SWSCALE_BUFFERS 0
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 12b3202b16..073285b102 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -829,6 +829,7 @@ int sws_init_context(SwsContext *c, SwsFilter *srcFilter, SwsFilter *dstFilter)
// reuse chroma for 2 pixels RGB/BGR unless user wants full chroma interpolation
if (flags & SWS_FULL_CHR_H_INT &&
+ isAnyRGB(dstFormat) &&
dstFormat != PIX_FMT_RGBA &&
dstFormat != PIX_FMT_ARGB &&
dstFormat != PIX_FMT_BGRA &&