#define VLC_CODEC_JV VLC_FOURCC('J','V','0','0')
#define VLC_CODEC_DFA VLC_FOURCC('D','F','I','A')
#define VLC_CODEC_HNM4_VIDEO VLC_FOURCC('H','N','M','4')
+#define VLC_CODEC_TDSC VLC_FOURCC('T','D','S','C')
+#define VLC_CODEC_HQX VLC_FOURCC('C','H','Q','X')
+
+/***********
+ * Chromas
+ ***********/
+
+/* Planar YUV */
/* Planar YUV 4:1:0 Y:V:U */
#define VLC_CODEC_YV9 VLC_FOURCC('Y','V','U','9')
-/* Planar YUV 4:2:0 Y:V:U */
-#define VLC_CODEC_YV12 VLC_FOURCC('Y','V','1','2')
/* Planar YUV 4:1:0 Y:U:V */
#define VLC_CODEC_I410 VLC_FOURCC('I','4','1','0')
/* Planar YUV 4:1:1 Y:U:V */
#define VLC_CODEC_I411 VLC_FOURCC('I','4','1','1')
+
+/* Planar YUV 4:2:0 Y:V:U */
+#define VLC_CODEC_YV12 VLC_FOURCC('Y','V','1','2')
/* Planar YUV 4:2:0 Y:U:V 8-bit */
#define VLC_CODEC_I420 VLC_FOURCC('I','4','2','0')
/* Planar YUV 4:2:0 Y:U:V 9-bit stored on 16 bits */
/* Planar YUV 4:2:0 Y:U:V 10-bit stored on 16 bits */
#define VLC_CODEC_I420_10L VLC_FOURCC('I','0','A','L')
#define VLC_CODEC_I420_10B VLC_FOURCC('I','0','A','B')
+
/* Planar YUV 4:2:2 Y:U:V 8-bit */
#define VLC_CODEC_I422 VLC_FOURCC('I','4','2','2')
/* Planar YUV 4:2:2 Y:U:V 9-bit stored on 16 bits */
/* Planar YUV 4:2:2 Y:U:V 10-bit stored on 16 bits */
#define VLC_CODEC_I422_10L VLC_FOURCC('I','2','A','L')
#define VLC_CODEC_I422_10B VLC_FOURCC('I','2','A','B')
+
/* Planar YUV 4:4:0 Y:U:V */
#define VLC_CODEC_I440 VLC_FOURCC('I','4','4','0')
/* Planar YUV 4:4:4 Y:U:V 8-bit */
/* 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')
+
/* Planar YUV 4:2:0 Y:U:V full scale */
#define VLC_CODEC_J420 VLC_FOURCC('J','4','2','0')
/* Planar YUV 4:2:2 Y:U:V full scale */
#define VLC_CODEC_J444 VLC_FOURCC('J','4','4','4')
/* Palettized YUV with palette element Y:U:V:A */
#define VLC_CODEC_YUVP VLC_FOURCC('Y','U','V','P')
+
/* Planar YUV 4:4:4 Y:U:V:A */
#define VLC_CODEC_YUVA VLC_FOURCC('Y','U','V','A')
/* Planar YUV 4:2:2 Y:U:V:A */
/* Planar YUV 4:2:0 Y:U:V:A */
#define VLC_CODEC_YUV420A VLC_FOURCC('I','4','0','A')
+/* Planar Y:U:V:A 4:4:4 10bits */
+#define VLC_CODEC_YUVA_444_10L VLC_FOURCC('Y','A','0','L')
+#define VLC_CODEC_YUVA_444_10B VLC_FOURCC('Y','A','0','B')
+
+/* Semi-planar Y/UV */
+
+/* 2 planes Y/UV 4:2:0 */
+#define VLC_CODEC_NV12 VLC_FOURCC('N','V','1','2')
+/* 2 planes Y/VU 4:2:0 */
+#define VLC_CODEC_NV21 VLC_FOURCC('N','V','2','1')
+/* 2 planes Y/UV 4:2:2 */
+#define VLC_CODEC_NV16 VLC_FOURCC('N','V','1','6')
+/* 2 planes Y/VU 4:2:2 */
+#define VLC_CODEC_NV61 VLC_FOURCC('N','V','6','1')
+/* 2 planes Y/UV 4:4:4 */
+#define VLC_CODEC_NV24 VLC_FOURCC('N','V','2','4')
+/* 2 planes Y/VU 4:4:4 */
+#define VLC_CODEC_NV42 VLC_FOURCC('N','V','4','2')
+
+/* Packed YUV */
+
+/* Packed YUV 4:2:2, U:Y:V:Y */
+#define VLC_CODEC_UYVY VLC_FOURCC('U','Y','V','Y')
+/* Packed YUV 4:2:2, V:Y:U:Y */
+#define VLC_CODEC_VYUY VLC_FOURCC('V','Y','U','Y')
+/* Packed YUV 4:2:2, Y:U:Y:V */
+#define VLC_CODEC_YUYV VLC_FOURCC('Y','U','Y','2')
+/* Packed YUV 4:2:2, Y:V:Y:U */
+#define VLC_CODEC_YVYU VLC_FOURCC('Y','V','Y','U')
+/* Packed YUV 2:1:1, Y:U:Y:V */
+#define VLC_CODEC_Y211 VLC_FOURCC('Y','2','1','1')
+/* Packed YUV 4:2:2, U:Y:V:Y, reverted */
+#define VLC_CODEC_CYUV VLC_FOURCC('c','y','u','v')
+/* 10-bit 4:2:2 Component YCbCr */
+#define VLC_CODEC_V210 VLC_FOURCC('v','2','1','0')
+/* I420 packed for RTP (RFC 4175) */
+#define VLC_CODEC_R420 VLC_FOURCC('r','4','2','0')
+
+
+/* RGB */
+
/* Palettized RGB with palette element R:G:B */
#define VLC_CODEC_RGBP VLC_FOURCC('R','G','B','P')
/* 8 bits RGB */
/* 8 bits grey */
#define VLC_CODEC_GREY VLC_FOURCC('G','R','E','Y')
-/* Packed YUV 4:2:2, U:Y:V:Y */
-#define VLC_CODEC_UYVY VLC_FOURCC('U','Y','V','Y')
-/* Packed YUV 4:2:2, V:Y:U:Y */
-#define VLC_CODEC_VYUY VLC_FOURCC('V','Y','U','Y')
-/* Packed YUV 4:2:2, Y:U:Y:V */
-#define VLC_CODEC_YUYV VLC_FOURCC('Y','U','Y','2')
-/* Packed YUV 4:2:2, Y:V:Y:U */
-#define VLC_CODEC_YVYU VLC_FOURCC('Y','V','Y','U')
-/* Packed YUV 2:1:1, Y:U:Y:V */
-#define VLC_CODEC_Y211 VLC_FOURCC('Y','2','1','1')
-/* Packed YUV 4:2:2, U:Y:V:Y, reverted */
-#define VLC_CODEC_CYUV VLC_FOURCC('c','y','u','v')
-/* 10-bit 4:2:2 Component YCbCr */
-#define VLC_CODEC_V210 VLC_FOURCC('v','2','1','0')
-/* 2 planes Y/UV 4:2:0 */
-#define VLC_CODEC_NV12 VLC_FOURCC('N','V','1','2')
-/* 2 planes Y/VU 4:2:0 */
-#define VLC_CODEC_NV21 VLC_FOURCC('N','V','2','1')
-/* 2 planes Y/UV 4:2:2 */
-#define VLC_CODEC_NV16 VLC_FOURCC('N','V','1','6')
-/* 2 planes Y/VU 4:2:2 */
-#define VLC_CODEC_NV61 VLC_FOURCC('N','V','6','1')
-/* 2 planes Y/UV 4:4:4 */
-#define VLC_CODEC_NV24 VLC_FOURCC('N','V','2','4')
-/* 2 planes Y/VU 4:4:4 */
-#define VLC_CODEC_NV42 VLC_FOURCC('N','V','4','2')
/* VDPAU video surface YCbCr 4:2:0 */
#define VLC_CODEC_VDPAU_VIDEO_420 VLC_FOURCC('V','D','V','0')
#define VLC_CODEC_PGMYUV VLC_FOURCC('p','g','m','y')
#define VLC_CODEC_PAM VLC_FOURCC('p','a','m',' ')
#define VLC_CODEC_JPEG VLC_FOURCC('j','p','e','g')
+#define VLC_CODEC_BPG VLC_FOURCC('B','P','G',0xFB)
#define VLC_CODEC_JPEGLS VLC_FOURCC('M','J','L','S')
#define VLC_CODEC_BMP VLC_FOURCC('b','m','p',' ')
#define VLC_CODEC_TIFF VLC_FOURCC('t','i','f','f')
#define VLC_CODEC_EIA608_2 VLC_FOURCC('c','c','2',' ')
#define VLC_CODEC_EIA608_3 VLC_FOURCC('c','c','3',' ')
#define VLC_CODEC_EIA608_4 VLC_FOURCC('c','c','4',' ')
+#define VLC_CODEC_TTML VLC_FOURCC('T','T','M','L')
/* XYZ colorspace 12 bits packed in 16 bits, organisation |XXX0|YYY0|ZZZ0| */
#define VLC_CODEC_XYZ12 VLC_FOURCC('X','Y','1','2')
* It returns a vlc_chroma_description_t describing the request fourcc or NULL
* if not found.
*/
-VLC_API const vlc_chroma_description_t * vlc_fourcc_GetChromaDescription( vlc_fourcc_t fourcc );
+VLC_API const vlc_chroma_description_t * vlc_fourcc_GetChromaDescription( vlc_fourcc_t fourcc ) VLC_USED;
#endif /* _VLC_FOURCC_H */