]> git.sesse.net Git - vlc/blobdiff - include/vlc_fourcc.h
demux: ts: ensure iod is present when looking for SLDesc
[vlc] / include / vlc_fourcc.h
index 119b134bdbf53fe64092dda30e01abec4a7c27c7..b982fa03e75044eb91a6c33e8c97998a10da3525 100644 (file)
@@ -50,6 +50,7 @@
 #define VLC_CODEC_WMVP            VLC_FOURCC('W','M','V','P')
 #define VLC_CODEC_WMVP2           VLC_FOURCC('W','V','P','2')
 #define VLC_CODEC_VC1             VLC_FOURCC('V','C','-','1')
+#define VLC_CODEC_DAALA           VLC_FOURCC('d','a','a','l')
 #define VLC_CODEC_THEORA          VLC_FOURCC('t','h','e','o')
 #define VLC_CODEC_TARKIN          VLC_FOURCC('t','a','r','k')
 #define VLC_CODEC_DIRAC           VLC_FOURCC('d','r','a','c')
 #define VLC_CODEC_TIERTEXSEQVIDEO VLC_FOURCC('T','S','E','Q')
 #define VLC_CODEC_DXA             VLC_FOURCC('D','E','X','A')
 #define VLC_CODEC_C93             VLC_FOURCC('I','C','9','3')
+#define VLC_CODEC_BETHSOFTVID     VLC_FOURCC('B','V','I','D')
+#define VLC_CODEC_VB              VLC_FOURCC('V','B','V','1')
+#define VLC_CODEC_RL2             VLC_FOURCC('R','L','V','2')
+#define VLC_CODEC_BFI             VLC_FOURCC('B','F','&','I')
+#define VLC_CODEC_CMV             VLC_FOURCC('E','C','M','V')
+#define VLC_CODEC_MOTIONPIXELS    VLC_FOURCC('M','P','I','X')
+#define VLC_CODEC_TGV             VLC_FOURCC('T','G','V','V')
+#define VLC_CODEC_TGQ             VLC_FOURCC('T','G','Q','V')
+#define VLC_CODEC_TQI             VLC_FOURCC('T','Q','I','V')
+#define VLC_CODEC_MAD             VLC_FOURCC('M','A','D','V')
+#define VLC_CODEC_ANM             VLC_FOURCC('A','N','I','M')
+#define VLC_CODEC_YOP             VLC_FOURCC('Y','O','P','V')
+#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_S8                         VLC_FOURCC('s','8',' ',' ')
 #define VLC_CODEC_U8                         VLC_FOURCC('u','8',' ',' ')
 #define VLC_CODEC_S16L                       VLC_FOURCC('s','1','6','l')
+#define VLC_CODEC_S16L_PLANAR                VLC_FOURCC('s','1','l','p')
 #define VLC_CODEC_S16B                       VLC_FOURCC('s','1','6','b')
 #define VLC_CODEC_U16L                       VLC_FOURCC('u','1','6','l')
 #define VLC_CODEC_U16B                       VLC_FOURCC('u','1','6','b')
 #define VLC_CODEC_ON2AVC                     VLC_FOURCC('m','s',0x05,0x00)
 #define VLC_CODEC_TAK                        VLC_FOURCC('t','a','k',' ')
 #define VLC_CODEC_SMACKAUDIO                 VLC_FOURCC('S','M','K','A')
+#define VLC_CODEC_ADPCM_IMA_EA_SEAD          VLC_FOURCC('S','E','A','D')
+#define VLC_CODEC_ADPCM_EA_R1                VLC_FOURCC('E','A','R','1')
+#define VLC_CODEC_ADPCM_IMA_APC              VLC_FOURCC('A','I','P','C')
 
 /* Subtitle */
 #define VLC_CODEC_SPU       VLC_FOURCC('s','p','u',' ')
 #define VLC_CODEC_OGT       VLC_FOURCC('o','g','t',' ')
 #define VLC_CODEC_CVD       VLC_FOURCC('c','v','d',' ')
 #define VLC_CODEC_TX3G      VLC_FOURCC('t','x','3','g')
+#define VLC_CODEC_ARIB_A    VLC_FOURCC('a','r','b','a')
+#define VLC_CODEC_ARIB_C    VLC_FOURCC('a','r','b','c')
 /* Blu-ray Presentation Graphics */
 #define VLC_CODEC_BD_PG     VLC_FOURCC('b','d','p','g')
 /* EBU STL (TECH. 3264-E) */
 #define VLC_CODEC_EBU_STL   VLC_FOURCC('S','T','L',' ')
 #define VLC_CODEC_SCTE_27   VLC_FOURCC('S','C','2','7')
+/* EIA-608 */
+#define VLC_CODEC_EIA608_1  VLC_FOURCC('c','c','1',' ')
+#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')
@@ -578,7 +635,7 @@ typedef struct {
  * 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 */