aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Bertrand <nicoinattendu@gmail.com>2013-03-26 23:21:13 +0100
committerDiego Biurrun <diego@biurrun.de>2013-04-04 19:50:59 +0200
commit8c65264595d5a82c56ae5043320e4b875a414229 (patch)
treeb222e6f5adbcb6b3ee72f5103f44e85d8a0b94f5
parent5e46f6b5b7c70e2ef67714d6423013e870a875ba (diff)
downloadffmpeg-8c65264595d5a82c56ae5043320e4b875a414229.tar.gz
pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
-rw-r--r--libavutil/pixdesc.c24
-rw-r--r--libavutil/pixfmt.h4
-rw-r--r--libavutil/version.h2
3 files changed, 29 insertions, 1 deletions
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index e1fa87eee9..67f9c435d0 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -1365,6 +1365,30 @@ const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
.log2_chroma_h = 1,
.flags = PIX_FMT_HWACCEL,
},
+ [AV_PIX_FMT_XYZ12LE] = {
+ .name = "xyz12le",
+ .nb_components = 3,
+ .log2_chroma_w = 0,
+ .log2_chroma_h = 0,
+ .comp = {
+ { 0, 5, 1, 4, 11 }, /* X */
+ { 0, 5, 3, 4, 11 }, /* Y */
+ { 0, 5, 5, 4, 11 }, /* Z */
+ },
+ /*.flags = -- not used*/
+ },
+ [AV_PIX_FMT_XYZ12BE] = {
+ .name = "xyz12be",
+ .nb_components = 3,
+ .log2_chroma_w = 0,
+ .log2_chroma_h = 0,
+ .comp = {
+ { 0, 5, 1, 4, 11 }, /* X */
+ { 0, 5, 3, 4, 11 }, /* Y */
+ { 0, 5, 5, 4, 11 }, /* Z */
+ },
+ .flags = PIX_FMT_BE,
+ },
};
static enum AVPixelFormat get_pix_fmt_internal(const char *name)
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 1863099037..ed207204fb 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -179,6 +179,8 @@ enum AVPixelFormat {
AV_PIX_FMT_YUVA444P16BE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
AV_PIX_FMT_YUVA444P16LE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
AV_PIX_FMT_VDPAU, ///< HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface
+ AV_PIX_FMT_XYZ12LE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0
+ AV_PIX_FMT_XYZ12BE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0
AV_PIX_FMT_NB, ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
#if FF_API_PIX_FMT
@@ -231,6 +233,8 @@ enum AVPixelFormat {
#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
+#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
+
#if FF_API_PIX_FMT
#define PixelFormat AVPixelFormat
diff --git a/libavutil/version.h b/libavutil/version.h
index 6cbe7ef66d..6e8daa2864 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -37,7 +37,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 52
-#define LIBAVUTIL_VERSION_MINOR 9
+#define LIBAVUTIL_VERSION_MINOR 10
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \