25 #define VLC_CODECS_H 1
35 #if !(defined _GUID_DEFINED || defined GUID_DEFINED)
48 #ifdef HAVE_ATTRIBUTE_PACKED
49 # define ATTR_PACKED __attribute__((__packed__))
50 #elif defined(__SUNPRO_C)
53 #elif defined(__APPLE__)
54 # pragma pack(push, 1)
60 #ifndef _WAVEFORMATEX_
61 #define _WAVEFORMATEX_
67 uint32_t nSamplesPerSec;
68 uint32_t nAvgBytesPerSec;
70 uint16_t wBitsPerSample;
75 #ifndef _WAVEFORMATEXTENSIBLE_
76 #define _WAVEFORMATEXTENSIBLE_
82 uint16_t wValidBitsPerSample;
83 uint16_t wSamplesPerBlock;
86 uint32_t dwChannelMask;
100 uint32_t SubChunkLength;
104 uint32_t BytesPerSec;
105 uint16_t BytesPerSample;
106 uint16_t BitsPerSample;
107 uint32_t DataChunkID;
112 #ifndef _VLC_BITMAPINFOHEADER_
113 #define _VLC_BITMAPINFOHEADER_
123 uint32_t biCompression;
124 uint32_t biSizeImage;
125 uint32_t biXPelsPerMeter;
126 uint32_t biYPelsPerMeter;
128 uint32_t biClrImportant;
144 int left, top, right, bottom;
148 #ifndef _REFERENCE_TIME_
149 #define _REFERENCE_TIME_
153 #ifndef _VIDEOINFOHEADER_
154 #define _VIDEOINFOHEADER_
161 uint32_t dwBitErrorRate;
179 #ifndef _TRUECOLORINFO_
180 #define _TRUECOLORINFO_
184 uint32_t dwBitMasks[3];
197 uint32_t dwBitErrorRate;
204 uint32_t dwBitMasks[3];
211 #if defined(__SUNPRO_C)
213 #elif defined(__APPLE__) && !HAVE_ATTRIBUTE_PACKED
219 #define WAVE_FORMAT_UNKNOWN 0x0000
220 #define WAVE_FORMAT_PCM 0x0001
221 #define WAVE_FORMAT_ADPCM 0x0002
222 #define WAVE_FORMAT_IEEE_FLOAT 0x0003
223 #define WAVE_FORMAT_ALAW 0x0006
224 #define WAVE_FORMAT_MULAW 0x0007
225 #define WAVE_FORMAT_DTS_MS 0x0008
226 #define WAVE_FORMAT_WMAS 0x000a
227 #define WAVE_FORMAT_IMA_ADPCM 0x0011
228 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020
229 #define WAVE_FORMAT_TRUESPEECH 0x0022
230 #define WAVE_FORMAT_GSM610 0x0031
231 #define WAVE_FORMAT_MSNAUDIO 0x0032
232 #define WAVE_FORMAT_MSG723 0x0042
233 #define WAVE_FORMAT_G726 0x0045
234 #define WAVE_FORMAT_MPEG 0x0050
235 #define WAVE_FORMAT_MPEGLAYER3 0x0055
236 #define WAVE_FORMAT_AMR_NB 0x0057
237 #define WAVE_FORMAT_AMR_WB 0x0058
238 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
240 #define WAVE_FORMAT_AAC 0x00FF
241 #define WAVE_FORMAT_AAC_MS 0xa106
242 #define WAVE_FORMAT_SIPRO 0x0130
244 #define WAVE_FORMAT_WMA1 0x0160
245 #define WAVE_FORMAT_WMA2 0x0161
246 #define WAVE_FORMAT_WMAP 0x0162
247 #define WAVE_FORMAT_WMAL 0x0163
249 #define WAVE_FORMAT_ULEAD_DV_AUDIO_NTSC 0x0215
250 #define WAVE_FORMAT_ULEAD_DV_AUDIO_PAL 0x0216
252 #define WAVE_FORMAT_ATRAC3 0x0270
253 #define WAVE_FORMAT_SONY_ATRAC3 0x0272
255 #define WAVE_FORMAT_INDEO_AUDIO 0x0402
257 #define WAVE_FORMAT_AAC_2 0x1601
258 #define WAVE_FORMAT_AAC_LATM 0x1602
260 #define WAVE_FORMAT_A52 0x2000
261 #define WAVE_FORMAT_DTS 0x2001
262 #define WAVE_FORMAT_FFMPEG_AAC 0x706D
263 #define WAVE_FORMAT_DIVIO_AAC 0x4143
265 #define WAVE_FORMAT_GSM_AMR_FIXED 0x7A21
266 #define WAVE_FORMAT_GSM_AMR 0x7A22
269 #define WAVE_FORMAT_DK3 0x0061
270 #define WAVE_FORMAT_DK4 0x0062
275 #define WAVE_FORMAT_VORBIS 0x566f
283 #define WAVE_FORMAT_VORB_1 0x674f
284 #define WAVE_FORMAT_VORB_2 0x6750
285 #define WAVE_FORMAT_VORB_3 0x6751
286 #define WAVE_FORMAT_VORB_1PLUS 0x676f
287 #define WAVE_FORMAT_VORB_2PLUS 0x6770
288 #define WAVE_FORMAT_VORB_3PLUS 0x6771
290 #define WAVE_FORMAT_G723_1 0xa100
292 #define WAVE_FORMAT_SPEEX 0xa109
293 #define WAVE_FORMAT_FLAC 0xf1ac
295 #if !defined(WAVE_FORMAT_EXTENSIBLE)
296 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE
303 #ifndef _KSDATAFORMAT_SUBTYPE_PCM_
304 #define _KSDATAFORMAT_SUBTYPE_PCM_ {0x00000001, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}}
305 static const GUID VLC_KSDATAFORMAT_SUBTYPE_PCM = {0xE923AABF, 0xCB58, 0x4471, {0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62}};
306 #define KSDATAFORMAT_SUBTYPE_PCM VLC_KSDATAFORMAT_SUBTYPE_PCM
309 #ifndef _KSDATAFORMAT_SUBTYPE_UNKNOWN_
310 #define _KSDATAFORMAT_SUBTYPE_UNKNOWN_ {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
311 static const GUID VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
312 #define KSDATAFORMAT_SUBTYPE_UNKNOWN VLC_KSDATAFORMAT_SUBTYPE_UNKNOWN
316 #define WAVE_SPEAKER_FRONT_LEFT 0x1
317 #define WAVE_SPEAKER_FRONT_RIGHT 0x2
318 #define WAVE_SPEAKER_FRONT_CENTER 0x4
319 #define WAVE_SPEAKER_LOW_FREQUENCY 0x8
320 #define WAVE_SPEAKER_BACK_LEFT 0x10
321 #define WAVE_SPEAKER_BACK_RIGHT 0x20
322 #define WAVE_SPEAKER_FRONT_LEFT_OF_CENTER 0x40
323 #define WAVE_SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
324 #define WAVE_SPEAKER_BACK_CENTER 0x100
325 #define WAVE_SPEAKER_SIDE_LEFT 0x200
326 #define WAVE_SPEAKER_SIDE_RIGHT 0x400
327 #define WAVE_SPEAKER_TOP_CENTER 0x800
328 #define WAVE_SPEAKER_TOP_FRONT_LEFT 0x1000
329 #define WAVE_SPEAKER_TOP_FRONT_CENTER 0x2000
330 #define WAVE_SPEAKER_TOP_FRONT_RIGHT 0x4000
331 #define WAVE_SPEAKER_TOP_BACK_LEFT 0x8000
332 #define WAVE_SPEAKER_TOP_BACK_CENTER 0x10000
333 #define WAVE_SPEAKER_TOP_BACK_RIGHT 0x20000
334 #define WAVE_SPEAKER_RESERVED 0x80000000
403 const char **ppsz_name )