X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_fourcc.h;h=f201d2d67000bd7cfe972ce46ef9084d4b29d07a;hb=80861b6ec3c3760b4400d0b8cb80dbe14fc75923;hp=7e06368949f3c3e43d1b0df934d6c0d3b58bc41c;hpb=d7fe7e31eff180917c1d8077b47fc2e2b2c42542;p=vlc diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index 7e06368949..f201d2d670 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -126,14 +126,32 @@ #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:U:V */ +/* Planar YUV 4:2:0 Y:U:V 8-bit */ #define VLC_CODEC_I420 VLC_FOURCC('I','4','2','0') -/* Planar YUV 4:2:2 Y:U:V */ +/* Planar YUV 4:2:0 Y:U:V 9-bit stored on 16 bits */ +#define VLC_CODEC_I420_9L VLC_FOURCC('I','0','9','L') +#define VLC_CODEC_I420_9B VLC_FOURCC('I','0','9','B') +/* 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 */ +#define VLC_CODEC_I422_9L VLC_FOURCC('I','2','9','L') +#define VLC_CODEC_I422_9B VLC_FOURCC('I','2','9','B') +/* 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 */ +/* Planar YUV 4:4:4 Y:U:V 8-bit */ #define VLC_CODEC_I444 VLC_FOURCC('I','4','4','4') +/* Planar YUV 4:2:2 Y:U:V 9-bit stored on 16 bits */ +#define VLC_CODEC_I444_9L VLC_FOURCC('I','4','9','L') +#define VLC_CODEC_I444_9B VLC_FOURCC('I','4','9','B') +/* Planar YUV 4:2:2 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: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 */ @@ -150,19 +168,21 @@ #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 stored on 16 bits */ +/* 12 bits RGB padded to 16 bits */ #define VLC_CODEC_RGB12 VLC_FOURCC('R','V','1','2') -/* 16 bits VLC RGBA */ +/* 16 bits RGBA (12 bits RGB + 4 bits alpha) */ #define VLC_CODEC_RGBA16 VLC_FOURCC('A','V','1','6') -/* 15 bits RGB stored on 16 bits */ +/* 15 bits RGB padded to 16 bits */ #define VLC_CODEC_RGB15 VLC_FOURCC('R','V','1','5') -/* 16 bits RGB store on a 16 bits */ +/* 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 */ #define VLC_CODEC_RGB24 VLC_FOURCC('R','V','2','4') -/* 32 bits RGB */ +/* 24 bits RGB padded to 32 bits */ #define VLC_CODEC_RGB32 VLC_FOURCC('R','V','3','2') -/* 32 bits VLC RGBA */ +/* 32 bits RGBA */ #define VLC_CODEC_RGBA VLC_FOURCC('R','G','B','A') /* 8 bits grey */ #define VLC_CODEC_GREY VLC_FOURCC('G','R','E','Y') @@ -307,6 +327,8 @@ #define VLC_CODEC_CVD VLC_FOURCC('c','v','d',' ') /* 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',' ') /* Special endian dependant values @@ -324,6 +346,7 @@ # define VLC_CODEC_U16I VLC_CODEC_U16L # define VLC_CODEC_S24I VLC_CODEC_S24L # define VLC_CODEC_S32I VLC_CODEC_S32L + #else # define VLC_CODEC_S16N VLC_CODEC_S16L # define VLC_CODEC_U16N VLC_CODEC_U16L @@ -354,7 +377,7 @@ * * You may use UNKNOWN_ES for the ES category if you don't have the information. */ -VLC_EXPORT( vlc_fourcc_t, vlc_fourcc_GetCodec, ( int i_cat, vlc_fourcc_t i_fourcc ) ); +VLC_API vlc_fourcc_t vlc_fourcc_GetCodec( int i_cat, vlc_fourcc_t i_fourcc ); /** * It returns the codec associated to a fourcc store in a zero terminated @@ -365,7 +388,7 @@ VLC_EXPORT( vlc_fourcc_t, vlc_fourcc_GetCodec, ( int i_cat, vlc_fourcc_t i_fourc * * Provided for convenience. */ -VLC_EXPORT( vlc_fourcc_t, vlc_fourcc_GetCodecFromString, ( int i_cat, const char * ) ); +VLC_API vlc_fourcc_t vlc_fourcc_GetCodecFromString( int i_cat, const char * ); /** * It convert the gives fourcc to an audio codec when possible. @@ -374,14 +397,14 @@ VLC_EXPORT( vlc_fourcc_t, vlc_fourcc_GetCodecFromString, ( int i_cat, const char * is detected, 0 is returned. * The other fourcc goes through vlc_fourcc_GetCodec and i_bits is not checked. */ -VLC_EXPORT( vlc_fourcc_t, vlc_fourcc_GetCodecAudio, ( vlc_fourcc_t i_fourcc, int i_bits ) ); +VLC_API vlc_fourcc_t vlc_fourcc_GetCodecAudio( vlc_fourcc_t i_fourcc, int i_bits ); /** * It returns the description of the given fourcc or NULL if not found. * * You may use UNKNOWN_ES for the ES category if you don't have the information. */ -VLC_EXPORT( const char *, vlc_fourcc_GetDescription, ( int i_cat, vlc_fourcc_t i_fourcc ) ); +VLC_API const char * vlc_fourcc_GetDescription( int i_cat, vlc_fourcc_t i_fourcc ); /** * It returns a list (terminated with the value 0) of YUV fourccs in @@ -389,7 +412,7 @@ VLC_EXPORT( const char *, vlc_fourcc_GetDescription, ( int i_cat, vlc_fourcc_t i * * It will always return a non NULL pointer that must not be freed. */ -VLC_EXPORT( const vlc_fourcc_t *, vlc_fourcc_GetYUVFallback, ( vlc_fourcc_t ) ); +VLC_API const vlc_fourcc_t * vlc_fourcc_GetYUVFallback( vlc_fourcc_t ); /** * It returns a list (terminated with the value 0) of RGB fourccs in @@ -397,18 +420,18 @@ VLC_EXPORT( const vlc_fourcc_t *, vlc_fourcc_GetYUVFallback, ( vlc_fourcc_t ) ); * * It will always return a non NULL pointer that must not be freed. */ -VLC_EXPORT( const vlc_fourcc_t *, vlc_fourcc_GetRGBFallback, ( vlc_fourcc_t ) ); +VLC_API const vlc_fourcc_t * vlc_fourcc_GetRGBFallback( vlc_fourcc_t ); /** * It returns true if the given fourcc is YUV and false otherwise. */ -VLC_EXPORT( bool, vlc_fourcc_IsYUV, ( vlc_fourcc_t ) ); +VLC_API bool vlc_fourcc_IsYUV( vlc_fourcc_t ); /** * It returns true if the two fourccs are equivalent if their U&V planes are * swapped. */ -VLC_EXPORT( bool, vlc_fourcc_AreUVPlanesSwapped, (vlc_fourcc_t , vlc_fourcc_t ) ); +VLC_API bool vlc_fourcc_AreUVPlanesSwapped(vlc_fourcc_t , vlc_fourcc_t ); /** * Chroma related information. @@ -432,7 +455,7 @@ typedef struct { * It returns a vlc_chroma_description_t describing the request fourcc or NULL * if not found. */ -VLC_EXPORT( 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 ); #endif /* _VLC_FOURCC_H */