summaryrefslogtreecommitdiffstats
path: root/video/img_format.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-01 16:16:03 +0200
committerwm4 <wm4@nowhere>2013-05-01 16:26:45 +0200
commit9e0b68a385a8f1d9ebfdf9969444cc6cda1def52 (patch)
tree486ce3884f6109be6e581c5612898ce2e3bc4cb8 /video/img_format.h
parent3899e594eaf26553fad68ed3e95556577fc6d786 (diff)
downloadmpv-9e0b68a385a8f1d9ebfdf9969444cc6cda1def52.tar.bz2
mpv-9e0b68a385a8f1d9ebfdf9969444cc6cda1def52.tar.xz
video: add XYZ support
Needed for the ffmpeg j2k decoder.
Diffstat (limited to 'video/img_format.h')
-rw-r--r--video/img_format.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/video/img_format.h b/video/img_format.h
index 0d77872123..0cc48d937f 100644
--- a/video/img_format.h
+++ b/video/img_format.h
@@ -41,6 +41,8 @@
#define MP_IMGFLAG_YUV 0x200
// set if it's RGB colorspace
#define MP_IMGFLAG_RGB 0x400
+// set if it's XYZ colorspace
+#define MP_IMGFLAG_XYZ 0x800
// set if the format is in a standard YUV format:
// - planar and yuv colorspace
// - chroma shift 0-2
@@ -228,6 +230,11 @@ enum mp_imgfmt {
IMGFMT_GBRP16_LE,
IMGFMT_GBRP16_BE,
+ // XYZ colorspace, similar organization to RGB48. Even though it says "12",
+ // the components are stored as 16 bit, with lower 4 bits set to 0.
+ IMGFMT_XYZ12_LE,
+ IMGFMT_XYZ12_BE,
+
// Hardware acclerated formats. Plane data points to special data
// structures, instead of pixel data.
@@ -301,6 +308,8 @@ enum mp_imgfmt {
IMGFMT_GBRP12 = MP_SELECT_LE_BE(IMGFMT_GBRP12_LE, IMGFMT_GBRP12_BE),
IMGFMT_GBRP14 = MP_SELECT_LE_BE(IMGFMT_GBRP14_LE, IMGFMT_GBRP14_BE),
IMGFMT_GBRP16 = MP_SELECT_LE_BE(IMGFMT_GBRP16_LE, IMGFMT_GBRP16_BE),
+
+ IMGFMT_XYZ12 = MP_SELECT_LE_BE(IMGFMT_XYZ12_LE, IMGFMT_XYZ12_BE),
};
static inline bool IMGFMT_IS_RGB(unsigned int fmt)