This patch cleans up several macros consisting of PixelFormat lists
with simpler checks derived from av_pix_fmt_descriptors.
---
libswscale/swscale_internal.h | 168 +++------------------
libswscale/utils.c | 326 ++++++++++++++++++++++++++---------------
2 files changed, 231 insertions(+), 263 deletions(-)
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
index 9492303..bbd7ddc 100644
--- a/libswscale/swscale_internal.h
+++ b/libswscale/swscale_internal.h
@@ -494,149 +494,31 @@ void ff_bfin_get_unscaled_swscale(SwsContext *c);
const char *sws_format_name(enum PixelFormat format);
-//FIXME replace this with something faster
-#define is16BPS(x) ( \
- (x)==PIX_FMT_GRAY16BE \
- || (x)==PIX_FMT_GRAY16LE \
- || (x)==PIX_FMT_BGR48BE \
- || (x)==PIX_FMT_BGR48LE \
- || (x)==PIX_FMT_RGB48BE \
- || (x)==PIX_FMT_RGB48LE \
- || (x)==PIX_FMT_YUV420P16LE \
- || (x)==PIX_FMT_YUV422P16LE \
- || (x)==PIX_FMT_YUV444P16LE \
- || (x)==PIX_FMT_YUV420P16BE \
- || (x)==PIX_FMT_YUV422P16BE \
- || (x)==PIX_FMT_YUV444P16BE \
- )
-#define is9_OR_10BPS(x) ( \
- (x)==PIX_FMT_YUV420P9LE \
- || (x)==PIX_FMT_YUV420P9BE \
- || (x)==PIX_FMT_YUV444P9BE \
- || (x)==PIX_FMT_YUV444P9LE \
- || (x)==PIX_FMT_YUV422P10BE \
- || (x)==PIX_FMT_YUV422P10LE \
- || (x)==PIX_FMT_YUV444P10BE \
- || (x)==PIX_FMT_YUV444P10LE \
- || (x)==PIX_FMT_YUV420P10LE \
- || (x)==PIX_FMT_YUV420P10BE \
- )
-#define isBE(x) ((x)&1)
-#define isPlanar8YUV(x) ( \
- (x)==PIX_FMT_YUV410P \
- || (x)==PIX_FMT_YUV420P \
- || (x)==PIX_FMT_YUVA420P \
- || (x)==PIX_FMT_YUV411P \
- || (x)==PIX_FMT_YUV422P \
- || (x)==PIX_FMT_YUV444P \
- || (x)==PIX_FMT_YUV440P \
- || (x)==PIX_FMT_NV12 \
- || (x)==PIX_FMT_NV21 \
- )
-#define isPlanarYUV(x) ( \
- isPlanar8YUV(x) \
- || (x)==PIX_FMT_YUV420P9LE \
- || (x)==PIX_FMT_YUV444P9LE \
- || (x)==PIX_FMT_YUV420P10LE \
- || (x)==PIX_FMT_YUV422P10LE \
- || (x)==PIX_FMT_YUV444P10LE \
- || (x)==PIX_FMT_YUV420P16LE \
- || (x)==PIX_FMT_YUV422P16LE \
- || (x)==PIX_FMT_YUV444P16LE \
- || (x)==PIX_FMT_YUV420P9BE \
- || (x)==PIX_FMT_YUV444P9BE \
- || (x)==PIX_FMT_YUV420P10BE \
- || (x)==PIX_FMT_YUV422P10BE \
- || (x)==PIX_FMT_YUV444P10BE \
- || (x)==PIX_FMT_YUV420P16BE \
- || (x)==PIX_FMT_YUV422P16BE \
- || (x)==PIX_FMT_YUV444P16BE \
- )
-#define isYUV(x) ( \
- (x)==PIX_FMT_UYVY422 \
- || (x)==PIX_FMT_YUYV422 \
- || isPlanarYUV(x) \
- )
-#define isGray(x) ( \
- (x)==PIX_FMT_GRAY8 \
- || (x)==PIX_FMT_Y400A \
- || (x)==PIX_FMT_GRAY16BE \
- || (x)==PIX_FMT_GRAY16LE \
- )
-#define isGray16(x) ( \
- (x)==PIX_FMT_GRAY16BE \
- || (x)==PIX_FMT_GRAY16LE \
- )
-#define isRGBinInt(x) ( \
- (x)==PIX_FMT_RGB48BE \
- || (x)==PIX_FMT_RGB48LE \
- || (x)==PIX_FMT_RGB32 \
- || (x)==PIX_FMT_RGB32_1 \
- || (x)==PIX_FMT_RGB24 \
- || (x)==PIX_FMT_RGB565BE \
- || (x)==PIX_FMT_RGB565LE \
- || (x)==PIX_FMT_RGB555BE \
- || (x)==PIX_FMT_RGB555LE \
- || (x)==PIX_FMT_RGB444BE \
- || (x)==PIX_FMT_RGB444LE \
- || (x)==PIX_FMT_RGB8 \
- || (x)==PIX_FMT_RGB4 \
- || (x)==PIX_FMT_RGB4_BYTE \
- || (x)==PIX_FMT_MONOBLACK \
- || (x)==PIX_FMT_MONOWHITE \
- )
-#define isBGRinInt(x) ( \
- (x)==PIX_FMT_BGR48BE \
- || (x)==PIX_FMT_BGR48LE \
- || (x)==PIX_FMT_BGR32 \
- || (x)==PIX_FMT_BGR32_1 \
- || (x)==PIX_FMT_BGR24 \
- || (x)==PIX_FMT_BGR565BE \
- || (x)==PIX_FMT_BGR565LE \
- || (x)==PIX_FMT_BGR555BE \
- || (x)==PIX_FMT_BGR555LE \
- || (x)==PIX_FMT_BGR444BE \
- || (x)==PIX_FMT_BGR444LE \
- || (x)==PIX_FMT_BGR8 \
- || (x)==PIX_FMT_BGR4 \
- || (x)==PIX_FMT_BGR4_BYTE \
- || (x)==PIX_FMT_MONOBLACK \
- || (x)==PIX_FMT_MONOWHITE \
- )
-#define isRGBinBytes(x) ( \
- (x)==PIX_FMT_RGB48BE \
- || (x)==PIX_FMT_RGB48LE \
- || (x)==PIX_FMT_RGBA \
- || (x)==PIX_FMT_ARGB \
- || (x)==PIX_FMT_RGB24 \
- )
-#define isBGRinBytes(x) ( \
- (x)==PIX_FMT_BGR48BE \
- || (x)==PIX_FMT_BGR48LE \
- || (x)==PIX_FMT_BGRA \
- || (x)==PIX_FMT_ABGR \
- || (x)==PIX_FMT_BGR24 \
- )
-#define isAnyRGB(x) ( \
- isRGBinInt(x) \
- || isBGRinInt(x) \
- )
-#define isALPHA(x) ( \
- (x)==PIX_FMT_BGR32 \
- || (x)==PIX_FMT_BGR32_1 \
- || (x)==PIX_FMT_RGB32 \
- || (x)==PIX_FMT_RGB32_1 \
- || (x)==PIX_FMT_Y400A \
- || (x)==PIX_FMT_YUVA420P \
- )
-#define isPacked(x) ( \
- (x)==PIX_FMT_PAL8 \
- || (x)==PIX_FMT_YUYV422 \
- || (x)==PIX_FMT_UYVY422 \
- || (x)==PIX_FMT_Y400A \
- || isAnyRGB(x) \
- )
-#define usePal(x) ((av_pix_fmt_descriptors[x].flags & PIX_FMT_PAL) ||
(x) == PIX_FMT_Y400A)
+#define is16BPS(x) ff_is_16bps(x)
+#define is9_OR_10BPS(x) ff_is_9_or_10bps(x)
+#define isBE(x) ff_is_be(x)
+#define isPlanarYUV(x) ff_is_planar_yuv(x)
+#define isYUV(x) ff_is_yuv(x)
+#define isGray(x) ff_is_gray(x)
+#define isRGBinInt(x) ff_is_rgb_in_int(x)
+#define isBGRinInt(x) ff_is_bgr_in_int(x)
+#define isAnyRGB(x) ff_is_any_rgb(x)
+#define isALPHA(x) ff_has_alpha(x)
+#define isPacked(x) ff_is_packed(x)
+#define usePal(x) ff_use_pal(x)
+
+int ff_is_16bps(enum PixelFormat pix_fmt);
+int ff_is_9_or_10bps(enum PixelFormat pix_fmt);
+int ff_is_be(enum PixelFormat pix_fmt);
+int ff_is_planar_yuv(enum PixelFormat pix_fmt);
+int ff_is_yuv(enum PixelFormat pix_fmt);
+int ff_is_gray(enum PixelFormat pix_fmt);
+int ff_is_rgb_in_int(enum PixelFormat pix_fmt);
+int ff_is_bgr_in_int(enum PixelFormat pix_fmt);
+int ff_is_any_rgb(enum PixelFormat pix_fmt);
+int ff_has_alpha(enum PixelFormat pix_fmt);
+int ff_is_packed(enum PixelFormat pix_fmt);
+int ff_use_pal(enum PixelFormat pix_fmt);
extern const uint64_t ff_dither4[2];
extern const uint64_t ff_dither8[2];
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 296c845..44581c6 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -63,131 +63,217 @@ const char *swscale_license(void)
#define RET 0xC3 //near return opcode for x86
-#define isSupportedIn(x) ( \
- (x)==PIX_FMT_YUV420P \
- || (x)==PIX_FMT_YUVA420P \
- || (x)==PIX_FMT_YUYV422 \
- || (x)==PIX_FMT_UYVY422 \
- || (x)==PIX_FMT_RGB48BE \
- || (x)==PIX_FMT_RGB48LE \
- || (x)==PIX_FMT_RGB32 \
- || (x)==PIX_FMT_RGB32_1 \
- || (x)==PIX_FMT_BGR48BE \
- || (x)==PIX_FMT_BGR48LE \
- || (x)==PIX_FMT_BGR24 \
- || (x)==PIX_FMT_BGR565LE \
- || (x)==PIX_FMT_BGR565BE \
- || (x)==PIX_FMT_BGR555LE \
- || (x)==PIX_FMT_BGR555BE \
- || (x)==PIX_FMT_BGR32 \
- || (x)==PIX_FMT_BGR32_1 \
- || (x)==PIX_FMT_RGB24 \
- || (x)==PIX_FMT_RGB565LE \
- || (x)==PIX_FMT_RGB565BE \
- || (x)==PIX_FMT_RGB555LE \
- || (x)==PIX_FMT_RGB555BE \
- || (x)==PIX_FMT_GRAY8 \
- || (x)==PIX_FMT_Y400A \
- || (x)==PIX_FMT_YUV410P \
- || (x)==PIX_FMT_YUV440P \
- || (x)==PIX_FMT_NV12 \
- || (x)==PIX_FMT_NV21 \
- || (x)==PIX_FMT_GRAY16BE \
- || (x)==PIX_FMT_GRAY16LE \
- || (x)==PIX_FMT_YUV444P \
- || (x)==PIX_FMT_YUV422P \
- || (x)==PIX_FMT_YUV411P \
- || (x)==PIX_FMT_YUVJ420P \
- || (x)==PIX_FMT_YUVJ422P \
- || (x)==PIX_FMT_YUVJ440P \
- || (x)==PIX_FMT_YUVJ444P \
- || (x)==PIX_FMT_PAL8 \
- || (x)==PIX_FMT_BGR8 \
- || (x)==PIX_FMT_RGB8 \
- || (x)==PIX_FMT_BGR4_BYTE \
- || (x)==PIX_FMT_RGB4_BYTE \
- || (x)==PIX_FMT_YUV440P \
- || (x)==PIX_FMT_MONOWHITE \
- || (x)==PIX_FMT_MONOBLACK \
- || (x)==PIX_FMT_YUV420P9LE \
- || (x)==PIX_FMT_YUV444P9LE \
- || (x)==PIX_FMT_YUV420P10LE \
- || (x)==PIX_FMT_YUV422P10LE \
- || (x)==PIX_FMT_YUV444P10LE \
- || (x)==PIX_FMT_YUV420P16LE \
- || (x)==PIX_FMT_YUV422P16LE \
- || (x)==PIX_FMT_YUV444P16LE \
- || (x)==PIX_FMT_YUV420P9BE \
- || (x)==PIX_FMT_YUV444P9BE \
- || (x)==PIX_FMT_YUV420P10BE \
- || (x)==PIX_FMT_YUV444P10BE \
- || (x)==PIX_FMT_YUV422P10BE \
- || (x)==PIX_FMT_YUV420P16BE \
- || (x)==PIX_FMT_YUV422P16BE \
- || (x)==PIX_FMT_YUV444P16BE \
- )
+int ff_is_16bps(enum PixelFormat pix_fmt)
+{
+ return av_pix_fmt_descriptors[pix_fmt].comp[0].depth_minus1 == 15;
+}
-int sws_isSupportedInput(enum PixelFormat pix_fmt)
+int ff_is_9_or_10bps(enum PixelFormat pix_fmt)
+{
+ return av_pix_fmt_descriptors[pix_fmt].comp[0].depth_minus1 == 8
+ || av_pix_fmt_descriptors[pix_fmt].comp[0].depth_minus1 == 9;
+}
+
+int ff_is_be(enum PixelFormat pix_fmt)
+{
+ return av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_BE;
+}
+
+int ff_is_planar_yuv(enum PixelFormat pix_fmt)
+{
+ if (ff_is_yuv(pix_fmt)) {
+ for (int i = 0; i < av_pix_fmt_descriptors[pix_fmt].nb_components; i++)
+ if (av_pix_fmt_descriptors[pix_fmt].comp[i].plane != 0)
+ return 1;
+ }
+ return 0;
+}
+
+int ff_is_yuv(enum PixelFormat pix_fmt)
+{
+ return (av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_CS_BITS)
== PIX_FMT_YUV;
+}
+
+int ff_is_gray(enum PixelFormat pix_fmt)
+{
+ // PIX_FMT_MONOBLACK/WHITE are because of implementation details.
+ // To SWScale they are considered somewhere between gray and rgb
in actual handling.
+ return (av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_CS_BITS)
== PIX_FMT_GRAY
+ && pix_fmt != PIX_FMT_MONOBLACK
+ && pix_fmt != PIX_FMT_MONOWHITE;
+}
+
+int ff_is_rgb_in_int(enum PixelFormat pix_fmt)
+{
+ return ((av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_CS_BITS)
== PIX_FMT_RGB
+ || pix_fmt == PIX_FMT_RGB32
+ || pix_fmt == PIX_FMT_RGB32_1
+ || pix_fmt == PIX_FMT_MONOBLACK
+ || pix_fmt == PIX_FMT_MONOWHITE)
+ && pix_fmt != PIX_FMT_BGR32
+ && pix_fmt != PIX_FMT_BGR32_1
+ && pix_fmt != PIX_FMT_PAL8;
+}
+
+int ff_is_bgr_in_int(enum PixelFormat pix_fmt)
+{
+ return ((av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_CS_BITS)
== PIX_FMT_BGR
+ || pix_fmt == PIX_FMT_BGR32
+ || pix_fmt == PIX_FMT_BGR32_1
+ || pix_fmt == PIX_FMT_MONOBLACK
+ || pix_fmt == PIX_FMT_MONOWHITE)
+ && pix_fmt != PIX_FMT_RGB32
+ && pix_fmt != PIX_FMT_RGB32_1
+ && pix_fmt != PIX_FMT_PAL8;
+}
+
+int ff_is_any_rgb(enum PixelFormat pix_fmt)
+{
+ return ff_is_rgb_in_int(pix_fmt) || ff_is_bgr_in_int(pix_fmt);
+}
+
+int ff_has_alpha(enum PixelFormat pix_fmt)
{
- return isSupportedIn(pix_fmt);
+ return !!(av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_ALPHA);
}
-#define isSupportedOut(x) ( \
- (x)==PIX_FMT_YUV420P \
- || (x)==PIX_FMT_YUVA420P \
- || (x)==PIX_FMT_YUYV422 \
- || (x)==PIX_FMT_UYVY422 \
- || (x)==PIX_FMT_YUV444P \
- || (x)==PIX_FMT_YUV422P \
- || (x)==PIX_FMT_YUV411P \
- || (x)==PIX_FMT_YUVJ420P \
- || (x)==PIX_FMT_YUVJ422P \
- || (x)==PIX_FMT_YUVJ440P \
- || (x)==PIX_FMT_YUVJ444P \
- || isRGBinBytes(x) \
- || isBGRinBytes(x) \
- || (x)==PIX_FMT_RGB565LE \
- || (x)==PIX_FMT_RGB565BE \
- || (x)==PIX_FMT_RGB555LE \
- || (x)==PIX_FMT_RGB555BE \
- || (x)==PIX_FMT_RGB444LE \
- || (x)==PIX_FMT_RGB444BE \
- || (x)==PIX_FMT_BGR565LE \
- || (x)==PIX_FMT_BGR565BE \
- || (x)==PIX_FMT_BGR555LE \
- || (x)==PIX_FMT_BGR555BE \
- || (x)==PIX_FMT_BGR444LE \
- || (x)==PIX_FMT_BGR444BE \
- || (x)==PIX_FMT_RGB8 \
- || (x)==PIX_FMT_BGR8 \
- || (x)==PIX_FMT_RGB4_BYTE \
- || (x)==PIX_FMT_BGR4_BYTE \
- || (x)==PIX_FMT_RGB4 \
- || (x)==PIX_FMT_BGR4 \
- || (x)==PIX_FMT_MONOBLACK \
- || (x)==PIX_FMT_MONOWHITE \
- || (x)==PIX_FMT_NV12 \
- || (x)==PIX_FMT_NV21 \
- || (x)==PIX_FMT_GRAY16BE \
- || (x)==PIX_FMT_GRAY16LE \
- || (x)==PIX_FMT_GRAY8 \
- || (x)==PIX_FMT_YUV410P \
- || (x)==PIX_FMT_YUV440P \
- || (x)==PIX_FMT_YUV420P9LE \
- || (x)==PIX_FMT_YUV420P10LE \
- || (x)==PIX_FMT_YUV420P16LE \
- || (x)==PIX_FMT_YUV422P16LE \
- || (x)==PIX_FMT_YUV444P16LE \
- || (x)==PIX_FMT_YUV420P9BE \
- || (x)==PIX_FMT_YUV420P10BE \
- || (x)==PIX_FMT_YUV420P16BE \
- || (x)==PIX_FMT_YUV422P16BE \
- || (x)==PIX_FMT_YUV444P16BE \
- )
+int ff_is_packed(enum PixelFormat pix_fmt)
+{
+ return ff_is_any_rgb(pix_fmt)
+ || (ff_is_yuv(pix_fmt) && !ff_is_planar_yuv(pix_fmt))
+ || pix_fmt == PIX_FMT_PAL8 || pix_fmt == PIX_FMT_Y400A;
+}
+
+int ff_use_pal(enum PixelFormat pix_fmt)
+{
+ return (av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_PAL) ||
pix_fmt == PIX_FMT_Y400A;
+}
+
+int sws_isSupportedInput(enum PixelFormat pix_fmt)
+{
+ return pix_fmt==PIX_FMT_YUV420P
+ || pix_fmt==PIX_FMT_YUVA420P
+ || pix_fmt==PIX_FMT_YUYV422
+ || pix_fmt==PIX_FMT_UYVY422
+ || pix_fmt==PIX_FMT_RGB48BE
+ || pix_fmt==PIX_FMT_RGB48LE
+ || pix_fmt==PIX_FMT_RGB32
+ || pix_fmt==PIX_FMT_RGB32_1
+ || pix_fmt==PIX_FMT_BGR48BE
+ || pix_fmt==PIX_FMT_BGR48LE
+ || pix_fmt==PIX_FMT_BGR24
+ || pix_fmt==PIX_FMT_BGR565LE
+ || pix_fmt==PIX_FMT_BGR565BE
+ || pix_fmt==PIX_FMT_BGR555LE
+ || pix_fmt==PIX_FMT_BGR555BE
+ || pix_fmt==PIX_FMT_BGR32
+ || pix_fmt==PIX_FMT_BGR32_1
+ || pix_fmt==PIX_FMT_RGB24
+ || pix_fmt==PIX_FMT_RGB565LE
+ || pix_fmt==PIX_FMT_RGB565BE
+ || pix_fmt==PIX_FMT_RGB555LE
+ || pix_fmt==PIX_FMT_RGB555BE
+ || pix_fmt==PIX_FMT_GRAY8
+ || pix_fmt==PIX_FMT_Y400A
+ || pix_fmt==PIX_FMT_YUV410P
+ || pix_fmt==PIX_FMT_YUV440P
+ || pix_fmt==PIX_FMT_NV12
+ || pix_fmt==PIX_FMT_NV21
+ || pix_fmt==PIX_FMT_GRAY16BE
+ || pix_fmt==PIX_FMT_GRAY16LE
+ || pix_fmt==PIX_FMT_YUV444P
+ || pix_fmt==PIX_FMT_YUV422P
+ || pix_fmt==PIX_FMT_YUV411P
+ || pix_fmt==PIX_FMT_YUVJ420P
+ || pix_fmt==PIX_FMT_YUVJ422P
+ || pix_fmt==PIX_FMT_YUVJ440P
+ || pix_fmt==PIX_FMT_YUVJ444P
+ || pix_fmt==PIX_FMT_PAL8
+ || pix_fmt==PIX_FMT_BGR8
+ || pix_fmt==PIX_FMT_RGB8
+ || pix_fmt==PIX_FMT_BGR4_BYTE
+ || pix_fmt==PIX_FMT_RGB4_BYTE
+ || pix_fmt==PIX_FMT_YUV440P
+ || pix_fmt==PIX_FMT_MONOWHITE
+ || pix_fmt==PIX_FMT_MONOBLACK
+ || pix_fmt==PIX_FMT_YUV420P9LE
+ || pix_fmt==PIX_FMT_YUV444P9LE
+ || pix_fmt==PIX_FMT_YUV420P10LE
+ || pix_fmt==PIX_FMT_YUV422P10LE
+ || pix_fmt==PIX_FMT_YUV444P10LE
+ || pix_fmt==PIX_FMT_YUV420P16LE
+ || pix_fmt==PIX_FMT_YUV422P16LE
+ || pix_fmt==PIX_FMT_YUV444P16LE
+ || pix_fmt==PIX_FMT_YUV420P9BE
+ || pix_fmt==PIX_FMT_YUV444P9BE
+ || pix_fmt==PIX_FMT_YUV420P10BE
+ || pix_fmt==PIX_FMT_YUV444P10BE
+ || pix_fmt==PIX_FMT_YUV422P10BE
+ || pix_fmt==PIX_FMT_YUV420P16BE
+ || pix_fmt==PIX_FMT_YUV422P16BE
+ || pix_fmt==PIX_FMT_YUV444P16BE;
+}
int sws_isSupportedOutput(enum PixelFormat pix_fmt)
{
- return isSupportedOut(pix_fmt);
+ return pix_fmt==PIX_FMT_YUV420P
+ || pix_fmt==PIX_FMT_YUVA420P
+ || pix_fmt==PIX_FMT_YUYV422
+ || pix_fmt==PIX_FMT_UYVY422
+ || pix_fmt==PIX_FMT_YUV444P
+ || pix_fmt==PIX_FMT_YUV422P
+ || pix_fmt==PIX_FMT_YUV411P
+ || pix_fmt==PIX_FMT_YUVJ420P
+ || pix_fmt==PIX_FMT_YUVJ422P
+ || pix_fmt==PIX_FMT_YUVJ440P
+ || pix_fmt==PIX_FMT_YUVJ444P
+ || pix_fmt==PIX_FMT_RGB48BE
+ || pix_fmt==PIX_FMT_RGB48LE
+ || pix_fmt==PIX_FMT_RGBA
+ || pix_fmt==PIX_FMT_ARGB
+ || pix_fmt==PIX_FMT_RGB24
+ || pix_fmt==PIX_FMT_BGR48BE
+ || pix_fmt==PIX_FMT_BGR48LE
+ || pix_fmt==PIX_FMT_BGRA
+ || pix_fmt==PIX_FMT_ABGR
+ || pix_fmt==PIX_FMT_BGR24
+ || pix_fmt==PIX_FMT_RGB565LE
+ || pix_fmt==PIX_FMT_RGB565BE
+ || pix_fmt==PIX_FMT_RGB555LE
+ || pix_fmt==PIX_FMT_RGB555BE
+ || pix_fmt==PIX_FMT_RGB444LE
+ || pix_fmt==PIX_FMT_RGB444BE
+ || pix_fmt==PIX_FMT_BGR565LE
+ || pix_fmt==PIX_FMT_BGR565BE
+ || pix_fmt==PIX_FMT_BGR555LE
+ || pix_fmt==PIX_FMT_BGR555BE
+ || pix_fmt==PIX_FMT_BGR444LE
+ || pix_fmt==PIX_FMT_BGR444BE
+ || pix_fmt==PIX_FMT_RGB8
+ || pix_fmt==PIX_FMT_BGR8
+ || pix_fmt==PIX_FMT_RGB4_BYTE
+ || pix_fmt==PIX_FMT_BGR4_BYTE
+ || pix_fmt==PIX_FMT_RGB4
+ || pix_fmt==PIX_FMT_BGR4
+ || pix_fmt==PIX_FMT_MONOBLACK
+ || pix_fmt==PIX_FMT_MONOWHITE
+ || pix_fmt==PIX_FMT_NV12
+ || pix_fmt==PIX_FMT_NV21
+ || pix_fmt==PIX_FMT_GRAY16BE
+ || pix_fmt==PIX_FMT_GRAY16LE
+ || pix_fmt==PIX_FMT_GRAY8
+ || pix_fmt==PIX_FMT_YUV410P
+ || pix_fmt==PIX_FMT_YUV440P
+ || pix_fmt==PIX_FMT_YUV420P9LE
+ || pix_fmt==PIX_FMT_YUV420P10LE
+ || pix_fmt==PIX_FMT_YUV420P16LE
+ || pix_fmt==PIX_FMT_YUV422P16LE
+ || pix_fmt==PIX_FMT_YUV444P16LE
+ || pix_fmt==PIX_FMT_YUV420P9BE
+ || pix_fmt==PIX_FMT_YUV420P10BE
+ || pix_fmt==PIX_FMT_YUV420P16BE
+ || pix_fmt==PIX_FMT_YUV422P16BE
+ || pix_fmt==PIX_FMT_YUV444P16BE;
}
extern const int32_t ff_yuv2rgb_coeffs[8][4];
@@ -792,11 +878,11 @@ int sws_init_context(SwsContext *c, SwsFilter
*srcFilter, SwsFilter *dstFilter)
unscaled = (srcW == dstW && srcH == dstH);
- if (!isSupportedIn(srcFormat)) {
+ if (!sws_isSupportedInput(srcFormat)) {
av_log(c, AV_LOG_ERROR, "%s is not supported as input pixel
format\n", sws_format_name(srcFormat));
return AVERROR(EINVAL);
}
- if (!isSupportedOut(dstFormat)) {
+ if (!sws_isSupportedOutput(dstFormat)) {
av_log(c, AV_LOG_ERROR, "%s is not supported as output pixel
format\n", sws_format_name(dstFormat));
return AVERROR(EINVAL);
}
--
1.7.4.msysgit.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel