diff options
author | wm4 <wm4@nowhere> | 2012-12-26 23:12:30 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-01-13 20:04:13 +0100 |
commit | 4950513ffecd86626f587c636a36214052485097 (patch) | |
tree | e0b03259552931a152439e79ea6c8a68c3146b36 /video | |
parent | 4b8122faa73a16fc5fa1b1b797a4c678b0a5f879 (diff) | |
download | mpv-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.c | 2 | ||||
-rw-r--r-- | video/img_format.h | 2 |
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 |