1
|
1 /*
|
|
2 * mmreg.h - Declarations for ???
|
|
3 */
|
|
4
|
|
5 #ifndef __WINE_MMREG_H
|
|
6 #define __WINE_MMREG_H
|
|
7
|
|
8 /***********************************************************************
|
|
9 * Defines/Enums
|
|
10 */
|
|
11
|
|
12 #ifndef _ACM_WAVEFILTER
|
|
13 #define _ACM_WAVEFILTER
|
|
14
|
|
15 #include "windef.h"
|
|
16
|
|
17 #define WAVE_FILTER_UNKNOWN 0x0000
|
|
18 #define WAVE_FILTER_DEVELOPMENT 0xFFFF
|
|
19
|
|
20 typedef struct _WAVEFILTER {
|
|
21 DWORD cbStruct;
|
|
22 DWORD dwFilterTag;
|
|
23 DWORD fdwFilter;
|
|
24 DWORD dwReserved[5];
|
|
25 } WAVEFILTER, *PWAVEFILTER, *NPWAVEFILTER, *LPWAVEFILTER;
|
|
26 #endif /* _ACM_WAVEFILTER */
|
|
27
|
|
28 #ifndef WAVE_FILTER_VOLUME
|
|
29 #define WAVE_FILTER_VOLUME 0x0001
|
|
30
|
|
31 typedef struct _WAVEFILTER_VOLUME {
|
|
32 WAVEFILTER wfltr;
|
|
33 DWORD dwVolume;
|
|
34 } VOLUMEWAVEFILTER, *PVOLUMEWAVEFILTER, *NPVOLUMEWAVEFILTER, *LPVOLUMEWAVEFILTER;
|
|
35 #endif /* WAVE_FILTER_VOLUME */
|
|
36
|
|
37 #ifndef WAVE_FILTER_ECHO
|
|
38 #define WAVE_FILTER_ECHO 0x0002
|
|
39
|
|
40 typedef struct WAVEFILTER_ECHO {
|
|
41 WAVEFILTER wfltr;
|
|
42 DWORD dwVolume;
|
|
43 DWORD dwDelay;
|
|
44 } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER;
|
|
45 #endif /* WAVEFILTER_ECHO */
|
|
46
|
|
47 #ifndef _WAVEFORMATEX_
|
|
48 #define _WAVEFORMATEX_
|
|
49 typedef struct _WAVEFORMATEX {
|
|
50 WORD wFormatTag;
|
|
51 WORD nChannels;
|
|
52 DWORD nSamplesPerSec;
|
|
53 DWORD nAvgBytesPerSec;
|
|
54 WORD nBlockAlign;
|
|
55 WORD wBitsPerSample;
|
|
56 WORD cbSize;
|
|
57 } WAVEFORMATEX, *PWAVEFORMATEX, *NPWAVEFORMATEX, *LPWAVEFORMATEX;
|
|
58 #endif /* _WAVEFORMATEX_ */
|
|
59
|
1836
|
60 #ifndef GUID_TYPE
|
|
61 #define GUID_TYPE
|
|
62 typedef struct
|
|
63 {
|
|
64 unsigned long f1;
|
|
65 unsigned short f2;
|
|
66 unsigned short f3;
|
|
67 unsigned char f4[8];
|
|
68 } GUID;
|
|
69 #endif
|
1835
|
70
|
|
71 #ifndef _WAVEFORMATEXTENSIBLE_
|
|
72 #define _WAVEFORMATEXTENSIBLE_
|
|
73 typedef struct {
|
|
74 WAVEFORMATEX Format;
|
|
75 union {
|
|
76 WORD wValidBitsPerSample; /* bits of precision */
|
|
77 WORD wSamplesPerBlock; /* valid if wBitsPerSample==0 */
|
|
78 WORD wReserved; /* If neither applies, set to zero. */
|
|
79 } Samples;
|
|
80 DWORD dwChannelMask; /* which channels are */
|
|
81 /* present in stream */
|
|
82 GUID SubFormat;
|
|
83 } WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
|
|
84 #endif // !_WAVEFORMATEXTENSIBLE_
|
|
85
|
2634
|
86 typedef struct mpeglayer3waveformat_tag {
|
|
87 WORD wFormatTag WINE_PACKED;
|
|
88 WORD nChannels WINE_PACKED;
|
|
89 DWORD nSamplesPerSec WINE_PACKED;
|
|
90 DWORD nAvgBytesPerSec WINE_PACKED;
|
|
91 WORD nBlockAlign WINE_PACKED;
|
|
92 WORD wBitsPerSample WINE_PACKED;
|
|
93 WORD cbSize WINE_PACKED;
|
|
94 WORD wID WINE_PACKED;
|
|
95 DWORD fdwFlags WINE_PACKED;
|
|
96 WORD nBlockSize WINE_PACKED;
|
|
97 WORD nFramesPerBlock WINE_PACKED;
|
|
98 WORD nCodecDelay WINE_PACKED;
|
|
99 } MPEGLAYER3WAVEFORMAT;
|
1835
|
100
|
1
|
101 /* WAVE form wFormatTag IDs */
|
|
102
|
1835
|
103 #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
|
|
104 #define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
|
|
105 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
|
|
106 #define WAVE_FORMAT_VSELP 0x0004 /* Compaq Computer Corp. */
|
|
107 #define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
|
|
108 #define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
|
|
109 #define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
|
|
110 #define WAVE_FORMAT_DTS 0x0008 /* Microsoft Corporation */
|
|
111 #define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
|
|
112 #define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
|
|
113 #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
|
|
114 #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 /* Videologic */
|
|
115 #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 /* Sierra Semiconductor Corp */
|
|
116 #define WAVE_FORMAT_G723_ADPCM 0x0014 /* Antex Electronics Corporation */
|
|
117 #define WAVE_FORMAT_DIGISTD 0x0015 /* DSP Solutions, Inc. */
|
|
118 #define WAVE_FORMAT_DIGIFIX 0x0016 /* DSP Solutions, Inc. */
|
|
119 #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 /* Dialogic Corporation */
|
|
120 #define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018 /* Media Vision, Inc. */
|
|
121 #define WAVE_FORMAT_CU_CODEC 0x0019 /* Hewlett-Packard Company */
|
|
122 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 /* Yamaha Corporation of America */
|
|
123 #define WAVE_FORMAT_SONARC 0x0021 /* Speech Compression */
|
|
124 #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 /* DSP Group, Inc */
|
|
125 #define WAVE_FORMAT_ECHOSC1 0x0023 /* Echo Speech Corporation */
|
|
126 #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 /* Virtual Music, Inc. */
|
|
127 #define WAVE_FORMAT_APTX 0x0025 /* Audio Processing Technology */
|
|
128 #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 /* Virtual Music, Inc. */
|
|
129 #define WAVE_FORMAT_PROSODY_1612 0x0027 /* Aculab plc */
|
|
130 #define WAVE_FORMAT_LRC 0x0028 /* Merging Technologies S.A. */
|
|
131 #define WAVE_FORMAT_DOLBY_AC2 0x0030 /* Dolby Laboratories */
|
|
132 #define WAVE_FORMAT_GSM610 0x0031 /* Microsoft Corporation */
|
|
133 #define WAVE_FORMAT_MSNAUDIO 0x0032 /* Microsoft Corporation */
|
|
134 #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 /* Antex Electronics Corporation */
|
|
135 #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 /* Control Resources Limited */
|
|
136 #define WAVE_FORMAT_DIGIREAL 0x0035 /* DSP Solutions, Inc. */
|
|
137 #define WAVE_FORMAT_DIGIADPCM 0x0036 /* DSP Solutions, Inc. */
|
|
138 #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 /* Control Resources Limited */
|
|
139 #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 /* Natural MicroSystems */
|
|
140 #define WAVE_FORMAT_CS_IMAADPCM 0x0039 /* Crystal Semiconductor IMA ADPCM */
|
|
141 #define WAVE_FORMAT_ECHOSC3 0x003A /* Echo Speech Corporation */
|
|
142 #define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B /* Rockwell International */
|
|
143 #define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C /* Rockwell International */
|
|
144 #define WAVE_FORMAT_XEBEC 0x003D /* Xebec Multimedia Solutions Limited */
|
|
145 #define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
|
|
146 #define WAVE_FORMAT_G728_CELP 0x0041 /* Antex Electronics Corporation */
|
|
147 #define WAVE_FORMAT_MSG723 0x0042 /* Microsoft Corporation */
|
|
148 #define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
|
|
149 #define WAVE_FORMAT_RT24 0x0052 /* InSoft, Inc. */
|
|
150 #define WAVE_FORMAT_PAC 0x0053 /* InSoft, Inc. */
|
|
151 #define WAVE_FORMAT_MPEGLAYER3 0x0055 /* ISO/MPEG Layer3 Format Tag */
|
|
152 #define WAVE_FORMAT_LUCENT_G723 0x0059 /* Lucent Technologies */
|
|
153 #define WAVE_FORMAT_CIRRUS 0x0060 /* Cirrus Logic */
|
|
154 #define WAVE_FORMAT_ESPCM 0x0061 /* ESS Technology */
|
|
155 #define WAVE_FORMAT_VOXWARE 0x0062 /* Voxware Inc */
|
|
156 #define WAVE_FORMAT_CANOPUS_ATRAC 0x0063 /* Canopus, co., Ltd. */
|
|
157 #define WAVE_FORMAT_G726_ADPCM 0x0064 /* APICOM */
|
|
158 #define WAVE_FORMAT_G722_ADPCM 0x0065 /* APICOM */
|
|
159 #define WAVE_FORMAT_DSAT_DISPLAY 0x0067 /* Microsoft Corporation */
|
|
160 #define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069 /* Voxware Inc */
|
|
161 #define WAVE_FORMAT_VOXWARE_AC8 0x0070 /* Voxware Inc */
|
|
162 #define WAVE_FORMAT_VOXWARE_AC10 0x0071 /* Voxware Inc */
|
|
163 #define WAVE_FORMAT_VOXWARE_AC16 0x0072 /* Voxware Inc */
|
|
164 #define WAVE_FORMAT_VOXWARE_AC20 0x0073 /* Voxware Inc */
|
|
165 #define WAVE_FORMAT_VOXWARE_RT24 0x0074 /* Voxware Inc */
|
|
166 #define WAVE_FORMAT_VOXWARE_RT29 0x0075 /* Voxware Inc */
|
|
167 #define WAVE_FORMAT_VOXWARE_RT29HW 0x0076 /* Voxware Inc */
|
|
168 #define WAVE_FORMAT_VOXWARE_VR12 0x0077 /* Voxware Inc */
|
|
169 #define WAVE_FORMAT_VOXWARE_VR18 0x0078 /* Voxware Inc */
|
|
170 #define WAVE_FORMAT_VOXWARE_TQ40 0x0079 /* Voxware Inc */
|
|
171 #define WAVE_FORMAT_SOFTSOUND 0x0080 /* Softsound, Ltd. */
|
|
172 #define WAVE_FORMAT_VOXWARE_TQ60 0x0081 /* Voxware Inc */
|
|
173 #define WAVE_FORMAT_MSRT24 0x0082 /* Microsoft Corporation */
|
|
174 #define WAVE_FORMAT_G729A 0x0083 /* AT&T Labs, Inc. */
|
|
175 #define WAVE_FORMAT_MVI_MVI2 0x0084 /* Motion Pixels */
|
|
176 #define WAVE_FORMAT_DF_G726 0x0085 /* DataFusion Systems (Pty) (Ltd) */
|
|
177 #define WAVE_FORMAT_DF_GSM610 0x0086 /* DataFusion Systems (Pty) (Ltd) */
|
|
178 #define WAVE_FORMAT_ISIAUDIO 0x0088 /* Iterated Systems, Inc. */
|
|
179 #define WAVE_FORMAT_ONLIVE 0x0089 /* OnLive! Technologies, Inc. */
|
|
180 #define WAVE_FORMAT_SBC24 0x0091 /* Siemens Business Communications Sys */
|
|
181 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 /* Sonic Foundry */
|
|
182 #define WAVE_FORMAT_MEDIASONIC_G723 0x0093 /* MediaSonic */
|
|
183 #define WAVE_FORMAT_PROSODY_8KBPS 0x0094 /* Aculab plc */
|
|
184 #define WAVE_FORMAT_ZYXEL_ADPCM 0x0097 /* ZyXEL Communications, Inc. */
|
|
185 #define WAVE_FORMAT_PHILIPS_LPCBB 0x0098 /* Philips Speech Processing */
|
|
186 #define WAVE_FORMAT_PACKED 0x0099 /* Studer Professional Audio AG */
|
|
187 #define WAVE_FORMAT_MALDEN_PHONYTALK 0x00A0 /* Malden Electronics Ltd. */
|
|
188 #define WAVE_FORMAT_RHETOREX_ADPCM 0x0100 /* Rhetorex Inc. */
|
|
189 #define WAVE_FORMAT_IRAT 0x0101 /* BeCubed Software Inc. */
|
|
190 #define WAVE_FORMAT_VIVO_G723 0x0111 /* Vivo Software */
|
|
191 #define WAVE_FORMAT_VIVO_SIREN 0x0112 /* Vivo Software */
|
|
192 #define WAVE_FORMAT_DIGITAL_G723 0x0123 /* Digital Equipment Corporation */
|
|
193 #define WAVE_FORMAT_SANYO_LD_ADPCM 0x0125 /* Sanyo Electric Co., Ltd. */
|
|
194 #define WAVE_FORMAT_SIPROLAB_ACEPLNET 0x0130 /* Sipro Lab Telecom Inc. */
|
|
195 #define WAVE_FORMAT_SIPROLAB_ACELP4800 0x0131 /* Sipro Lab Telecom Inc. */
|
|
196 #define WAVE_FORMAT_SIPROLAB_ACELP8V3 0x0132 /* Sipro Lab Telecom Inc. */
|
|
197 #define WAVE_FORMAT_SIPROLAB_G729 0x0133 /* Sipro Lab Telecom Inc. */
|
|
198 #define WAVE_FORMAT_SIPROLAB_G729A 0x0134 /* Sipro Lab Telecom Inc. */
|
|
199 #define WAVE_FORMAT_SIPROLAB_KELVIN 0x0135 /* Sipro Lab Telecom Inc. */
|
|
200 #define WAVE_FORMAT_G726ADPCM 0x0140 /* Dictaphone Corporation */
|
|
201 #define WAVE_FORMAT_QUALCOMM_PUREVOICE 0x0150 /* Qualcomm, Inc. */
|
|
202 #define WAVE_FORMAT_QUALCOMM_HALFRATE 0x0151 /* Qualcomm, Inc. */
|
|
203 #define WAVE_FORMAT_TUBGSM 0x0155 /* Ring Zero Systems, Inc. */
|
|
204 #define WAVE_FORMAT_MSAUDIO1 0x0160 /* Microsoft Corporation */
|
|
205 #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
|
|
206 #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
|
|
207 #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
|
|
208 #define WAVE_FORMAT_UHER_ADPCM 0x0210 /* UHER informatic GmbH */
|
|
209 #define WAVE_FORMAT_QUARTERDECK 0x0220 /* Quarterdeck Corporation */
|
|
210 #define WAVE_FORMAT_ILINK_VC 0x0230 /* I-link Worldwide */
|
|
211 #define WAVE_FORMAT_RAW_SPORT 0x0240 /* Aureal Semiconductor */
|
|
212 #define WAVE_FORMAT_IPI_HSX 0x0250 /* Interactive Products, Inc. */
|
|
213 #define WAVE_FORMAT_IPI_RPELP 0x0251 /* Interactive Products, Inc. */
|
|
214 #define WAVE_FORMAT_CS2 0x0260 /* Consistent Software */
|
|
215 #define WAVE_FORMAT_SONY_SCX 0x0270 /* Sony Corp. */
|
|
216 #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 /* Fujitsu Corp. */
|
|
217 #define WAVE_FORMAT_BTV_DIGITAL 0x0400 /* Brooktree Corporation */
|
|
218 #define WAVE_FORMAT_QDESIGN_MUSIC 0x0450 /* QDesign Corporation */
|
|
219 #define WAVE_FORMAT_VME_VMPCM 0x0680 /* AT&T Labs, Inc. */
|
|
220 #define WAVE_FORMAT_TPC 0x0681 /* AT&T Labs, Inc. */
|
|
221 #define WAVE_FORMAT_OLIGSM 0x1000 /* Ing C. Olivetti & C., S.p.A. */
|
|
222 #define WAVE_FORMAT_OLIADPCM 0x1001 /* Ing C. Olivetti & C., S.p.A. */
|
|
223 #define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
|
|
224 #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
|
|
225 #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
|
|
226 #define WAVE_FORMAT_LH_CODEC 0x1100 /* Lernout & Hauspie */
|
|
227 #define WAVE_FORMAT_NORRIS 0x1400 /* Norris Communications, Inc. */
|
|
228 #define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500 /* AT&T Labs, Inc. */
|
|
229 #define WAVE_FORMAT_DVM 0x2000 /* FAST Multimedia AG */
|
|
230
|
|
231 #if !defined(WAVE_FORMAT_EXTENSIBLE)
|
|
232 #define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
|
|
233 #endif // !defined(WAVE_FORMAT_EXTENSIBLE)
|
|
234 //
|
|
235 // the WAVE_FORMAT_DEVELOPMENT format tag can be used during the
|
|
236 // development phase of a new wave format. Before shipping, you MUST
|
|
237 // acquire an official format tag from Microsoft.
|
|
238 //
|
|
239 #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
|
|
240
|
1
|
241
|
|
242 #endif /* __WINE_MMREG_H */
|