widl: Add support for function parameter flags to SLTG typelib generator.
[wine.git] / include / mmreg.h
bloba8b0056064e6133a6ebd60b94dde490c70e0c9dd
1 /*
2 * Declarations for MultiMedia-REGistration
4 * Copyright (C) 1999 Eric Pouech
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WIDL__
23 #ifndef __WINE_MMREG_H
24 #define __WINE_MMREG_H
26 #include <pshpack1.h>
28 /***********************************************************************
29 * Defines/Enums
32 #ifndef _ACM_WAVEFILTER
33 #define _ACM_WAVEFILTER
35 #define WAVE_FILTER_UNKNOWN 0x0000
36 #define WAVE_FILTER_DEVELOPMENT 0xFFFF
38 typedef struct _WAVEFILTER {
39 DWORD cbStruct;
40 DWORD dwFilterTag;
41 DWORD fdwFilter;
42 DWORD dwReserved[5];
43 } WAVEFILTER, *PWAVEFILTER, *NPWAVEFILTER, *LPWAVEFILTER;
44 #endif /* _ACM_WAVEFILTER */
46 #ifndef WAVE_FILTER_VOLUME
47 #define WAVE_FILTER_VOLUME 0x0001
49 typedef struct _WAVEFILTER_VOLUME {
50 WAVEFILTER wfltr;
51 DWORD dwVolume;
52 } VOLUMEWAVEFILTER, *PVOLUMEWAVEFILTER, *NPVOLUMEWAVEFILTER, *LPVOLUMEWAVEFILTER;
53 #endif /* WAVE_FILTER_VOLUME */
55 #ifndef WAVE_FILTER_ECHO
56 #define WAVE_FILTER_ECHO 0x0002
58 typedef struct WAVEFILTER_ECHO {
59 WAVEFILTER wfltr;
60 DWORD dwVolume;
61 DWORD dwDelay;
62 } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER;
63 #endif /* WAVEFILTER_ECHO */
65 #ifndef _WAVEFORMATEX_
66 #define _WAVEFORMATEX_
67 typedef struct _WAVEFORMATEX {
68 WORD wFormatTag;
69 WORD nChannels;
70 DWORD nSamplesPerSec;
71 DWORD nAvgBytesPerSec;
72 WORD nBlockAlign;
73 WORD wBitsPerSample;
74 WORD cbSize;
75 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
76 #endif /* _WAVEFORMATEX_ */
78 #ifndef WAVE_FORMAT_PCM
79 typedef struct waveformat_tag {
80 WORD wFormatTag;
81 WORD nChannels;
82 DWORD nSamplesPerSec;
83 DWORD nAvgBytesPerSec;
84 WORD nBlockAlign;
85 } WAVEFORMAT, *PWAVEFORMAT, *NPWAVEFORMAT, *LPWAVEFORMAT;
87 typedef struct pcmwaveformat_tag {
88 WAVEFORMAT wf;
89 WORD wBitsPerSample;
90 } PCMWAVEFORMAT, *PPCMWAVEFORMAT, *NPPCMWAVEFORMAT, *LPPCMWAVEFORMAT;
91 #endif /* WAVE_FORMAT_PCM */
93 /* WAVE form wFormatTag IDs */
94 #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
95 #ifndef WAVE_FORMAT_PCM
96 #define WAVE_FORMAT_PCM 0x0001
97 #endif
98 #define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
99 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
100 #define WAVE_FORMAT_VSELP 0x0004
101 #define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
102 #define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
103 #define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
104 #define WAVE_FORMAT_DTS 0x0008
105 #define WAVE_FORMAT_DRM 0x0009
106 #define WAVE_FORMAT_WMAVOICE9 0x000a
107 #define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
108 #define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
109 #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
110 #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 /* Videologic */
111 #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 /* Sierra Semiconductor Corp */
112 #define WAVE_FORMAT_G723_ADPCM 0x0014 /* Antex Electronics Corporation */
113 #define WAVE_FORMAT_DIGISTD 0x0015 /* DSP Solutions, Inc. */
114 #define WAVE_FORMAT_DIGIFIX 0x0016 /* DSP Solutions, Inc. */
115 #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 /* Dialogic Corporation */
116 #define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018
117 #define WAVE_FORMAT_CU_CODEC 0x0019
118 #define WAVE_FORMAT_HP_DYN_VOICE 0x001a
119 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 /* Yamaha Corporation of America */
120 #define WAVE_FORMAT_SONARC 0x0021 /* Speech Compression */
121 #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 /* DSP Group, Inc */
122 #define WAVE_FORMAT_ECHOSC1 0x0023 /* Echo Speech Corporation */
123 #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 /* */
124 #define WAVE_FORMAT_APTX 0x0025 /* Audio Processing Technology */
125 #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 /* */
126 #define WAVE_FORMAT_PROSODY_1612 0x0027
127 #define WAVE_FORMAT_LRC 0x0028
128 #define WAVE_FORMAT_DOLBY_AC2 0x0030 /* Dolby Laboratories */
129 #define WAVE_FORMAT_GSM610 0x0031 /* Microsoft Corporation */
130 #define WAVE_FORMAT_MSNAUDIO 0x0032
131 #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 /* Antex Electronics Corporation */
132 #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 /* Control Resources Limited */
133 #define WAVE_FORMAT_DIGIREAL 0x0035 /* DSP Solutions, Inc. */
134 #define WAVE_FORMAT_DIGIADPCM 0x0036 /* DSP Solutions, Inc. */
135 #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 /* Control Resources Limited */
136 #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 /* Natural MicroSystems */
137 #define WAVE_FORMAT_CS_IMAADPCM 0x0039
138 #define WAVE_FORMAT_ECHOSC3 0x003a
139 #define WAVE_FORMAT_ROCKWELL_ADPCM 0x003b
140 #define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003c
141 #define WAVE_FORMAT_XEBEC 0x003d
142 #define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
143 #define WAVE_FORMAT_G728_CELP 0x0041
144 #define WAVE_FORMAT_MSG723 0x0042
145 #define WAVE_FORMAT_INTEL_G723_1 0x0043
146 #define WAVE_FORMAT_INTEL_G729 0x0044
147 #define WAVE_FORMAT_SHARP_G726 0x0045
148 #define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
149 #define WAVE_FORMAT_RT24 0x0052
150 #define WAVE_FORMAT_PAC 0x0053
151 #define WAVE_FORMAT_MPEGLAYER3 0x0055
152 #define WAVE_FORMAT_LUCENT_G723 0x0059
153 #define WAVE_FORMAT_CIRRUS 0x0060
154 #define WAVE_FORMAT_ESPCM 0x0061
155 #define WAVE_FORMAT_VOXWARE 0x0062
156 #define WAVE_FORMAT_CANOPUS_ATRAC 0x0063
157 #define WAVE_FORMAT_G726_ADPCM 0x0064
158 #define WAVE_FORMAT_G722_ADPCM 0x0065
159 #define WAVE_FORMAT_DSAT 0x0066
160 #define WAVE_FORMAT_DSAT_DISPLAY 0x0067
161 #define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069
162 #define WAVE_FORMAT_VOXWARE_AC8 0x0070
163 #define WAVE_FORMAT_VOXWARE_AC10 0x0071
164 #define WAVE_FORMAT_VOXWARE_AC16 0x0072
165 #define WAVE_FORMAT_VOXWARE_AC20 0x0073
166 #define WAVE_FORMAT_VOXWARE_RT24 0x0074
167 #define WAVE_FORMAT_VOXWARE_RT29 0x0075
168 #define WAVE_FORMAT_VOXWARE_RT29HW 0x0076
169 #define WAVE_FORMAT_VOXWARE_VR12 0x0077
170 #define WAVE_FORMAT_VOXWARE_VR18 0x0078
171 #define WAVE_FORMAT_VOXWARE_TQ40 0x0079
172 #define WAVE_FORMAT_VOXWARE_SC3 0x007a
173 #define WAVE_FORMAT_VOXWARE_SC3_1 0x007b
174 #define WAVE_FORMAT_SOFTSOUND 0x0080
175 #define WAVE_FORMAT_VOXWARE_TQ60 0x0081
176 #define WAVE_FORMAT_MSRT24 0x0082 /* Microsoft Corporation */
177 #define WAVE_FORMAT_G729A 0x0083
178 #define WAVE_FORMAT_MVI_MVI2 0x0084
179 #define WAVE_FORMAT_DF_G726 0x0085
180 #define WAVE_FORMAT_DF_GSM610 0x0086
181 #define WAVE_FORMAT_ISIAUDIO 0x0088
182 #define WAVE_FORMAT_ONLIVE 0x0089
183 #define WAVE_FORMAT_MULTITUDE_FT_SX20 0x008a
184 #define WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM 0x008b
185 #define WAVE_FORMAT_CONVEDIA_G729 0x008c
186 #define WAVE_FORMAT_CONGRUENCY 0x008d
187 #define WAVE_FORMAT_SBC24 0x0091
188 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
189 #define WAVE_FORMAT_MEDIASONIC_G723 0x0093
190 #define WAVE_FORMAT_PROSODY_8KBPS 0x0094
191 #define WAVE_FORMAT_ZYXEL_ADPCM 0x0097
192 #define WAVE_FORMAT_PHILIPS_LPCBB 0x0098
193 #define WAVE_FORMAT_PACKED 0x0099
194 #define WAVE_FORMAT_MALDEN_PHONYTALK 0x00a0
195 #define WAVE_FORMAT_RACAL_RECORDER_GSM 0x00a1
196 #define WAVE_FORMAT_RACAL_RECORDER_G720_A 0x00a2
197 #define WAVE_FORMAT_RACAL_RECORDER_G723_1 0x00a3
198 #define WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP 0x00a4
199 #define WAVE_FORMAT_NEC_AAC 0x00b0
200 #define WAVE_FORMAT_RAW_AAC1 0x00ff
201 #define WAVE_FORMAT_RHETOREX_ADPCM 0x0100
202 #define WAVE_FORMAT_IRAT 0x0101
203 #define WAVE_FORMAT_VIVO_G723 0x0111
204 #define WAVE_FORMAT_VIVO_SIREN 0x0112
205 #define WAVE_FORMAT_PHILIPS_CELP 0x0120
206 #define WAVE_FORMAT_PHILIPS_GRUNDIG 0x0121
207 #define WAVE_FORMAT_DIGITAL_G723 0x0123
208 #define WAVE_FORMAT_SANYO_LD_ADPCM 0x0125
209 #define WAVE_FORMAT_SIPROLAB_ACEPLNET 0x0130
210 #define WAVE_FORMAT_SIPROLAB_ACELP4800 0x0131
211 #define WAVE_FORMAT_SIPROLAB_ACELP8V3 0x0132
212 #define WAVE_FORMAT_SIPROLAB_G729 0x0133
213 #define WAVE_FORMAT_SIPROLAB_G729A 0x0134
214 #define WAVE_FORMAT_SIPROLAB_KELVIN 0x0135
215 #define WAVE_FORMAT_VOICEAGE_AMR 0x0136
216 #define WAVE_FORMAT_G726ADPCM 0x0140
217 #define WAVE_FORMAT_DICTAPHONE_CELP68 0x0141
218 #define WAVE_FORMAT_DICTAPHONE_CELP54 0x0142
219 #define WAVE_FORMAT_QUALCOMM_PUREVOICE 0x0150
220 #define WAVE_FORMAT_QUALCOMM_HALFRATE 0x0151
221 #define WAVE_FORMAT_TUBGSM 0x0155
222 #define WAVE_FORMAT_MSAUDIO1 0x0160
223 #define WAVE_FORMAT_WMAUDIO2 0x0161
224 #define WAVE_FORMAT_WMAUDIO3 0x0162
225 #define WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163
226 #define WAVE_FORMAT_WMASPDIF 0x0164
227 #define WAVE_FORMAT_UNISYS_NAP_ADPCM 0x0170
228 #define WAVE_FORMAT_UNISYS_NAP_ULAW 0x0171
229 #define WAVE_FORMAT_UNISYS_NAP_ALAW 0x0172
230 #define WAVE_FORMAT_UNISYS_NAP_16K 0x0173
231 #define WAVE_FORMAT_SYCOM_ACM_SYC008 0x0174
232 #define WAVE_FORMAT_SYCOM_ACM_SYC701_G726L 0x0175
233 #define WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 0x0176
234 #define WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 0x0177
235 #define WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM 0x0178
236 #define WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC 0x0180
237 #define WAVE_FORMAT_DTS_DS 0x0190
238 #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
239 #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
240 #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
241 #define WAVE_FORMAT_UHER_ADPCM 0x0210
242 #define WAVE_FORMAT_ULEAD_DV_AUDIO 0x0215
243 #define WAVE_FORMAT_ULEAD_DV_AUDIO_1 0x0216
244 #define WAVE_FORMAT_QUARTERDECK 0x0220
245 #define WAVE_FORMAT_ILINK_VC 0x0230
246 #define WAVE_FORMAT_RAW_SPORT 0x0240
247 #define WAVE_FORMAT_ESST_AC3 0x0241
248 #define WAVE_FORMAT_GENERIC_PASSTHRU 0x0249
249 #define WAVE_FORMAT_IPI_HSX 0x0250
250 #define WAVE_FORMAT_IPI_RPELP 0x0251
251 #define WAVE_FORMAT_CS2 0x0260
252 #define WAVE_FORMAT_SONY_SCX 0x0270
253 #define WAVE_FORMAT_SONY_SCY 0x0271
254 #define WAVE_FORMAT_SONY_ATRAC3 0x0272
255 #define WAVE_FORMAT_SONY_SPC 0x0273
256 #define WAVE_FORMAT_TELUM_AUDIO 0x0280
257 #define WAVE_FORMAT_TELUM_IA_AUDIO 0x0281
258 #define WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM 0x0285
259 #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 /* Fujitsu Corp. */
260 #define WAVE_FORMAT_MICRONAS 0x0350
261 #define WAVE_FORMAT_MICRONAS_CELP833 0x0351
262 #define WAVE_FORMAT_BTV_DIGITAL 0x0400
263 #define WAVE_FORMAT_INTEL_MUSIC_CODER 0x0401
264 #define WAVE_FORMAT_INDEO_AUDIO 0x0402
265 #define WAVE_FORMAT_QDESIGN_MUSIC 0x0450
266 #define WAVE_FORMAT_ON2_VP7_AUDIO 0x0500
267 #define WAVE_FORMAT_ON2_VP6_AUDIO 0x0501
268 #define WAVE_FORMAT_VME_VMPCM 0x0680
269 #define WAVE_FORMAT_TPC 0x0681
270 #define WAVE_FORMAT_LIGHTWAVE_LOSSLESS 0x08ae
271 #define WAVE_FORMAT_OLIGSM 0x1000 /* Ing C. Olivetti & C., S.p.A. */
272 #define WAVE_FORMAT_OLIADPCM 0x1001 /* Ing C. Olivetti & C., S.p.A. */
273 #define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
274 #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
275 #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
276 #define WAVE_FORMAT_LH_CODEC 0x1100
277 #define WAVE_FORMAT_LH_CODEC_CELP 0x1101
278 #define WAVE_FORMAT_LH_CODEC_SBC8 0x1102
279 #define WAVE_FORMAT_LH_CODEC_SBC12 0x1103
280 #define WAVE_FORMAT_LH_CODEC_SBC16 0x1104
281 #define WAVE_FORMAT_NORRIS 0x1400
282 #define WAVE_FORMAT_ISIAUDIO_2 0x1401
283 #define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
284 #define WAVE_FORMAT_MPEG_ADTS_AAC 0x1600
285 #define WAVE_FORMAT_MPEG_RAW_AAC 0x1601
286 #define WAVE_FORMAT_MPEG_LOAS 0x1602
287 #define WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC 0x1608
288 #define WAVE_FORMAT_NOKIA_MPEG_RAW_AAC 0x1609
289 #define WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC 0x160a
290 #define WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC 0x160b
291 #define WAVE_FORMAT_MPEG_HEAAC 0x1610
292 #define WAVE_FORMAT_VOXWARE_RT24_SPEECH 0x181c
293 #define WAVE_FORMAT_SONICFOUNDRY_LOSSLESS 0x1971
294 #define WAVE_FORMAT_INNINGS_TELECOM_ADPCM 0x1979
295 #define WAVE_FORMAT_LUCENT_SX8300P 0x1c07
296 #define WAVE_FORMAT_LUCENT_SX5363S 0x1c0c
297 #define WAVE_FORMAT_CUSEEME 0x1f03
298 #define WAVE_FORMAT_NTCSOFT_ALF2CM_ACM 0x1fc4
299 #define WAVE_FORMAT_DVM 0x2000
300 #define WAVE_FORMAT_DTS2 0x2001
301 #define WAVE_FORMAT_MAKEAVIS 0x3313
302 #define WAVE_FORMAT_DIVIO_MPEG4_AAC 0x4143
303 #define WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE 0x4201
304 #define WAVE_FORMAT_DIVIO_G726 0x4243
305 #define WAVE_FORMAT_LEAD_SPEECH 0x434c
306 #define WAVE_FORMAT_LEAD_VORBIS 0x564c
307 #define WAVE_FORMAT_WAVPACK_AUDIO 0x5756
308 #define WAVE_FORMAT_ALAC 0x6c61
309 #define WAVE_FORMAT_OGG_VORBIS_MODE_1 0x674f
310 #define WAVE_FORMAT_OGG_VORBIS_MODE_2 0x6750
311 #define WAVE_FORMAT_OGG_VORBIS_MODE_3 0x6751
312 #define WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS 0x676f
313 #define WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS 0x6770
314 #define WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS 0x6771
315 #define WAVE_FORMAT_3COM_NBX 0x7000
316 #define WAVE_FORMAT_OPUS 0x704f
317 #define WAVE_FORMAT_FAAD_AAC 0x706d
318 #define WAVE_FORMAT_AMR_NB 0x7361
319 #define WAVE_FORMAT_AMR_WB 0x7362
320 #define WAVE_FORMAT_AMR_WP 0x7363
321 #define WAVE_FORMAT_GSM_AMR_CBR 0x7a21
322 #define WAVE_FORMAT_GSM_AMR_VBR_SID 0x7a22
323 #define WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 0xa100
324 #define WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC 0xa101
325 #define WAVE_FORMAT_COMVERSE_INFOSYS_SBC 0xa102
326 #define WAVE_FORMAT_SYMBOL_G729_A 0xa103
327 #define WAVE_FORMAT_VOICEAGE_AMR_WB 0xa104
328 #define WAVE_FORMAT_INGENIENT_G726 0xa105
329 #define WAVE_FORMAT_MPEG4_AAC 0xa106
330 #define WAVE_FORMAT_ENCORE_G726 0xa107
331 #define WAVE_FORMAT_ZOLL_ASAO 0xa108
332 #define WAVE_FORMAT_SPEEX_VOICE 0xa109
333 #define WAVE_FORMAT_VIANIX_MASC 0xa10a
334 #define WAVE_FORMAT_WM9_SPECTRUM_ANALYZER 0xa10b
335 #define WAVE_FORMAT_WMF_SPECTRUM_ANAYZER 0xa10c
336 #define WAVE_FORMAT_GSM_610 0xa10d
337 #define WAVE_FORMAT_GSM_620 0xa10e
338 #define WAVE_FORMAT_GSM_660 0xa10f
339 #define WAVE_FORMAT_GSM_690 0xa110
340 #define WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB 0xa111
341 #define WAVE_FORMAT_POLYCOM_G722 0xa112
342 #define WAVE_FORMAT_POLYCOM_G728 0xa113
343 #define WAVE_FORMAT_POLYCOM_G729_A 0xa114
344 #define WAVE_FORMAT_POLYCOM_SIREN 0xa115
345 #define WAVE_FORMAT_GLOBAL_IP_ILBC 0xa116
346 #define WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO 0xa117
347 #define WAVE_FORMAT_NICE_ACA 0xa118
348 #define WAVE_FORMAT_NICE_ADPCM 0xa119
349 #define WAVE_FORMAT_VOCORD_G721 0xa11a
350 #define WAVE_FORMAT_VOCORD_G726 0xa11b
351 #define WAVE_FORMAT_VOCORD_G722_1 0xa11c
352 #define WAVE_FORMAT_VOCORD_G728 0xa11d
353 #define WAVE_FORMAT_VOCORD_G729 0xa11e
354 #define WAVE_FORMAT_VOCORD_G729_A 0xa11f
355 #define WAVE_FORMAT_VOCORD_G723_1 0xa120
356 #define WAVE_FORMAT_VOCORD_LBC 0xa121
357 #define WAVE_FORMAT_NICE_G728 0xa122
358 #define WAVE_FORMAT_FRACE_TELECOM_G729 0xa123
359 #define WAVE_FORMAT_CODIAN 0xa124
360 #define WAVE_FORMAT_FLAC 0xf1ac
361 #if !defined(WAVE_FORMAT_EXTENSIBLE)
362 #define WAVE_FORMAT_EXTENSIBLE 0xfffe /* Microsoft */
363 #endif
364 #define WAVE_FORMAT_DEVELOPMENT (0xffff)
367 #ifndef MM_MICROSOFT
368 #define MM_MICROSOFT 0x01
369 #endif
370 #define MM_MSFT_ACM_MSADPCM 0x21
371 #define MM_MSFT_ACM_IMAADPCM 0x22
372 #define MM_MSFT_ACM_GSM610 0x24
373 #define MM_MSFT_ACM_G711 0x25
374 #define MM_MSFT_ACM_PCM 0x26
375 #define MM_MSFT_ACM_WMAUDIO 39
376 #define MM_MSFT_ACM_MSAUDIO1 39
377 #define MM_MSFT_ACM_WMAUDIO2 101
379 #define MM_FRAUNHOFER_IIS 0xAC
380 #define MM_FHGIIS_MPEGLAYER3_DECODE 0x09
381 #define MM_FHGIIS_MPEGLAYER3_PROFESSIONAL 0x0d
383 typedef struct adpcmcoef_tag {
384 short iCoef1;
385 short iCoef2;
386 } ADPCMCOEFSET;
387 typedef ADPCMCOEFSET *PADPCMCOEFSET,
388 *NPADPCMCOEFSET, *LPADPCMCOEFSET;
390 typedef struct adpcmwaveformat_tag {
391 WAVEFORMATEX wfx;
392 WORD wSamplesPerBlock;
393 WORD wNumCoef;
394 /* FIXME: this should be aCoef[0] */
395 ADPCMCOEFSET aCoef[1];
396 } ADPCMWAVEFORMAT;
397 typedef ADPCMWAVEFORMAT *PADPCMWAVEFORMAT,
398 *NPADPCMWAVEFORMAT, *LPADPCMWAVEFORMAT;
400 typedef struct drmwaveformat_tag {
401 WAVEFORMATEX wfx;
402 WORD wReserved;
403 ULONG ulContentId;
404 WAVEFORMATEX wfxSecure;
405 } DRMWAVEFORMAT;
406 typedef DRMWAVEFORMAT *PDRMWAVEFORMAT, *NPDRMWAVEFORMAT,
407 *LPDRMWAVEFORMAT;
409 typedef struct dvi_adpcmwaveformat_tag {
410 WAVEFORMATEX wfx;
411 WORD wSamplesPerBlock;
412 } DVIADPCMWAVEFORMAT;
413 typedef DVIADPCMWAVEFORMAT *PDVIADPCMWAVEFORMAT,
414 *NPDVIADPCMWAVEFORMAT, *LPDVIADPCMWAVEFORMAT;
416 typedef struct ima_adpcmwaveformat_tag {
417 WAVEFORMATEX wfx;
418 WORD wSamplesPerBlock;
419 } IMAADPCMWAVEFORMAT;
420 typedef IMAADPCMWAVEFORMAT *PIMAADPCMWAVEFORMAT, *NPIMAADPCMWAVEFORMAT,
421 *LPIMAADPCMWAVEFORMAT;
423 typedef struct mediaspace_adpcmwaveformat_tag {
424 WAVEFORMATEX wfx;
425 WORD wRevision;
426 } MEDIASPACEADPCMWAVEFORMAT;
427 typedef MEDIASPACEADPCMWAVEFORMAT *PMEDIASPACEADPCMWAVEFORMAT,
428 *NPMEDIASPACEADPCMWAVEFORMAT, *LPMEDIASPACEADPCMWAVEFORMAT;
430 typedef struct sierra_adpcmwaveformat_tag {
431 WAVEFORMATEX wfx;
432 WORD wRevision;
433 } SIERRAADPCMWAVEFORMAT;
434 typedef SIERRAADPCMWAVEFORMAT *PSIERRAADPCMWAVEFORMAT,
435 *NPSIERRAADPCMWAVEFORMAT, *LPSIERRAADPCMWAVEFORMAT;
437 typedef struct g723_adpcmwaveformat_tag {
438 WAVEFORMATEX wfx;
439 WORD cbExtraSize;
440 WORD nAuxBlockSize;
441 } G723_ADPCMWAVEFORMAT;
442 typedef G723_ADPCMWAVEFORMAT *PG723_ADPCMWAVEFORMAT,
443 *NPG723_ADPCMWAVEFORMAT, *LPG723_ADPCMWAVEFORMAT;
445 typedef struct digistdwaveformat_tag {
446 WAVEFORMATEX wfx;
447 } DIGISTDWAVEFORMAT;
448 typedef DIGISTDWAVEFORMAT *PDIGISTDWAVEFORMAT,
449 *NPDIGISTDWAVEFORMAT, *LPDIGISTDWAVEFORMAT;
451 typedef struct digifixwaveformat_tag {
452 WAVEFORMATEX wfx;
453 } DIGIFIXWAVEFORMAT;
454 typedef DIGIFIXWAVEFORMAT *PDIGIFIXWAVEFORMAT,
455 *NPDIGIFIXWAVEFORMAT, *LPDIGIFIXWAVEFORMAT;
457 typedef struct creative_fastspeechformat_tag {
458 WAVEFORMATEX ewf;
459 } DIALOGICOKIADPCMWAVEFORMAT;
460 typedef DIALOGICOKIADPCMWAVEFORMAT *PDIALOGICOKIADPCMWAVEFORMAT,
461 *NPDIALOGICOKIADPCMWAVEFORMAT, *LPDIALOGICOKIADPCMWAVEFORMAT;
463 typedef struct yamaha_adpmcwaveformat_tag {
464 WAVEFORMATEX wfx;
465 } YAMAHA_ADPCMWAVEFORMAT;
466 typedef YAMAHA_ADPCMWAVEFORMAT *PYAMAHA_ADPCMWAVEFORMAT,
467 *NPYAMAHA_ADPCMWAVEFORMAT, *LPYAMAHA_ADPCMWAVEFORMAT;
469 typedef struct sonarcwaveformat_tag {
470 WAVEFORMATEX wfx;
471 WORD wCompType;
472 } SONARCWAVEFORMAT;
473 typedef SONARCWAVEFORMAT *PSONARCWAVEFORMAT,
474 *NPSONARCWAVEFORMAT,*LPSONARCWAVEFORMAT;
476 typedef struct truespeechwaveformat_tag {
477 WAVEFORMATEX wfx;
478 WORD wRevision;
479 WORD nSamplesPerBlock;
480 BYTE abReserved[28];
481 } TRUESPEECHWAVEFORMAT;
482 typedef TRUESPEECHWAVEFORMAT *PTRUESPEECHWAVEFORMAT,
483 *NPTRUESPEECHWAVEFORMAT, *LPTRUESPEECHWAVEFORMAT;
485 typedef struct echosc1waveformat_tag {
486 WAVEFORMATEX wfx;
487 } ECHOSC1WAVEFORMAT;
488 typedef ECHOSC1WAVEFORMAT *PECHOSC1WAVEFORMAT,
489 *NPECHOSC1WAVEFORMAT, *LPECHOSC1WAVEFORMAT;
491 typedef struct audiofile_af36waveformat_tag {
492 WAVEFORMATEX wfx;
493 } AUDIOFILE_AF36WAVEFORMAT;
494 typedef AUDIOFILE_AF36WAVEFORMAT *PAUDIOFILE_AF36WAVEFORMAT,
495 *NPAUDIOFILE_AF36WAVEFORMAT, *LPAUDIOFILE_AF36WAVEFORMAT;
497 typedef struct aptxwaveformat_tag {
498 WAVEFORMATEX wfx;
499 } APTXWAVEFORMAT;
500 typedef APTXWAVEFORMAT *PAPTXWAVEFORMAT,
501 *NPAPTXWAVEFORMAT, *LPAPTXWAVEFORMAT;
503 typedef struct audiofile_af10waveformat_tag {
504 WAVEFORMATEX wfx;
505 } AUDIOFILE_AF10WAVEFORMAT;
506 typedef AUDIOFILE_AF10WAVEFORMAT *PAUDIOFILE_AF10WAVEFORMAT,
507 *NPAUDIOFILE_AF10WAVEFORMAT, *LPAUDIOFILE_AF10WAVEFORMAT;
509 typedef struct dolbyac2waveformat_tag {
510 WAVEFORMATEX wfx;
511 WORD nAuxBitsCode;
512 } DOLBYAC2WAVEFORMAT;
514 typedef struct gsm610waveformat_tag {
515 WAVEFORMATEX wfx;
516 WORD wSamplesPerBlock;
517 } GSM610WAVEFORMAT;
518 typedef GSM610WAVEFORMAT *PGSM610WAVEFORMAT,
519 *NPGSM610WAVEFORMAT, *LPGSM610WAVEFORMAT;
521 typedef struct adpcmewaveformat_tag {
522 WAVEFORMATEX wfx;
523 WORD wSamplesPerBlock;
524 } ADPCMEWAVEFORMAT;
525 typedef ADPCMEWAVEFORMAT *PADPCMEWAVEFORMAT,
526 *NPADPCMEWAVEFORMAT, *LPADPCMEWAVEFORMAT;
528 typedef struct contres_vqlpcwaveformat_tag {
529 WAVEFORMATEX wfx;
530 WORD wSamplesPerBlock;
531 } CONTRESVQLPCWAVEFORMAT;
532 typedef CONTRESVQLPCWAVEFORMAT *PCONTRESVQLPCWAVEFORMAT,
533 *NPCONTRESVQLPCWAVEFORMAT, *LPCONTRESVQLPCWAVEFORMAT;
535 typedef struct digirealwaveformat_tag {
536 WAVEFORMATEX wfx;
537 WORD wSamplesPerBlock;
538 } DIGIREALWAVEFORMAT;
539 typedef DIGIREALWAVEFORMAT *PDIGIREALWAVEFORMAT,
540 *NPDIGIREALWAVEFORMAT, *LPDIGIREALWAVEFORMAT;
542 typedef struct digiadpcmmwaveformat_tag {
543 WAVEFORMATEX wfx;
544 WORD wSamplesPerBlock;
545 } DIGIADPCMWAVEFORMAT;
546 typedef DIGIADPCMWAVEFORMAT *PDIGIADPCMWAVEFORMAT,
547 *NPDIGIADPCMWAVEFORMAT, *LPDIGIADPCMWAVEFORMAT;
549 typedef struct contres_cr10waveformat_tag {
550 WAVEFORMATEX wfx;
551 WORD wSamplesPerBlock;
552 } CONTRESCR10WAVEFORMAT;
553 typedef CONTRESCR10WAVEFORMAT *PCONTRESCR10WAVEFORMAT,
554 *NPCONTRESCR10WAVEFORMAT, *LPCONTRESCR10WAVEFORMAT;
556 typedef struct nms_vbxadpcmmwaveformat_tag {
557 WAVEFORMATEX wfx;
558 WORD wSamplesPerBlock;
559 } NMS_VBXADPCMWAVEFORMAT;
560 typedef NMS_VBXADPCMWAVEFORMAT *PNMS_VBXADPCMWAVEFORMAT,
561 *NPNMS_VBXADPCMWAVEFORMAT, *LPNMS_VBXADPCMWAVEFORMAT;
563 typedef struct g721_adpcmwaveformat_tag {
564 WAVEFORMATEX wfx;
565 WORD nAuxBlockSize;
566 } G721_ADPCMWAVEFORMAT;
567 typedef G721_ADPCMWAVEFORMAT *PG721_ADPCMWAVEFORMAT,
568 *NG721_ADPCMWAVEFORMAT, *LPG721_ADPCMWAVEFORMAT;
570 typedef struct creative_adpcmwaveformat_tag {
571 WAVEFORMATEX wfx;
572 WORD wRevision;
573 } CREATIVEADPCMWAVEFORMAT;
574 typedef CREATIVEADPCMWAVEFORMAT *PCREATIVEADPCMWAVEFORMAT,
575 *NPCREATIVEADPCMWAVEFORMAT, *LPCREATIVEADPCMWAVEFORMAT;
577 typedef struct creative_fastspeech8format_tag {
578 WAVEFORMATEX wfx;
579 WORD wRevision;
580 } CREATIVEFASTSPEECH8WAVEFORMAT;
581 typedef CREATIVEFASTSPEECH8WAVEFORMAT *PCREATIVEFASTSPEECH8WAVEFORMAT,
582 *NPCREATIVEFASTSPEECH8WAVEFORMAT, *LPCREATIVEFASTSPEECH8WAVEFORMAT;
584 typedef struct creative_fastspeech10format_tag {
585 WAVEFORMATEX wfx;
586 WORD wRevision;
587 } CREATIVEFASTSPEECH10WAVEFORMAT;
588 typedef CREATIVEFASTSPEECH10WAVEFORMAT *PCREATIVEFASTSPEECH10WAVEFORMAT,
589 *NPCREATIVEFASTSPEECH10WAVEFORMAT, *LPCREATIVEFASTSPEECH10WAVEFORMAT;
591 typedef struct fmtowns_snd_waveformat_tag {
592 WAVEFORMATEX wfx;
593 WORD wRevision;
594 } FMTOWNS_SND_WAVEFORMAT;
595 typedef FMTOWNS_SND_WAVEFORMAT *PFMTOWNS_SND_WAVEFORMAT,
596 *NPFMTOWNS_SND_WAVEFORMAT, *LPFMTOWNS_SND_WAVEFORMAT;
598 typedef struct oligsmwaveformat_tag {
599 WAVEFORMATEX wfx;
600 } OLIGSMWAVEFORMAT;
601 typedef OLIGSMWAVEFORMAT *POLIGSMWAVEFORMAT,
602 *NPOLIGSMWAVEFORMAT, *LPOLIGSMWAVEFORMAT;
604 typedef struct oliadpcmwaveformat_tag {
605 WAVEFORMATEX wfx;
606 } OLIADPCMWAVEFORMAT;
607 typedef OLIADPCMWAVEFORMAT *POLIADPCMWAVEFORMAT,
608 *NPOLIADPCMWAVEFORMAT, *LPOLIADPCMWAVEFORMAT;
610 typedef struct olicelpwaveformat_tag {
611 WAVEFORMATEX wfx;
612 } OLICELPWAVEFORMAT;
613 typedef OLICELPWAVEFORMAT *POLICELPWAVEFORMAT,
614 *NPOLICELPWAVEFORMAT, *LPOLICELPWAVEFORMAT;
616 typedef struct olisbcwaveformat_tag {
617 WAVEFORMATEX wfx;
618 } OLISBCWAVEFORMAT;
619 typedef OLISBCWAVEFORMAT *POLISBCWAVEFORMAT,
620 *NPOLISBCWAVEFORMAT, *LPOLISBCWAVEFORMAT;
622 typedef struct olioprwaveformat_tag {
623 WAVEFORMATEX wfx;
624 } OLIOPRWAVEFORMAT;
625 typedef OLIOPRWAVEFORMAT *POLIOPRWAVEFORMAT,
626 *NPOLIOPRWAVEFORMAT, *LPOLIOPRWAVEFORMAT;
628 typedef struct csimaadpcmwaveformat_tag {
629 WAVEFORMATEX wfx;
630 } CSIMAADPCMWAVEFORMAT;
631 typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT,
632 *NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT;
634 typedef struct mpeg1waveformat_tag {
635 WAVEFORMATEX wfx;
636 WORD fwHeadLayer;
637 DWORD dwHeadBitrate;
638 WORD fwHeadMode;
639 WORD fwHeadModeExt;
640 WORD wHeadEmphasis;
641 WORD fwHeadFlags;
642 DWORD dwPTSLow;
643 DWORD dwPTSHigh;
644 } MPEG1WAVEFORMAT;
645 typedef MPEG1WAVEFORMAT *PMPEG1WAVEFORMAT,
646 *NPMPEG1WAVEFORMAT, *LPMPEG1WAVEFORMAT;
648 typedef struct heaacwaveinfo_tag
650 WAVEFORMATEX wfx;
651 WORD wPayloadType;
652 WORD wAudioProfileLevelIndication;
653 WORD wStructType;
654 WORD wReserved1;
655 DWORD dwReserved2;
656 } HEAACWAVEINFO, *PHEAACWAVEINFO;
658 typedef struct heaacwaveformat_tag
660 HEAACWAVEINFO wfInfo;
661 BYTE pbAudioSpecificConfig[1];
662 } HEAACWAVEFORMAT, *PHEAACWAVEFORMAT;
664 #define ACM_MPEG_LAYER1 0x0001
665 #define ACM_MPEG_LAYER2 0x0002
666 #define ACM_MPEG_LAYER3 0x0004
668 #define ACM_MPEG_STEREO 0x0001
669 #define ACM_MPEG_JOINTSTEREO 0x0002
670 #define ACM_MPEG_DUALCHANNEL 0x0004
671 #define ACM_MPEG_SINGLECHANNEL 0x0008
672 #define ACM_MPEG_PRIVATEBIT 0x0001
673 #define ACM_MPEG_COPYRIGHT 0x0002
674 #define ACM_MPEG_ORIGINALHOME 0x0004
675 #define ACM_MPEG_PROTECTIONBIT 0x0008
676 #define ACM_MPEG_ID_MPEG1 0x0010
678 typedef struct mpeglayer3waveformat_tag {
679 WAVEFORMATEX wfx;
680 WORD wID;
681 DWORD fdwFlags;
682 WORD nBlockSize;
683 WORD nFramesPerBlock;
684 WORD nCodecDelay;
685 } MPEGLAYER3WAVEFORMAT;
686 typedef MPEGLAYER3WAVEFORMAT *PMPEGLAYER3WAVEFORMAT,
687 *NPMPEGLAYER3WAVEFORMAT, *LPMPEGLAYER3WAVEFORMAT;
689 #define MPEGLAYER3_WFX_EXTRA_BYTES 12
691 #define MPEGLAYER3_ID_UNKNOWN 0
692 #define MPEGLAYER3_ID_MPEG 1
693 #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
695 #define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
696 #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
697 #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
699 typedef struct msaudio1waveformat_tag {
700 WAVEFORMATEX wfx;
701 WORD wSamplesPerBlock;
702 WORD wEncodeOptions;
703 } MSAUDIO1WAVEFORMAT, *LPMSAUDIO1WAVEFORMAT;
705 #define WMAUDIO_BITS_PER_SAMPLE 16
706 #define WMAUDIO_MAX_CHANNELS 2
708 #define MSAUDIO1_BITS_PER_SAMPLE WMAUDIO_BITS_PER_SAMPLE
709 #define MSAUDIO1_MAX_CHANNELS WMAUDIO_MAX_CHANNELS
710 #define MSAUDIO1_WFX_EXTRA_BYTES (sizeof(MSAUDIO1WAVEFORMAT) - sizeof(WAVEFORMATEX))
712 typedef struct wmaudio2waveformat_tag {
713 WAVEFORMATEX wfx;
714 DWORD dwSamplesPerBlock;
715 WORD wEncodeOptions;
716 DWORD dwSuperBlockAlign;
717 } WMAUDIO2WAVEFORMAT, *LPWMAUDIO2WAVEFORMAT;
719 #define WMAUDIO2_BITS_PER_SAMPLE WMAUDIO_BITS_PER_SAMPLE
720 #define WMAUDIO2_MAX_CHANNELS WMAUDIO_MAX_CHANNELS
721 #define WMAUDIO2_WFX_EXTRA_BYTES (sizeof(WMAUDIO2WAVEFORMAT) - sizeof(WAVEFORMATEX))
723 typedef struct wmaudio3waveformat_tag {
724 WAVEFORMATEX wfx;
725 WORD wValidBitsPerSample;
726 DWORD dwChannelMask;
727 DWORD dwReserved1;
728 DWORD dwReserved2;
729 WORD wEncodeOptions;
730 WORD wReserved3;
731 } WMAUDIO3WAVEFORMAT, *LPWMAUDIO3WAVEFORMAT;
733 #define WMAUDIO3_WFX_EXTRA_BYTES (sizeof(WMAUDIO3WAVEFORMAT) - sizeof(WAVEFORMATEX))
735 #ifdef GUID_DEFINED
737 #ifndef _WAVEFORMATEXTENSIBLE_
738 #define _WAVEFORMATEXTENSIBLE_
739 typedef struct {
740 WAVEFORMATEX Format;
741 union {
742 WORD wValidBitsPerSample;
743 WORD wSamplesPerBlock;
744 WORD wReserved;
745 } Samples;
746 DWORD dwChannelMask;
747 GUID SubFormat;
748 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
749 #endif /* _WAVEFORMATEXTENSIBLE_ */
751 #endif /* GUID_DEFINED */
753 typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX;
754 typedef WAVEFORMATPCMEX* PWAVEFORMATPCMEX;
755 typedef WAVEFORMATPCMEX* NPWAVEFORMATPCMEX;
756 typedef WAVEFORMATPCMEX* LPWAVEFORMATPCMEX;
758 typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX;
759 typedef WAVEFORMATIEEEFLOATEX* PWAVEFORMATIEEEFLOATEX;
760 typedef WAVEFORMATIEEEFLOATEX* NPWAVEFORMATIEEEFLOATEX;
761 typedef WAVEFORMATIEEEFLOATEX* LPWAVEFORMATIEEEFLOATEX;
763 #ifndef _SPEAKER_POSITIONS_
764 #define _SPEAKER_POSITIONS_
766 #define SPEAKER_FRONT_LEFT 0x00000001
767 #define SPEAKER_FRONT_RIGHT 0x00000002
768 #define SPEAKER_FRONT_CENTER 0x00000004
769 #define SPEAKER_LOW_FREQUENCY 0x00000008
770 #define SPEAKER_BACK_LEFT 0x00000010
771 #define SPEAKER_BACK_RIGHT 0x00000020
772 #define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040
773 #define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
774 #define SPEAKER_BACK_CENTER 0x00000100
775 #define SPEAKER_SIDE_LEFT 0x00000200
776 #define SPEAKER_SIDE_RIGHT 0x00000400
777 #define SPEAKER_TOP_CENTER 0x00000800
778 #define SPEAKER_TOP_FRONT_LEFT 0x00001000
779 #define SPEAKER_TOP_FRONT_CENTER 0x00002000
780 #define SPEAKER_TOP_FRONT_RIGHT 0x00004000
781 #define SPEAKER_TOP_BACK_LEFT 0x00008000
782 #define SPEAKER_TOP_BACK_CENTER 0x00010000
783 #define SPEAKER_TOP_BACK_RIGHT 0x00020000
784 #define SPEAKER_RESERVED 0x7FFC0000
785 #define SPEAKER_ALL 0x80000000
787 #endif /* _SPEAKER_POSITIONS_ */
789 /* DIB stuff */
791 #ifndef BI_BITFIELDS
792 #define BI_BITFIELDS 3
793 #endif
795 #ifndef QUERYDIBSUPPORT
796 #define QUERYDIBSUPPORT 3073
797 #define QDI_SETDIBITS 1
798 #define QDI_GETDIBITS 2
799 #define QDI_DIBTOSCREEN 4
800 #define QDI_STRETCHDIB 8
801 #endif
803 #ifndef NOBITMAP
804 typedef struct tagEXBMINFOHEADER {
805 BITMAPINFOHEADER bmi;
806 DWORD biExtDataOffset;
807 } EXBMINFOHEADER;
808 #endif
811 /* Video stuff */
813 #ifndef NONEWIC
815 #ifndef ICTYPE_VIDEO
816 #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
817 #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
818 #endif
820 #endif
822 #include <poppack.h>
824 #endif /* __WINE_MMREG_H */
826 #else /* __WIDL__ */
828 cpp_quote("#if 0")
829 #pragma pack(push, 1)
831 typedef struct tWAVEFORMATEX {
832 WORD wFormatTag;
833 WORD nChannels;
834 DWORD nSamplesPerSec;
835 DWORD nAvgBytesPerSec;
836 WORD nBlockAlign;
837 WORD wBitsPerSample;
838 WORD cbSize;
839 [size_is(cbSize)] BYTE pExtraBytes[];
840 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
842 typedef struct {
843 WORD wFormatTag;
844 WORD nChannels;
845 DWORD nSamplesPerSec;
846 DWORD nAvgBytesPerSec;
847 WORD nBlockAlign;
848 WORD wBitsPerSample;
849 WORD cbSize;
850 WORD wValidBitsPerSample;
851 DWORD dwChannelMask;
852 GUID SubFormat;
853 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
855 typedef struct {
856 WAVEFORMATEX wfx;
857 WORD fwHeadLayer;
858 DWORD dwHeadBitrate;
859 WORD fwHeadMode;
860 WORD fwHeadModeExt;
861 WORD wHeadEmphasis;
862 WORD fwHeadFlags;
863 DWORD dwPTSLow;
864 DWORD dwPTSHigh;
865 } MPEG1WAVEFORMAT;
867 #pragma pack(pop)
868 cpp_quote("#endif")
870 #endif /* __WIDL__ */