swscale: Add GRAY10
[ffmpeg.git] / libswscale / swscale_internal.h
index 84f8dd3..7232921 100644 (file)
 
 #include "config.h"
 
-#if HAVE_ALTIVEC_H
-#include <altivec.h>
-#endif
-
 #include "libavutil/avassert.h"
 #include "libavutil/avutil.h"
 #include "libavutil/common.h"
 #include "libavutil/log.h"
 #include "libavutil/pixfmt.h"
 #include "libavutil/pixdesc.h"
+#include "libavutil/ppc/util_altivec.h"
 
 #define STR(s) AV_TOSTRING(s) // AV_STRINGIFY is too long
 
@@ -565,11 +562,11 @@ static av_always_inline int is16BPS(enum AVPixelFormat pix_fmt)
     return desc->comp[0].depth == 16;
 }
 
-static av_always_inline int is9_OR_10BPS(enum AVPixelFormat pix_fmt)
+static av_always_inline int is9_15BPS(enum AVPixelFormat pix_fmt)
 {
     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pix_fmt);
     av_assert0(desc);
-    return desc->comp[0].depth == 9 || desc->comp[0].depth == 10;
+    return desc->comp[0].depth >= 9 && desc->comp[0].depth <= 15;
 }
 
 static av_always_inline int isBE(enum AVPixelFormat pix_fmt)
@@ -603,6 +600,10 @@ static av_always_inline int isRGB(enum AVPixelFormat pix_fmt)
 #define isGray(x)                      \
     ((x) == AV_PIX_FMT_GRAY8       ||  \
      (x) == AV_PIX_FMT_YA8         ||  \
+     (x) == AV_PIX_FMT_GRAY10BE    ||  \
+     (x) == AV_PIX_FMT_GRAY10LE    ||  \
+     (x) == AV_PIX_FMT_GRAY12BE    ||  \
+     (x) == AV_PIX_FMT_GRAY12LE    ||  \
      (x) == AV_PIX_FMT_GRAY16BE    ||  \
      (x) == AV_PIX_FMT_GRAY16LE    ||  \
      (x) == AV_PIX_FMT_YA16BE      ||  \