From 8c65264595d5a82c56ae5043320e4b875a414229 Mon Sep 17 00:00:00 2001 From: Nicolas Bertrand Date: Tue, 26 Mar 2013 23:21:13 +0100 Subject: [PATCH] pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values Signed-off-by: Diego Biurrun --- libavutil/pixdesc.c | 24 ++++++++++++++++++++++++ libavutil/pixfmt.h | 4 ++++ libavutil/version.h | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index e1fa87e..67f9c43 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 1863099..ed20720 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 6cbe7ef..6e8daa2 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, \ -- 2.7.4