00001 #ifndef _FOURCC_H
00002 #define _FOURCC_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef MKTAG
00017 #define MKTAG(a,b,c,d) (a | (b << 8) | (c << 16) | (d << 24))
00018 #endif
00019
00020
00021 static inline char * fourcc_str(int i)
00022 {
00023 static char str[5];
00024
00025 str[0] = ((char) (i & 0xFF)),
00026 str[1] = ((char) ((i >> 8) & 0xFF)),
00027 str[2] = ((char) ((i >> 16) & 0xFF)),
00028 str[3] = ((char) ((i >> 24) & 0xFF)),
00029 str[4] = '\0';
00030
00031 return str;
00032 }
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #define FOURCC_422P MKTAG('4','2','2','P')
00045 #define FOURCC_AI44 MKTAG('A','I','4','4')
00046 #define FOURCC_I420 MKTAG('I','4','2','0')
00047 #define FOURCC_IA44 MKTAG('I','A','4','4')
00048 #define FOURCC_IYUV MKTAG('I','Y','U','V')
00049 #define FOURCC_RGB2 MKTAG('R','G','B','2')
00050 #define FOURCC_RGBX MKTAG('R','G','B','X')
00051 #define FOURCC_RV15 MKTAG('R','V','1','5')
00052 #define FOURCC_RV16 MKTAG('R','V','1','6')
00053 #define FOURCC_RV24 MKTAG('R','V','2','4')
00054 #define FOURCC_RV32 MKTAG('R','V','3','2')
00055 #define FOURCC_YU12 MKTAG('Y','U','1','2')
00056 #define FOURCC_YUNV MKTAG('Y','U','N','V')
00057 #define FOURCC_YUY2 MKTAG('Y','U','Y','2')
00058 #define FOURCC_YUYV MKTAG('Y','U','Y','V')
00059 #define FOURCC_YV12 MKTAG('Y','V','1','2')
00060
00061
00062
00063
00064
00065 #define GUID_I420_PLANAR 0x30323449
00066 #define GUID_IYUV_PLANAR 0x56555949
00067 #define GUID_YV12_PLANAR 0x32315659
00068 #define GUID_IA44_PACKED 0x34344941
00069 #define GUID_AI44_PACKED 0x34344149
00070
00071
00072
00073
00074
00075
00076 #define FOURCC_LAME MKTAG('L','A','M','E')
00077 #define FOURCC_RAWA MKTAG('R','A','W','A')
00078 #define FOURCC_AC3 MKTAG('A','C','3',' ')
00079
00080
00081
00082
00083
00084
00085 #define FOURCC_DIV3 MKTAG('D','I','V','3')
00086 #define FOURCC_DIVX MKTAG('D','I','V','X')
00087 #define FOURCC_dvsd MKTAG('d','v','s','d')
00088 #define FOURCC_H263 MKTAG('H','2','6','3')
00089 #define FOURCC_H264 MKTAG('H','2','6','4')
00090 #define FOURCC_HFYU MKTAG('H','F','Y','U')
00091 #define FOURCC_I263 MKTAG('I','2','6','3')
00092 #define FOURCC_MJPG MKTAG('M','J','P','G')
00093 #define FOURCC_MP42 MKTAG('M','P','4','2')
00094 #define FOURCC_MPEG MKTAG('M','P','E','G')
00095 #define FOURCC_MPG2 MKTAG('M','P','G','2')
00096 #define FOURCC_MPG4 MKTAG('M','P','G','4')
00097 #define FOURCC_RJPG MKTAG('R','J','P','G')
00098 #define FOURCC_WMV1 MKTAG('W','M','V','1')
00099
00100
00101
00102 #endif // ifndef _FOURCC_H