Browse Source

swscale: use a (more correct) function for isPacked

tags/n3.3
Clément Bœsch 8 years ago
parent
commit
ff6bc16c5a
2 changed files with 22 additions and 18 deletions
  1. +3
    -18
      libswscale/swscale_internal.h
  2. +19
    -0
      tests/ref/fate/sws-pixdesc-query

+ 3
- 18
libswscale/swscale_internal.h View 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);


+ 19
- 0
tests/ref/fate/sws-pixdesc-query View 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



Loading…
Cancel
Save