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
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to