summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-18 13:49:28 +0200
committerwm4 <wm4@nowhere>2013-07-18 13:49:28 +0200
commitfcdb681822891dbd0f78b6f3dcfc7786de65c695 (patch)
treee9089cf02841b59acbb6cef1a85d4761dae34997 /video
parentb606a6ce1a94017ee6519d884661ef828878226a (diff)
downloadmpv-fcdb681822891dbd0f78b6f3dcfc7786de65c695.tar.bz2
mpv-fcdb681822891dbd0f78b6f3dcfc7786de65c695.tar.xz
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.
Diffstat (limited to 'video')
-rw-r--r--video/img_format.h4
-rw-r--r--video/mp_image.c3
-rw-r--r--video/mp_image.h2
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