summaryrefslogtreecommitdiffstats
path: root/video
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-12-26 23:12:30 +0100
committerwm4 <wm4@nowhere>2013-01-13 20:04:13 +0100
commit4950513ffecd86626f587c636a36214052485097 (patch)
treee0b03259552931a152439e79ea6c8a68c3146b36 /video
parent4b8122faa73a16fc5fa1b1b797a4c678b0a5f879 (diff)
downloadmpv-4950513ffecd86626f587c636a36214052485097.tar.bz2
mpv-4950513ffecd86626f587c636a36214052485097.tar.xz
img_format: change meaning of MP_IMGFLAG_PLANAR
This used to mean that there is more than one plane. This is not very useful: IMGFMT_Y8 was not considered planar, but it's just a Y plane, and could be treated the same as actual planar formats. On the other hand, IMGFMT_NV12 is partially packed, and usually requires special handling, but was considered planar. Change its meaning. Now the flag is set if the format has a separate plane for each component. IMGFMT_Y8 is now planar, IMGFMT_NV12 is not. As an odd special case, IMGFMT_MONO (1 bit per pixel) is like a planar RGB format with a single plane.
Diffstat (limited to 'video')
-rw-r--r--video/img_format.c2
-rw-r--r--video/img_format.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/video/img_format.c b/video/img_format.c
index a6d92f1a1f..32c8a8a048 100644
--- a/video/img_format.c
+++ b/video/img_format.c
@@ -186,7 +186,7 @@ static struct mp_imgfmt_desc get_avutil_fmt(enum PixelFormat fmt)
desc.flags |= MP_IMGFLAG_ALPHA;
#endif
- if (desc.num_planes > 1)
+ if (desc.num_planes == pd->nb_components)
desc.flags |= MP_IMGFLAG_PLANAR;
if (desc.flags & MP_IMGFLAG_YUV) {
diff --git a/video/img_format.h b/video/img_format.h
index 37ac32ffac..2c99c8363e 100644
--- a/video/img_format.h
+++ b/video/img_format.h
@@ -35,7 +35,7 @@
#define MP_IMGFLAG_BYTE_ALIGNED 0x1
// set if (possibly) alpha is included (might be not definitive for packed RGB)
#define MP_IMGFLAG_ALPHA 0x80
-// set if number of planes > 1
+// Uses one component per plane (set even if it's just one plane)
#define MP_IMGFLAG_PLANAR 0x100
// set if it's YUV colorspace
#define MP_IMGFLAG_YUV 0x200