summaryrefslogtreecommitdiffstats
path: root/video/img_format.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-12-27 00:58:45 +0100
committerwm4 <wm4@nowhere>2013-01-13 20:04:13 +0100
commit61e59cd92c779a4684ebfa554feacc0a4e8d3c78 (patch)
treeda3120135f37c1b785883e0667b600aea2de4a03 /video/img_format.h
parent4950513ffecd86626f587c636a36214052485097 (diff)
downloadmpv-61e59cd92c779a4684ebfa554feacc0a4e8d3c78.tar.bz2
mpv-61e59cd92c779a4684ebfa554feacc0a4e8d3c78.tar.xz
imgfmt: add more ffmpeg pixel formats
Most of these probably don't have much actual use, but at least allow images of these formats to be handed to swscale, should any decoder output them.
Diffstat (limited to 'video/img_format.h')
-rw-r--r--video/img_format.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/video/img_format.h b/video/img_format.h
index 2c99c8363e..6512cbf244 100644
--- a/video/img_format.h
+++ b/video/img_format.h
@@ -129,13 +129,39 @@ enum mp_imgfmt {
IMGFMT_420P9_BE,
// Planar YUV with alpha (4th plane)
+ IMGFMT_444AP,
+ IMGFMT_422AP,
IMGFMT_420AP,
+ IMGFMT_444AP16_LE,
+ IMGFMT_444AP16_BE,
+ IMGFMT_444AP10_LE,
+ IMGFMT_444AP10_BE,
+ IMGFMT_444AP9_LE,
+ IMGFMT_444AP9_BE,
+
+ IMGFMT_422AP16_LE,
+ IMGFMT_422AP16_BE,
+ IMGFMT_422AP10_LE,
+ IMGFMT_422AP10_BE,
+ IMGFMT_422AP9_LE,
+ IMGFMT_422AP9_BE,
+
+ IMGFMT_420AP16_LE,
+ IMGFMT_420AP16_BE,
+ IMGFMT_420AP10_LE,
+ IMGFMT_420AP10_BE,
+ IMGFMT_420AP9_LE,
+ IMGFMT_420AP9_BE,
+
// Gray
IMGFMT_Y8,
IMGFMT_Y16_LE,
IMGFMT_Y16_BE,
+ // Gray with alpha (packed)
+ IMGFMT_YA8,
+
// Packed YUV formats (components are byte-accessed)
IMGFMT_YUYV, // Y0 U Y1 V
IMGFMT_UYVY, // U Y0 V Y1
@@ -148,14 +174,21 @@ enum mp_imgfmt {
// Byte accessed (low address to high address)
IMGFMT_ARGB,
+ IMGFMT_0RGB,
IMGFMT_BGRA,
IMGFMT_BGR0,
IMGFMT_ABGR,
+ IMGFMT_0BGR,
IMGFMT_RGBA,
+ IMGFMT_RGB0,
IMGFMT_BGR24,
IMGFMT_RGB24,
IMGFMT_RGB48_LE,
IMGFMT_RGB48_BE,
+ IMGFMT_RGBA64_LE,
+ IMGFMT_RGBA64_BE,
+ IMGFMT_BGRA64_LE,
+ IMGFMT_BGRA64_BE,
// Accessed with bit-shifts (components ordered from LSB to MSB)
IMGFMT_RGB8, // r3 g3 b2
@@ -184,6 +217,16 @@ enum mp_imgfmt {
// Planar RGB (planes are shuffled: plane 0 is G, etc.)
IMGFMT_GBRP,
+ IMGFMT_GBRP9_LE,
+ IMGFMT_GBRP9_BE,
+ IMGFMT_GBRP10_LE,
+ IMGFMT_GBRP10_BE,
+ IMGFMT_GBRP12_LE,
+ IMGFMT_GBRP12_BE,
+ IMGFMT_GBRP14_LE,
+ IMGFMT_GBRP14_BE,
+ IMGFMT_GBRP16_LE,
+ IMGFMT_GBRP16_BE,
// Hardware acclerated formats. Plane data points to special data
// structures, instead of pixel data.
@@ -218,6 +261,8 @@ enum mp_imgfmt {
IMGFMT_BGR15 = MP_SELECT_LE_BE(IMGFMT_BGR15_LE, IMGFMT_BGR15_BE),
IMGFMT_BGR16 = MP_SELECT_LE_BE(IMGFMT_BGR16_LE, IMGFMT_BGR16_BE),
IMGFMT_RGB48 = MP_SELECT_LE_BE(IMGFMT_RGB48_LE, IMGFMT_RGB48_BE),
+ IMGFMT_RGBA64 = MP_SELECT_LE_BE(IMGFMT_RGBA64_LE, IMGFMT_RGBA64_BE),
+ IMGFMT_BGRA64 = MP_SELECT_LE_BE(IMGFMT_BGRA64_LE, IMGFMT_BGRA64_BE),
IMGFMT_444P16 = MP_SELECT_LE_BE(IMGFMT_444P16_LE, IMGFMT_444P16_BE),
IMGFMT_444P14 = MP_SELECT_LE_BE(IMGFMT_444P14_LE, IMGFMT_444P14_BE),
@@ -237,7 +282,25 @@ enum mp_imgfmt {
IMGFMT_420P10 = MP_SELECT_LE_BE(IMGFMT_420P10_LE, IMGFMT_420P10_BE),
IMGFMT_420P9 = MP_SELECT_LE_BE(IMGFMT_420P9_LE, IMGFMT_420P9_BE),
+ IMGFMT_444AP16 = MP_SELECT_LE_BE(IMGFMT_444AP16_LE, IMGFMT_444AP16_BE),
+ IMGFMT_444AP10 = MP_SELECT_LE_BE(IMGFMT_444AP10_LE, IMGFMT_444AP10_BE),
+ IMGFMT_444AP9 = MP_SELECT_LE_BE(IMGFMT_444AP9_LE, IMGFMT_444AP9_BE),
+
+ IMGFMT_422AP16 = MP_SELECT_LE_BE(IMGFMT_422AP16_LE, IMGFMT_422AP16_BE),
+ IMGFMT_422AP10 = MP_SELECT_LE_BE(IMGFMT_422AP10_LE, IMGFMT_422AP10_BE),
+ IMGFMT_422AP9 = MP_SELECT_LE_BE(IMGFMT_422AP9_LE, IMGFMT_422AP9_BE),
+
+ IMGFMT_420AP16 = MP_SELECT_LE_BE(IMGFMT_420AP16_LE, IMGFMT_420AP16_BE),
+ IMGFMT_420AP10 = MP_SELECT_LE_BE(IMGFMT_420AP10_LE, IMGFMT_420AP10_BE),
+ IMGFMT_420AP9 = MP_SELECT_LE_BE(IMGFMT_420AP9_LE, IMGFMT_420AP9_BE),
+
IMGFMT_Y16 = MP_SELECT_LE_BE(IMGFMT_Y16_LE, IMGFMT_Y16_BE),
+
+ IMGFMT_GBRP9 = MP_SELECT_LE_BE(IMGFMT_GBRP9_LE, IMGFMT_GBRP9_BE),
+ IMGFMT_GBRP10 = MP_SELECT_LE_BE(IMGFMT_GBRP10_LE, IMGFMT_GBRP10_BE),
+ 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),
};
static inline bool IMGFMT_IS_RGB(unsigned int fmt)