1 |
#ifndef _MMREG_H |
2 |
#define _MMREG_H |
3 |
#if __GNUC__ >= 3 |
4 |
#pragma GCC system_header |
5 |
#endif |
6 |
|
7 |
#ifndef _MMSYSTEM_H |
8 |
#include <mmsystem.h> |
9 |
#endif |
10 |
|
11 |
#ifdef __cplusplus |
12 |
extern "C" { |
13 |
#endif |
14 |
|
15 |
/*--- DirectShow Reference - DirectShow Structures */ |
16 |
typedef struct mpeg1waveformat_tag { |
17 |
WAVEFORMATEX wfx; |
18 |
WORD fwHeadLayer; |
19 |
DWORD dwHeadBitrate; |
20 |
WORD fwHeadMode; |
21 |
WORD fwHeadModeExt; |
22 |
WORD wHeadEmphasis; |
23 |
WORD fwHeadFlags; |
24 |
DWORD dwPTSLow; |
25 |
DWORD dwPTSHigh; |
26 |
} MPEG1WAVEFORMAT; |
27 |
#define ACM_MPEG_LAYER1 0x0001 |
28 |
#define ACM_MPEG_LAYER2 0x0002 |
29 |
#define ACM_MPEG_LAYER3 0x0004 |
30 |
#define ACM_MPEG_STEREO 0x0001 |
31 |
#define ACM_MPEG_JOINTSTEREO 0x0002 |
32 |
#define ACM_MPEG_DUALCHANNEL 0x0004 |
33 |
#define ACM_MPEG_SINGLECHANNEL 0x0008 |
34 |
#define ACM_MPEG_PRIVATEBIT 0x0001 |
35 |
#define ACM_MPEG_COPYRIGHT 0x0002 |
36 |
#define ACM_MPEG_ORIGINALHOME 0x0004 |
37 |
#define ACM_MPEG_PROTECTIONBIT 0x0008 |
38 |
#define ACM_MPEG_ID_MPEG1 0x0010 |
39 |
typedef struct { |
40 |
WAVEFORMATEX Format; |
41 |
union { |
42 |
WORD wValidBitsPerSample; |
43 |
WORD wSamplesPerBlock; |
44 |
WORD wReserved; |
45 |
} Samples; |
46 |
DWORD dwChannelMask; |
47 |
GUID SubFormat; |
48 |
} WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE; |
49 |
#define SPEAKER_FRONT_LEFT 0x1 |
50 |
#define SPEAKER_FRONT_RIGHT 0x2 |
51 |
#define SPEAKER_FRONT_CENTER 0x4 |
52 |
#define SPEAKER_LOW_FREQUENCY 0x8 |
53 |
#define SPEAKER_BACK_LEFT 0x10 |
54 |
#define SPEAKER_BACK_RIGHT 0x20 |
55 |
#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40 |
56 |
#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80 |
57 |
#define SPEAKER_BACK_CENTER 0x100 |
58 |
#define SPEAKER_SIDE_LEFT 0x200 |
59 |
#define SPEAKER_SIDE_RIGHT 0x400 |
60 |
#define SPEAKER_TOP_CENTER 0x800 |
61 |
#define SPEAKER_TOP_FRONT_LEFT 0x1000 |
62 |
#define SPEAKER_TOP_FRONT_CENTER 0x2000 |
63 |
#define SPEAKER_TOP_FRONT_RIGHT 0x4000 |
64 |
#define SPEAKER_TOP_BACK_LEFT 0x8000 |
65 |
#define SPEAKER_TOP_BACK_CENTER 0x10000 |
66 |
#define SPEAKER_TOP_BACK_RIGHT 0x20000 |
67 |
|
68 |
/*msdn.microsoft.com/en-us/library/dd390710%28VS.85%29.aspx*/ |
69 |
typedef struct mpeglayer3waveformat_tag { |
70 |
WAVEFORMATEX wfx; |
71 |
WORD wID; |
72 |
DWORD fdwFlags; |
73 |
WORD nBlockSize; |
74 |
WORD nFramesPerBlock; |
75 |
WORD nCodecDelay; |
76 |
} MPEGLAYER3WAVEFORMAT, *LPMPEGLAYER3WAVEFORMAT; |
77 |
|
78 |
/* http://www.ietf.org/rfc/rfc2361.txt */ |
79 |
#define WAVE_FORMAT_UNKNOWN 0x0000 |
80 |
#define WAVE_FORMAT_PCM 0x0001 |
81 |
#define WAVE_FORMAT_ADPCM 0x0002 |
82 |
#define WAVE_FORMAT_IEEE_FLOAT 0x0003 |
83 |
#define WAVE_FORMAT_VSELP 0x0004 |
84 |
#define WAVE_FORMAT_IBM_CVSD 0x0005 |
85 |
#define WAVE_FORMAT_ALAW 0x0006 |
86 |
#define WAVE_FORMAT_MULAW 0x0007 |
87 |
|
88 |
#define WAVE_FORMAT_OKI_ADPCM 0x0010 |
89 |
#define WAVE_FORMAT_DVI_ADPCM 0x0011 |
90 |
#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 |
91 |
#define WAVE_FORMAT_SIERRA_ADPCM 0x0013 |
92 |
#define WAVE_FORMAT_G723_ADPCM 0x0014 |
93 |
#define WAVE_FORMAT_DIGIFIX 0x0016 |
94 |
#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 |
95 |
#define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018 |
96 |
#define WAVE_FORMAT_CU_CODEC 0x0019 |
97 |
#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 |
98 |
#define WAVE_FORMAT_SONARC 0x0021 |
99 |
#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 |
100 |
#define WAVE_FORMAT_ECHOSC1 0x0023 |
101 |
#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 |
102 |
#define WAVE_FORMAT_APTX 0x0025 |
103 |
#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 |
104 |
#define WAVE_FORMAT_PROSODY_1612 0x0027 |
105 |
#define WAVE_FORMAT_LRC 0x0028 |
106 |
|
107 |
#define WAVE_FORMAT_DOLBY_AC2 0x0030 |
108 |
#define WAVE_FORMAT_GSM610 0x0031 |
109 |
#define WAVE_FORMAT_MSNAUDIO 0x0032 |
110 |
#define WAVE_FORMAT_ANTEX_ADPCME 0x0033 |
111 |
#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 |
112 |
#define WAVE_FORMAT_DIGIREAL 0x0035 |
113 |
#define WAVE_FORMAT_DIGIADPCM 0x0036 |
114 |
#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 |
115 |
#define WAVE_FORMAT_NMS_VBXADPCM 0x0038 |
116 |
#define WAVE_FORMAT_ROLAND_RDAC 0x0039 |
117 |
#define WAVE_FORMAT_ECHOSC3 0x003A |
118 |
#define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B |
119 |
#define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C |
120 |
#define WAVE_FORMAT_XEBEC 0x003D |
121 |
|
122 |
#define WAVE_FORMAT_G721_ADPCM 0x0040 |
123 |
#define WAVE_FORMAT_G728_CELP 0x0041 |
124 |
#define WAVE_FORMAT_MSG723 0x0042 |
125 |
|
126 |
#define WAVE_FORMAT_MPEG 0x0050 |
127 |
|
128 |
#define WAVE_FORMAT_RT24 0x0052 |
129 |
#define WAVE_FORMAT_PAC 0x0053 |
130 |
|
131 |
#define WAVE_FORMAT_MPEGLAYER3 0x0055 |
132 |
|
133 |
#define WAVE_FORMAT_LUCENT_G723 0x0059 |
134 |
#define WAVE_FORMAT_CIRRUS 0x0060 |
135 |
#define WAVE_FORMAT_ESPCM 0x0061 |
136 |
#define WAVE_FORMAT_VOXWARE 0x0062 |
137 |
#define WAVE_FORMAT_CANOPUS_ATRAC 0x0063 |
138 |
#define WAVE_FORMAT_G726_ADPCM 0x0064 |
139 |
#define WAVE_FORMAT_G722_ADPCM 0x0065 |
140 |
#define WAVE_FORMAT_DSAT 0x0066 |
141 |
#define WAVE_FORMAT_DSAT_DISPLAY 0x0067 |
142 |
|
143 |
#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069 |
144 |
#define WAVE_FORMAT_VOXWARE_AC8 0x0070 |
145 |
#define WAVE_FORMAT_VOXWARE_AC10 0x0071 |
146 |
#define WAVE_FORMAT_VOXWARE_AC16 0x0072 |
147 |
#define WAVE_FORMAT_VOXWARE_AC20 0x0073 |
148 |
#define WAVE_FORMAT_VOXWARE_RT24 0x0074 |
149 |
#define WAVE_FORMAT_VOXWARE_RT29 0x0075 |
150 |
#define WAVE_FORMAT_VOXWARE_RT29HW 0x0076 |
151 |
#define WAVE_FORMAT_VOXWARE_VR12 0x0077 |
152 |
#define WAVE_FORMAT_VOXWARE_VR18 0x0078 |
153 |
#define WAVE_FORMAT_VOXWARE_TQ40 0x0079 |
154 |
#define WAVE_FORMAT_SOFTSOUND 0x0080 |
155 |
#define WAVE_FORMAT_VOXWARE_TQ60 0x0081 |
156 |
#define WAVE_FORMAT_MSRT24 0x0082 |
157 |
#define WAVE_FORMAT_G729A 0x0083 |
158 |
#define WAVE_FORMAT_MVI_MV12 0x0084 |
159 |
#define WAVE_FORMAT_DF_G726 0x0085 |
160 |
#define WAVE_FORMAT_DF_GSM610 0x0086 |
161 |
|
162 |
#define WAVE_FORMAT_ISIAUDIO 0x0088 |
163 |
#define WAVE_FORMAT_ONLIVE 0x0089 |
164 |
|
165 |
#define WAVE_FORMAT_SBC24 0x0091 |
166 |
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 |
167 |
|
168 |
#define WAVE_FORMAT_ZYXEL_ADPCM 0x0097 |
169 |
#define WAVE_FORMAT_PHILIPS_LPCBB 0x0098 |
170 |
#define WAVE_FORMAT_PACKED 0x0099 |
171 |
#define WAVE_FORMAT_RHETOREX_ADPCM 0x0100 |
172 |
#define WAVE_FORMAT_IRAT 0x0101 |
173 |
#define WAVE_FORMAT_VIVO_G723 0x0111 |
174 |
#define WAVE_FORMAT_VIVO_SIREN 0x0112 |
175 |
#define WAVE_FORMAT_DIGITAL_G723 0x0113 |
176 |
|
177 |
#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 |
178 |
|
179 |
#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 |
180 |
#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 |
181 |
|
182 |
#define WAVE_FORMAT_QUARTERDECK 0x0220 |
183 |
|
184 |
#define WAVE_FORMAT_FM_TOWNS_SND 0x0300 |
185 |
|
186 |
#define WAVE_FORMAT_BTV_DIGITAL 0x0400 |
187 |
|
188 |
#define WAVE_FORMAT_VME_VMPCM 0x0680 |
189 |
|
190 |
#define WAVE_FORMAT_OLIGSM 0x1000 |
191 |
#define WAVE_FORMAT_OLIADPCM 0x1001 |
192 |
#define WAVE_FORMAT_OLICELP 0x1002 |
193 |
#define WAVE_FORMAT_OLISBC 0x1003 |
194 |
#define WAVE_FORMAT_OLIOPR 0x1004 |
195 |
|
196 |
#define WAVE_FORMAT_LH_CODEC 0x1100 |
197 |
|
198 |
#define WAVE_FORMAT_NORRIS 0x1400 |
199 |
#define WAVE_FORMAT_ISIAUDIO 0x1401 |
200 |
|
201 |
#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500 |
202 |
|
203 |
#define WAVE_FORMAT_DVM 0x2000 |
204 |
|
205 |
/* http://msdn.microsoft.com/en-us/library/aa372553%28VS.85%29.aspx */ |
206 |
#define WAVE_FORMAT_RAW_AAC1 0x00FF |
207 |
#define WAVE_FORMAT_MPEG_HEAAC 0x1610 |
208 |
#define WAVE_FORMAT_MPEG_ADTS_AAC 0x1600 |
209 |
#define WAVE_FORMAT_DRM 0x0009 |
210 |
#define WAVE_FORMAT_DTS 0x0008 |
211 |
#define WAVE_FORMAT_WMAVOICE9 0x000A |
212 |
#define WAVE_FORMAT_WMASPDIF 0x0164 |
213 |
#define WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163 |
214 |
#define WAVE_FORMAT_WMAUDIO2 0x0161 |
215 |
#define WAVE_FORMAT_WMAUDIO3 0x0162 |
216 |
|
217 |
/* http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx */ |
218 |
#define WAVE_FORMAT_MPEG_LOAS 0x1602 |
219 |
#define WAVE_FORMAT_RAW_SPORT 0x0240 |
220 |
#define WAVE_FORMAT_ESST_AC3 0x0241 |
221 |
#define WAVE_FORMAT_DTS2 0x2001 |
222 |
|
223 |
#ifdef __cplusplus |
224 |
} |
225 |
#endif |
226 |
#endif |