1
|
1 /********************************************************
|
|
2
|
|
3 Win32 binary loader interface
|
128
|
4 Copyright 2000 Eugene Kuznetsov (divx@euro.ru)
|
1
|
5 Shamelessly stolen from Wine project
|
|
6
|
|
7 *********************************************************/
|
|
8
|
|
9 #ifndef _LOADER_H
|
|
10 #define _LOADER_H
|
|
11 #include <wine/windef.h>
|
|
12 #include <wine/driver.h>
|
|
13 #include <wine/mmreg.h>
|
|
14 #include <wine/vfw.h>
|
|
15 #include <wine/msacm.h>
|
|
16 #ifdef __cplusplus
|
|
17 extern "C" {
|
|
18 #endif
|
|
19
|
|
20 void SetCodecPath(const char* path);
|
|
21 unsigned int _GetPrivateProfileIntA(const char* appname, const char* keyname, int default_value, const char* filename);
|
|
22 int _GetPrivateProfileStringA(const char* appname, const char* keyname,
|
|
23 const char* def_val, char* dest, unsigned int len, const char* filename);
|
|
24 int _WritePrivateProfileStringA(const char* appname, const char* keyname,
|
|
25 const char* string, const char* filename);
|
|
26
|
|
27
|
|
28 /**********************************************
|
|
29
|
|
30 MS VFW ( Video For Windows ) interface
|
|
31
|
|
32 **********************************************/
|
|
33
|
|
34 long VFWAPIV ICCompress(
|
|
35 HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData,
|
|
36 LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid,
|
|
37 long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality,
|
|
38 LPBITMAPINFOHEADER lpbiPrev,void* lpPrev
|
|
39 );
|
|
40
|
|
41 long VFWAPIV ICDecompress(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER lpbi,void* lpBits);
|
|
42
|
|
43 WIN_BOOL VFWAPI ICInfo(long fccType, long fccHandler, ICINFO * lpicinfo);
|
|
44 LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo, long cb);
|
|
45 HIC VFWAPI ICOpen(long fccType, long fccHandler, UINT wMode);
|
|
46 HIC VFWAPI ICOpenFunction(long fccType, long fccHandler, unsigned int wMode, void* lpfnHandler);
|
|
47
|
|
48 LRESULT VFWAPI ICClose(HIC hic);
|
|
49 LRESULT VFWAPI ICSendMessage(HIC hic, unsigned int msg, long dw1, long dw2);
|
|
50 HIC VFWAPI ICLocate(long fccType, long fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, short wFlags);
|
|
51
|
|
52 int VFWAPI ICDoSomething();
|
|
53
|
|
54 #define ICCompressGetFormat(hic, lpbiInput, lpbiOutput) \
|
|
55 ICSendMessage( \
|
|
56 hic,ICM_COMPRESS_GET_FORMAT,(long)(void*)(lpbiInput), \
|
|
57 (long)(void*)(lpbiOutput) \
|
|
58 )
|
|
59
|
|
60 #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL)
|
|
61
|
|
62 #define ICGetDefaultKeyFrameRate(hic,lpint) \
|
|
63 ICSendMessage( \
|
|
64 hic, ICM_GETDEFAULTKEYFRAMERATE, \
|
|
65 (long)(void*)(lpint), \
|
|
66 0 )
|
|
67
|
|
68 #define ICGetDefaultQuality(hic,lpint) \
|
|
69 ICSendMessage( \
|
|
70 hic, ICM_GETDEFAULTQUALITY, \
|
|
71 (long)(void*)(lpint), \
|
|
72 0 )
|
|
73
|
|
74
|
|
75 #define ICCompressBegin(hic, lpbiInput, lpbiOutput) \
|
|
76 ICSendMessage( \
|
|
77 hic, ICM_COMPRESS_BEGIN, (long)(void*)(lpbiInput), \
|
|
78 (long)(void*)(lpbiOutput) \
|
|
79 )
|
|
80
|
|
81 #define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \
|
|
82 ICSendMessage( \
|
|
83 hic, ICM_COMPRESS_GET_SIZE, (long)(void*)(lpbiInput), \
|
|
84 (long)(void*)(lpbiOutput) \
|
|
85 )
|
|
86
|
|
87 #define ICCompressQuery(hic, lpbiInput, lpbiOutput) \
|
|
88 ICSendMessage( \
|
|
89 hic, ICM_COMPRESS_QUERY, (long)(void*)(lpbiInput), \
|
|
90 (long)(void*)(lpbiOutput) \
|
|
91 )
|
|
92
|
|
93
|
|
94 #define ICCompressEnd(hic) ICSendMessage(hic, ICM_COMPRESS_END, 0, 0)
|
|
95
|
|
96
|
|
97
|
|
98 #define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \
|
|
99 ICSendMessage( \
|
|
100 hic, ICM_DECOMPRESS_BEGIN, (long)(void*)(lpbiInput), \
|
|
101 (long)(void*)(lpbiOutput) \
|
|
102 )
|
|
103
|
|
104 #define ICDecompressQuery(hic, lpbiInput, lpbiOutput) \
|
|
105 ICSendMessage( \
|
|
106 hic,ICM_DECOMPRESS_QUERY, (long)(void*)(lpbiInput), \
|
|
107 (long) (void*)(lpbiOutput) \
|
|
108 )
|
|
109
|
|
110 #define ICDecompressGetFormat(hic, lpbiInput, lpbiOutput) \
|
|
111 ((long)ICSendMessage( \
|
|
112 hic,ICM_DECOMPRESS_GET_FORMAT, (long)(void*)(lpbiInput), \
|
|
113 (long)(void*)(lpbiOutput) \
|
|
114 ))
|
|
115
|
|
116 #define ICDecompressGetFormatSize(hic, lpbi) \
|
|
117 ICDecompressGetFormat(hic, lpbi, NULL)
|
|
118
|
|
119 #define ICDecompressGetPalette(hic, lpbiInput, lpbiOutput) \
|
|
120 ICSendMessage( \
|
|
121 hic, ICM_DECOMPRESS_GET_PALETTE, (long)(void*)(lpbiInput), \
|
|
122 (long)(void*)(lpbiOutput) \
|
|
123 )
|
|
124
|
|
125 #define ICDecompressSetPalette(hic,lpbiPalette) \
|
|
126 ICSendMessage( \
|
|
127 hic,ICM_DECOMPRESS_SET_PALETTE, \
|
|
128 (long)(void*)(lpbiPalette),0 \
|
|
129 )
|
|
130
|
|
131 #define ICDecompressEnd(hic) ICSendMessage(hic, ICM_DECOMPRESS_END, 0, 0)
|
|
132
|
|
133
|
|
134 /*****************************************************
|
|
135
|
|
136 MS ACM ( Audio Compression Manager ) interface
|
|
137
|
|
138 ******************************************************/
|
|
139
|
|
140
|
|
141 MMRESULT WINAPI acmDriverAddA(
|
|
142 PHACMDRIVERID phadid, HINSTANCE hinstModule,
|
|
143 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
|
|
144 );
|
|
145 MMRESULT WINAPI acmDriverAddW(
|
|
146 PHACMDRIVERID phadid, HINSTANCE hinstModule,
|
|
147 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
|
|
148 );
|
|
149 MMRESULT WINAPI acmDriverClose(
|
|
150 HACMDRIVER had, DWORD fdwClose
|
|
151 );
|
|
152 MMRESULT WINAPI acmDriverDetailsA(
|
|
153 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
|
|
154 );
|
|
155 MMRESULT WINAPI acmDriverDetailsW(
|
|
156 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
|
|
157 );
|
|
158 MMRESULT WINAPI acmDriverEnum(
|
|
159 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
160 );
|
|
161 MMRESULT WINAPI acmDriverID(
|
|
162 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
|
|
163 );
|
|
164 LRESULT WINAPI acmDriverMessage(
|
|
165 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
|
|
166 );
|
|
167 MMRESULT WINAPI acmDriverOpen(
|
|
168 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
|
|
169 );
|
|
170 MMRESULT WINAPI acmDriverPriority(
|
|
171 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
|
|
172 );
|
|
173 MMRESULT WINAPI acmDriverRemove(
|
|
174 HACMDRIVERID hadid, DWORD fdwRemove
|
|
175 );
|
|
176 MMRESULT WINAPI acmFilterChooseA(
|
|
177 PACMFILTERCHOOSEA pafltrc
|
|
178 );
|
|
179 MMRESULT WINAPI acmFilterChooseW(
|
|
180 PACMFILTERCHOOSEW pafltrc
|
|
181 );
|
|
182 MMRESULT WINAPI acmFilterDetailsA(
|
|
183 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
|
|
184 );
|
|
185 MMRESULT WINAPI acmFilterDetailsW(
|
|
186 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
|
|
187 );
|
|
188 MMRESULT WINAPI acmFilterEnumA(
|
|
189 HACMDRIVER had, PACMFILTERDETAILSA pafd,
|
|
190 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
191 );
|
|
192 MMRESULT WINAPI acmFilterEnumW(
|
|
193 HACMDRIVER had, PACMFILTERDETAILSW pafd,
|
|
194 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
195 );
|
|
196 MMRESULT WINAPI acmFilterTagDetailsA(
|
|
197 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
|
|
198 );
|
|
199 MMRESULT WINAPI acmFilterTagDetailsW(
|
|
200 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
|
|
201 );
|
|
202 MMRESULT WINAPI acmFilterTagEnumA(
|
|
203 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
|
|
204 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
205 );
|
|
206 MMRESULT WINAPI acmFilterTagEnumW(
|
|
207 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
|
|
208 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
209 );
|
|
210 MMRESULT WINAPI acmFormatChooseA(
|
|
211 PACMFORMATCHOOSEA pafmtc
|
|
212 );
|
|
213 MMRESULT WINAPI acmFormatChooseW(
|
|
214 PACMFORMATCHOOSEW pafmtc
|
|
215 );
|
|
216 MMRESULT WINAPI acmFormatDetailsA(
|
|
217 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
|
|
218 );
|
|
219 MMRESULT WINAPI acmFormatDetailsW(
|
|
220 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
|
|
221 );
|
|
222 MMRESULT WINAPI acmFormatEnumA(
|
|
223 HACMDRIVER had, PACMFORMATDETAILSA pafd,
|
|
224 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
225 );
|
|
226 MMRESULT WINAPI acmFormatEnumW(
|
|
227 HACMDRIVER had, PACMFORMATDETAILSW pafd,
|
|
228 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
229 );
|
|
230 MMRESULT WINAPI acmFormatSuggest(
|
|
231 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
|
|
232 DWORD cbwfxDst, DWORD fdwSuggest
|
|
233 );
|
|
234 MMRESULT WINAPI acmFormatTagDetailsA(
|
|
235 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
|
|
236 );
|
|
237 MMRESULT WINAPI acmFormatTagDetailsW(
|
|
238 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
|
|
239 );
|
|
240 MMRESULT WINAPI acmFormatTagEnumA(
|
|
241 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
|
|
242 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
243 );
|
|
244 MMRESULT WINAPI acmFormatTagEnumW(
|
|
245 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
|
|
246 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
|
|
247 );
|
|
248 DWORD WINAPI acmGetVersion(
|
|
249 );
|
|
250 MMRESULT WINAPI acmMetrics(
|
|
251 HACMOBJ hao, UINT uMetric, LPVOID pMetric
|
|
252 );
|
|
253 MMRESULT WINAPI acmStreamClose(
|
|
254 HACMSTREAM has, DWORD fdwClose
|
|
255 );
|
|
256 MMRESULT WINAPI acmStreamConvert(
|
|
257 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
|
|
258 );
|
|
259 MMRESULT WINAPI acmStreamMessage(
|
|
260 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
|
|
261 );
|
|
262 MMRESULT WINAPI acmStreamOpen(
|
|
263 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
|
|
264 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
|
|
265 DWORD dwInstance, DWORD fdwOpen
|
|
266 );
|
|
267 MMRESULT WINAPI acmStreamPrepareHeader(
|
|
268 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
|
|
269 );
|
|
270 MMRESULT WINAPI acmStreamReset(
|
|
271 HACMSTREAM has, DWORD fdwReset
|
|
272 );
|
|
273 MMRESULT WINAPI acmStreamSize(
|
|
274 HACMSTREAM has, DWORD cbInput,
|
|
275 LPDWORD pdwOutputBytes, DWORD fdwSize
|
|
276 );
|
|
277 MMRESULT WINAPI acmStreamUnprepareHeader(
|
|
278 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
|
|
279 );
|
|
280 void MSACM_RegisterAllDrivers(void);
|
|
281
|
128
|
282 int WINAPI LoadStringA(long instance, long id, void* buf, long size);
|
|
283
|
1
|
284 #ifdef __cplusplus
|
|
285 }
|
|
286 #endif
|
|
287 #endif /* __LOADER_H */
|
|
288
|