[vlc-commits] Define YUV 4:4:4 12bits formats
Jean-Baptiste Kempf
git at videolan.org
Wed Jul 6 23:22:35 CEST 2016
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Jul 6 23:13:37 2016 +0200| [85c98cd2294fda5f79fb02f698441527bb1659ce] | committer: Jean-Baptiste Kempf
Define YUV 4:4:4 12bits formats
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=85c98cd2294fda5f79fb02f698441527bb1659ce
---
include/vlc_fourcc.h | 3 +++
src/misc/fourcc.c | 12 +++++++++++-
src/misc/fourcc_list.h | 4 ++++
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h
index a9b1941..1ba755e 100644
--- a/include/vlc_fourcc.h
+++ b/include/vlc_fourcc.h
@@ -226,6 +226,9 @@
/* Planar YUV 4:4:4 Y:U:V 10-bit stored on 16 bits */
#define VLC_CODEC_I444_10L VLC_FOURCC('I','4','A','L')
#define VLC_CODEC_I444_10B VLC_FOURCC('I','4','A','B')
+/* Planar YUV 4:4:4 Y:U:V 12-bit stored on 16 bits */
+#define VLC_CODEC_I444_12L VLC_FOURCC('I','4','C','L')
+#define VLC_CODEC_I444_12B VLC_FOURCC('I','4','C','B')
/* Planar YUV 4:4:4 Y:U:V 16-bit */
#define VLC_CODEC_I444_16L VLC_FOURCC('I','4','F','L')
#define VLC_CODEC_I444_16B VLC_FOURCC('I','4','F','B')
diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c
index 117ce64..f061ae0 100644
--- a/src/misc/fourcc.c
+++ b/src/misc/fourcc.c
@@ -238,7 +238,7 @@ const char *vlc_fourcc_GetDescription(int cat, vlc_fourcc_t fourcc)
#define VLC_CODEC_YUV_PLANAR_444_16 \
VLC_CODEC_I444_10L, VLC_CODEC_I444_10B, VLC_CODEC_I444_9L, VLC_CODEC_I444_9B, \
- VLC_CODEC_I444_16L, VLC_CODEC_I444_16B
+ VLC_CODEC_I444_16L, VLC_CODEC_I444_16B, VLC_CODEC_I444_12L, VLC_CODEC_I444_12B
#define VLC_CODEC_YUV_PACKED \
VLC_CODEC_YUYV, VLC_CODEC_YVYU, \
@@ -340,6 +340,12 @@ static const vlc_fourcc_t p_I444_10L_fallback[] = {
static const vlc_fourcc_t p_I444_10B_fallback[] = {
VLC_CODEC_I444_10B, VLC_CODEC_I444_10L, VLC_CODEC_FALLBACK_444_16, 0
};
+static const vlc_fourcc_t p_I444_12L_fallback[] = {
+ VLC_CODEC_I444_12L, VLC_CODEC_I444_12B, VLC_CODEC_FALLBACK_444_16, 0
+};
+static const vlc_fourcc_t p_I444_12B_fallback[] = {
+ VLC_CODEC_I444_12B, VLC_CODEC_I444_12L, VLC_CODEC_FALLBACK_444_16, 0
+};
static const vlc_fourcc_t p_I444_16L_fallback[] = {
VLC_CODEC_I444_16L, VLC_CODEC_I444_16B, VLC_CODEC_FALLBACK_444_16, 0
};
@@ -413,6 +419,8 @@ static const vlc_fourcc_t *pp_YUV_fallback[] = {
p_I444_9B_fallback,
p_I444_10L_fallback,
p_I444_10B_fallback,
+ p_I444_12L_fallback,
+ p_I444_12B_fallback,
p_I444_16L_fallback,
p_I444_16B_fallback,
p_I440_fallback,
@@ -613,6 +621,8 @@ static const struct
VLC_CODEC_I422_10B }, PLANAR_16(3, 2, 1, 10) },
{ { VLC_CODEC_I422_9L,
VLC_CODEC_I422_9B }, PLANAR_16(3, 2, 1, 9) },
+ { { VLC_CODEC_I444_12L,
+ VLC_CODEC_I444_12B }, PLANAR_16(3, 1, 1, 12) },
{ { VLC_CODEC_I444_10L,
VLC_CODEC_I444_10B }, PLANAR_16(3, 1, 1, 10) },
{ { VLC_CODEC_I444_9L,
diff --git a/src/misc/fourcc_list.h b/src/misc/fourcc_list.h
index 338d2c8..8ff42e5 100644
--- a/src/misc/fourcc_list.h
+++ b/src/misc/fourcc_list.h
@@ -863,6 +863,10 @@ static const staticentry_t p_list_video[] = {
A("I0CL"),
B(VLC_CODEC_I420_12B, "Planar 4:2:0 YUV 12-bit BE"),
A("I0CB"),
+ B(VLC_CODEC_I444_12L, "Planar 4:4:4 YUV 12-bit LE"),
+ A("I4CL"),
+ B(VLC_CODEC_I444_12B, "Planar 4:4:4 YUV 12-bit BE"),
+ A("I4CB"),
B(VLC_CODEC_I444_16L, "Planar 4:4:4 YUV 16-bit LE"),
A("I4FL"),
More information about the vlc-commits
mailing list