On Thu, Nov 24, 2011 at 12:21:11PM -0800, Ronald S. Bultje wrote:
> isGray() is left as a FIXME for later.
> ---
>  libavutil/pixdesc.c           |    3 +--
>  libswscale/swscale_internal.h |    9 +++++++++
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> index 2b5c2fd..3a830ba 100644
> --- a/libavutil/pixdesc.c
> +++ b/libavutil/pixdesc.c
> @@ -219,7 +219,6 @@ const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[PIX_FMT_NB] = {
>          .comp = {
>              {0,0,1,0,7},        /* Y */
>          },
> -        .flags = PIX_FMT_PAL,
>      },
>      [PIX_FMT_MONOWHITE] = {
>          .name = "monow",
> @@ -567,7 +566,7 @@ const AVPixFmtDescriptor 
> av_pix_fmt_descriptors[PIX_FMT_NB] = {
>              {0,5,3,0,15},       /* G */
>              {0,5,5,0,15},       /* B */
>          },
> -        .flags = PIX_FMT_BE,
> +        .flags = PIX_FMT_RGB | PIX_FMT_BE,
>      },
>      [PIX_FMT_RGB48LE] = {
>          .name = "rgb48le",
> diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
> index b20e0a3..7bfdc7e 100644
> --- a/libswscale/swscale_internal.h
> +++ b/libswscale/swscale_internal.h
> @@ -552,9 +552,18 @@ const char *sws_format_name(enum PixelFormat format);
>  #define isRGB(x) \
>      (av_pix_fmt_descriptors[x].flags & PIX_FMT_RGB)
>  
> +#if 0 // FIXME
>  #define isGray(x) \
>      (!(av_pix_fmt_descriptors[x].flags & PIX_FMT_PAL) && \
>       av_pix_fmt_descriptors[x].nb_components <= 2)
> +#else
> +#define isGray(x)       (           \
> +           (x)==PIX_FMT_GRAY8       \
> +        || (x)==PIX_FMT_Y400A      \
> +        || (x)==PIX_FMT_GRAY16BE    \
> +        || (x)==PIX_FMT_GRAY16LE    \
> +    )
> +#endif
>  
>  #define isRGBinInt(x)   (           \
>             (x)==PIX_FMT_RGB48BE     \
> -- 

I have a strong suspicion that
#define isGray(x) \
    (!(av_pix_fmt_descriptors[x].flags & PIX_FMT_PAL) && \
     !(av_pix_fmt_descriptors[x].flags & PIX_FMT_BITSTREAM) && \
       av_pix_fmt_descriptors[x].nb_components <= 2)

would do the trick.
But I'm too lazy to test that claim :(
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to