diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2012-01-02 12:03:02 -0800 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2012-01-03 20:01:21 -0800 |
commit | 9ea3501d8765e4a5c7c1f98d6d841468fe1abba0 (patch) | |
tree | dda49aa43a21efc7fce1b7290187da79c22e6cc4 | |
parent | f910dbcdb03f84563543e73aa5aab1a83d2c0854 (diff) | |
download | ffmpeg-9ea3501d8765e4a5c7c1f98d6d841468fe1abba0.tar.gz |
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.c | 62 | ||||
-rw-r--r-- | libswscale/utils.c | 1 |
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 && |