X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_fourcc.h;h=fd677979c21f48af67c3f83f3b4dabfb61f23bc4;hb=f3398a2741095ee9b5f2951c260bed8eaab111d8;hp=3f108bf1dbf01abe14a809c235df247ef27a3c15;hpb=19092b0414c63b2a4a246cfbee731869584a112f;p=vlc diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index 3f108bf1db..fd677979c2 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -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') @@ -114,7 +115,9 @@ #define VLC_CODEC_CDG VLC_FOURCC('C','D','G',' ') #define VLC_CODEC_FRWU VLC_FOURCC('F','R','W','U') #define VLC_CODEC_AMV VLC_FOURCC('A','M','V',' ') +#define VLC_CODEC_VP7 VLC_FOURCC('V','P','7','0') #define VLC_CODEC_VP8 VLC_FOURCC('V','P','8','0') +#define VLC_CODEC_VP9 VLC_FOURCC('V','P','9','0') #define VLC_CODEC_JPEG2000 VLC_FOURCC('J','P','2','K') #define VLC_CODEC_LAGARITH VLC_FOURCC('L','A','G','S') #define VLC_CODEC_FLASHSV2 VLC_FOURCC('F','S','V','2') @@ -131,7 +134,6 @@ #define VLC_CODEC_TSC2 VLC_FOURCC('T','S','C','2') #define VLC_CODEC_MTS2 VLC_FOURCC('M','T','S','2') #define VLC_CODEC_HEVC VLC_FOURCC('h','e','v','c') -#define VLC_CODEC_VP9 VLC_FOURCC('V','P','9','0') #define VLC_CODEC_ICOD VLC_FOURCC('i','c','o','d') #define VLC_CODEC_G2M2 VLC_FOURCC('G','2','M','2') #define VLC_CODEC_G2M3 VLC_FOURCC('G','2','M','3') @@ -142,15 +144,52 @@ #define VLC_CODEC_XAN_WC4 VLC_FOURCC('X','x','a','n') #define VLC_CODEC_LCL_MSZH VLC_FOURCC('M','S','Z','H') #define VLC_CODEC_LCL_ZLIB VLC_FOURCC('Z','L','I','B') +#define VLC_CODEC_THP VLC_FOURCC('T','H','P','0') +#define VLC_CODEC_ESCAPE124 VLC_FOURCC('E','1','2','4') +#define VLC_CODEC_KGV1 VLC_FOURCC('K','G','V','1') +#define VLC_CODEC_CLLC VLC_FOURCC('C','L','L','C') +#define VLC_CODEC_AURA VLC_FOURCC('A','U','R','A') +#define VLC_CODEC_FIC VLC_FOURCC('F','I','C','V') +#define VLC_CODEC_TMV VLC_FOURCC('T','M','A','V') +#define VLC_CODEC_XAN_WC3 VLC_FOURCC('X','A','N','3') +#define VLC_CODEC_WS_VQA VLC_FOURCC('W','V','Q','A') +#define VLC_CODEC_MMVIDEO VLC_FOURCC('M','M','V','I') +#define VLC_CODEC_AVS VLC_FOURCC('A','V','S','V') +#define VLC_CODEC_DSICINVIDEO VLC_FOURCC('D','C','I','V') +#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') + +/*********** + * 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 */ @@ -159,6 +198,7 @@ /* 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 */ @@ -167,6 +207,7 @@ /* 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 */ @@ -177,6 +218,10 @@ /* 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 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 */ @@ -187,24 +232,63 @@ #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 */ #define VLC_CODEC_YUV422A VLC_FOURCC('I','4','2','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 */ #define VLC_CODEC_RGB8 VLC_FOURCC('R','G','B','8') /* 12 bits RGB padded to 16 bits */ #define VLC_CODEC_RGB12 VLC_FOURCC('R','V','1','2') -/* 16 bits RGBA (12 bits RGB + 4 bits alpha) */ -#define VLC_CODEC_RGBA16 VLC_FOURCC('A','V','1','6') /* 15 bits RGB padded to 16 bits */ #define VLC_CODEC_RGB15 VLC_FOURCC('R','V','1','5') -/* 16 bits RGBA (15 bits RGB + 1 bit alpha) */ -#define VLC_CODEC_RGBT VLC_FOURCC('R','G','B','T') /* 16 bits RGB */ #define VLC_CODEC_RGB16 VLC_FOURCC('R','V','1','6') /* 24 bits RGB */ @@ -215,34 +299,20 @@ #define VLC_CODEC_RGBA VLC_FOURCC('R','G','B','A') /* 32 bits ARGB */ #define VLC_CODEC_ARGB VLC_FOURCC('A','R','G','B') +/* 32 bits BGRA */ +#define VLC_CODEC_BGRA VLC_FOURCC('B','G','R','A') + +/* Planar GBR 4:4:4 8 bits */ +#define VLC_CODEC_GBR_PLANAR VLC_FOURCC('G','B','R','8') +#define VLC_CODEC_GBR_PLANAR_9B VLC_FOURCC('G','B','9','B') +#define VLC_CODEC_GBR_PLANAR_9L VLC_FOURCC('G','B','9','L') +#define VLC_CODEC_GBR_PLANAR_10B VLC_FOURCC('G','B','A','B') +#define VLC_CODEC_GBR_PLANAR_10L VLC_FOURCC('G','B','A','L') +#define VLC_CODEC_GBR_PLANAR_16L VLC_FOURCC('G','B','F','L') +#define VLC_CODEC_GBR_PLANAR_16B VLC_FOURCC('G','B','F','B') + /* 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') @@ -256,6 +326,9 @@ /* MediaCodec/IOMX opaque buffer type */ #define VLC_CODEC_ANDROID_OPAQUE VLC_FOURCC('A','N','O','P') +/* Broadcom MMAL opaque buffer type */ +#define VLC_CODEC_MMAL_OPAQUE VLC_FOURCC('M','M','A','L') + /* Image codec (video) */ #define VLC_CODEC_PNG VLC_FOURCC('p','n','g',' ') #define VLC_CODEC_PPM VLC_FOURCC('p','p','m',' ') @@ -263,15 +336,18 @@ #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_GIF VLC_FOURCC('g','i','f',' ') #define VLC_CODEC_TARGA VLC_FOURCC('t','g','a',' ') +#define VLC_CODEC_SVG VLC_FOURCC('s','v','g',' ') #define VLC_CODEC_SGI VLC_FOURCC('s','g','i',' ') #define VLC_CODEC_PNM VLC_FOURCC('p','n','m',' ') #define VLC_CODEC_PCX VLC_FOURCC('p','c','x',' ') #define VLC_CODEC_XWD VLC_FOURCC('X','W','D',' ') +#define VLC_CODEC_TXD VLC_FOURCC('T','X','D',' ') /* Audio codec */ @@ -317,6 +393,7 @@ #define VLC_CODEC_ADPCM_YAMAHA VLC_FOURCC('m','s',0x00,0x20) #define VLC_CODEC_ADPCM_DK3 VLC_FOURCC('m','s',0x00,0x62) #define VLC_CODEC_ADPCM_DK4 VLC_FOURCC('m','s',0x00,0x61) +#define VLC_CODEC_ADPCM_THP VLC_FOURCC('T','H','P','A') #define VLC_CODEC_G723_1 VLC_FOURCC('g','7','2', 0x31) #define VLC_CODEC_G729 VLC_FOURCC('g','7','2','9') #define VLC_CODEC_VMDAUDIO VLC_FOURCC('v','m','d','a') @@ -343,6 +420,7 @@ #define VLC_CODEC_DVD_LPCM VLC_FOURCC('l','p','c','m') #define VLC_CODEC_DVDA_LPCM VLC_FOURCC('a','p','c','m') #define VLC_CODEC_BD_LPCM VLC_FOURCC('b','p','c','m') +#define VLC_CODEC_WIDI_LPCM VLC_FOURCC('w','p','c','m') #define VLC_CODEC_SDDS VLC_FOURCC('s','d','d','s') #define VLC_CODEC_MIDI VLC_FOURCC('M','I','D','I') #define VLC_CODEC_RALF VLC_FOURCC('R','A','L','F') @@ -350,6 +428,7 @@ #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') @@ -379,6 +458,12 @@ #define VLC_CODEC_ULEAD_DV_AUDIO_PAL VLC_FOURCC('m','s',0x02,0x16) #define VLC_CODEC_INDEO_AUDIO VLC_FOURCC('m','s',0x04,0x02) #define VLC_CODEC_METASOUND VLC_FOURCC('m','s',0x00,0x75) +#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',' ') @@ -394,11 +479,19 @@ #define VLC_CODEC_USF VLC_FOURCC('u','s','f',' ') #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',' ') /* XYZ colorspace 12 bits packed in 16 bits, organisation |XXX0|YYY0|ZZZ0| */ #define VLC_CODEC_XYZ12 VLC_FOURCC('X','Y','1','2') @@ -539,7 +632,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 */