]> git.sesse.net Git - ffmpeg/commitdiff
swscale: use a (more correct) function for isPacked
authorClément Bœsch <u@pkh.me>
Sun, 19 Mar 2017 14:28:19 +0000 (15:28 +0100)
committerClément Bœsch <u@pkh.me>
Mon, 20 Mar 2017 07:02:30 +0000 (08:02 +0100)
libswscale/swscale_internal.h
tests/ref/fate/sws-pixdesc-query

index b1fec421fead92c2fe54a49d90afeb896b7c42eb..ea5df26a2734d07d4596f6ca7e17714da764631a 100644 (file)
@@ -784,30 +784,15 @@ static av_always_inline int isALPHA(enum AVPixelFormat pix_fmt)
     return desc->flags & AV_PIX_FMT_FLAG_ALPHA;
 }
 
-#if 1
-#define isPacked(x)         (       \
-           (x)==AV_PIX_FMT_PAL8        \
-        || (x)==AV_PIX_FMT_YUYV422     \
-        || (x)==AV_PIX_FMT_YVYU422     \
-        || (x)==AV_PIX_FMT_UYVY422     \
-        || (x)==AV_PIX_FMT_YA8       \
-        || (x)==AV_PIX_FMT_YA16LE      \
-        || (x)==AV_PIX_FMT_YA16BE      \
-        || (x)==AV_PIX_FMT_AYUV64LE    \
-        || (x)==AV_PIX_FMT_AYUV64BE    \
-        ||  isRGBinInt(x)           \
-        ||  isBGRinInt(x)           \
-    )
-#else
 static av_always_inline int isPacked(enum AVPixelFormat pix_fmt)
 {
     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
     av_assert0(desc);
-    return ((desc->nb_components >= 2 && !(desc->flags & AV_PIX_FMT_FLAG_PLANAR)) ||
-            pix_fmt == AV_PIX_FMT_PAL8);
+    return (desc->nb_components >= 2 && !(desc->flags & AV_PIX_FMT_FLAG_PLANAR)) ||
+            pix_fmt == AV_PIX_FMT_PAL8 ||
+            pix_fmt == AV_PIX_FMT_MONOBLACK || pix_fmt == AV_PIX_FMT_MONOWHITE;
 }
 
-#endif
 static av_always_inline int isPlanar(enum AVPixelFormat pix_fmt)
 {
     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
index 1f0584474b379f0e4e4846649d0cda46fede81b7..d23b4f5a11a299622f521549a2c11729e4362e49 100644 (file)
@@ -594,6 +594,7 @@ Packed:
   monob
   pal8
   uyvy422
+  uyyvyy411
   bgr8
   bgr4
   bgr4_byte
@@ -621,6 +622,8 @@ Packed:
   ya8
   bgr48be
   bgr48le
+  xyz12le
+  xyz12be
   rgba64be
   rgba64le
   bgra64be
@@ -628,6 +631,22 @@ Packed:
   yvyu422
   ya16be
   ya16le
+  0rgb
+  rgb0
+  0bgr
+  bgr0
+  bayer_bggr8
+  bayer_rggb8
+  bayer_gbrg8
+  bayer_grbg8
+  bayer_bggr16le
+  bayer_bggr16be
+  bayer_rggb16le
+  bayer_rggb16be
+  bayer_gbrg16le
+  bayer_gbrg16be
+  bayer_grbg16le
+  bayer_grbg16be
   ayuv64le
   ayuv64be