From fcdb681822891dbd0f78b6f3dcfc7786de65c695 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 18 Jul 2013 13:49:28 +0200 Subject: img_format: add a mask for color class Using the term "color class" to avoid confusion with the other colorspace related concepts. Also get rid of MP_IMGFLAG_FMT_MASK, since it was unused. --- video/img_format.h | 4 +++- video/mp_image.c | 3 +-- video/mp_image.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/video/img_format.h b/video/img_format.h index 0cc48d937f..3631872ff0 100644 --- a/video/img_format.h +++ b/video/img_format.h @@ -57,7 +57,9 @@ // set if in native (host) endian, or endian independent #define MP_IMGFLAG_NE MP_SELECT_LE_BE(MP_IMGFLAG_LE, MP_IMGFLAG_BE) -#define MP_IMGFLAG_FMT_MASK 0x3FFF +// Exactly one of these bits is set in mp_imgfmt_desc.flags +#define MP_IMGFLAG_COLOR_CLASS_MASK \ + (MP_IMGFLAG_YUV | MP_IMGFLAG_RGB | MP_IMGFLAG_XYZ) struct mp_imgfmt_desc { int id; // IMGFMT_* diff --git a/video/mp_image.c b/video/mp_image.c index 4b34944ec9..c22f3b4246 100644 --- a/video/mp_image.c +++ b/video/mp_image.c @@ -127,10 +127,9 @@ static void mp_image_alloc_planes(struct mp_image *mpi) void mp_image_setfmt(struct mp_image *mpi, unsigned int out_fmt) { - mpi->flags &= ~MP_IMGFLAG_FMT_MASK; struct mp_imgfmt_desc fmt = mp_imgfmt_get_desc(out_fmt); mpi->fmt = fmt; - mpi->flags |= fmt.flags; + mpi->flags = fmt.flags; mpi->imgfmt = fmt.id; mpi->chroma_x_shift = fmt.chroma_xs; mpi->chroma_y_shift = fmt.chroma_ys; diff --git a/video/mp_image.h b/video/mp_image.h index 141483eedd..85595c5705 100644 --- a/video/mp_image.h +++ b/video/mp_image.h @@ -63,7 +63,7 @@ struct mp_image_params { * image data. mp_image_make_writeable() will do that copy if required. */ typedef struct mp_image { - unsigned int flags; + unsigned int flags; // same as fmt.flags struct mp_imgfmt_desc fmt; // fields redundant to fmt, for convenience or compatibility -- cgit v1.2.3