|
1 #ifndef _VFW_H |
|
2 #define _VFW_H |
|
3 #if __GNUC__ >= 3 |
|
4 #pragma GCC system_header |
|
5 #endif |
|
6 |
|
7 #ifndef _WINDOWS_H |
|
8 #include <windows.h> |
|
9 #endif |
|
10 #ifndef _MMSYSTEM_H |
|
11 #include <mmsystem.h> |
|
12 #endif |
|
13 #if !defined (_OLE2_H) && !defined (_OBJC_NO_COM) |
|
14 #include <ole2.h> |
|
15 #endif |
|
16 |
|
17 #define VFWAPI WINAPI |
|
18 #define VFWAPIV WINAPIV |
|
19 |
|
20 #include <pshpack8.h> |
|
21 |
|
22 #ifdef __cplusplus |
|
23 extern "C" { |
|
24 #endif |
|
25 |
|
26 #define ICERR_OK 0 |
|
27 #define ICERR_DONTDRAW 1 |
|
28 #define ICERR_NEWPALETTE 2 |
|
29 #define ICERR_GOTOKEYFRAME 3 |
|
30 #define ICERR_STOPDRAWING 4 |
|
31 #define ICERR_UNSUPPORTED -1 |
|
32 #define ICERR_BADFORMAT -2 |
|
33 #define ICERR_MEMORY -3 |
|
34 #define ICERR_INTERNAL -4 |
|
35 #define ICERR_BADFLAGS -5 |
|
36 #define ICERR_BADPARAM -6 |
|
37 #define ICERR_BADSIZE -7 |
|
38 #define ICERR_BADHANDLE -8 |
|
39 #define ICERR_CANTUPDATE -9 |
|
40 #define ICERR_ABORT -10 |
|
41 #define ICERR_ERROR -100 |
|
42 #define ICERR_BADBITDEPTH -200 |
|
43 #define ICERR_BADIMAGESIZE -201 |
|
44 #define ICERR_CUSTOM -400 |
|
45 #define ICCOMPRESSFRAMES_PADDING 0x01 |
|
46 #define ICM_USER (DRV_USER+0x0000) |
|
47 #define ICM_RESERVED_LOW (DRV_USER+0x1000) |
|
48 #define ICM_RESERVED_HIGH (DRV_USER+0x2000) |
|
49 #define ICM_RESERVED ICM_RESERVED_LOW |
|
50 #define ICM_GETSTATE (ICM_RESERVED+0) |
|
51 #define ICM_SETSTATE (ICM_RESERVED+1) |
|
52 #define ICM_GETINFO (ICM_RESERVED+2) |
|
53 #define ICM_CONFIGURE (ICM_RESERVED+10) |
|
54 #define ICM_ABOUT (ICM_RESERVED+11) |
|
55 #define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30) |
|
56 #define ICM_GETQUALITY (ICM_RESERVED+31) |
|
57 #define ICM_SETQUALITY (ICM_RESERVED+32) |
|
58 #define ICM_SET (ICM_RESERVED+40) |
|
59 #define ICM_GET (ICM_RESERVED+41) |
|
60 #define ICM_FRAMERATE mmioFOURCC('F','r','m','R') |
|
61 #define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R') |
|
62 #define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) |
|
63 #define ICM_COMPRESS_GET_SIZE (ICM_USER+5) |
|
64 #define ICM_COMPRESS_QUERY (ICM_USER+6) |
|
65 #define ICM_COMPRESS_BEGIN (ICM_USER+7) |
|
66 #define ICM_COMPRESS (ICM_USER+8) |
|
67 #define ICM_COMPRESS_END (ICM_USER+9) |
|
68 #define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10) |
|
69 #define ICM_DECOMPRESS_QUERY (ICM_USER+11) |
|
70 #define ICM_DECOMPRESS_BEGIN (ICM_USER+12) |
|
71 #define ICM_DECOMPRESS (ICM_USER+13) |
|
72 #define ICM_DECOMPRESS_END (ICM_USER+14) |
|
73 #define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29) |
|
74 #define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30) |
|
75 #define ICM_DRAW_QUERY (ICM_USER+31) |
|
76 #define ICM_DRAW_BEGIN (ICM_USER+15) |
|
77 #define ICM_DRAW_GET_PALETTE (ICM_USER+16) |
|
78 #define ICM_DRAW_START (ICM_USER+18) |
|
79 #define ICM_DRAW_STOP (ICM_USER+19) |
|
80 #define ICM_DRAW_END (ICM_USER+21) |
|
81 #define ICM_DRAW_GETTIME (ICM_USER+32) |
|
82 #define ICM_DRAW (ICM_USER+33) |
|
83 #define ICM_DRAW_WINDOW (ICM_USER+34) |
|
84 #define ICM_DRAW_SETTIME (ICM_USER+35) |
|
85 #define ICM_DRAW_REALIZE (ICM_USER+36) |
|
86 #define ICM_DRAW_FLUSH (ICM_USER+37) |
|
87 #define ICM_DRAW_RENDERBUFFER (ICM_USER+38) |
|
88 #define ICM_DRAW_START_PLAY (ICM_USER+39) |
|
89 #define ICM_DRAW_STOP_PLAY (ICM_USER+40) |
|
90 #define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50) |
|
91 #define ICM_DRAW_CHANGEPALETTE (ICM_USER+51) |
|
92 #define ICM_GETBUFFERSWANTED (ICM_USER+41) |
|
93 #define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42) |
|
94 #define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60) |
|
95 #define ICM_DECOMPRESSEX_QUERY (ICM_USER+61) |
|
96 #define ICM_DECOMPRESSEX (ICM_USER+62) |
|
97 #define ICM_DECOMPRESSEX_END (ICM_USER+63) |
|
98 #define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) |
|
99 #define ICM_SET_STATUS_PROC (ICM_USER+72) |
|
100 #define ICMF_CONFIGURE_QUERY 0x01 |
|
101 #define ICCOMPRESS_KEYFRAME 0x01 |
|
102 #define ICSTATUS_START 0 |
|
103 #define ICSTATUS_STATUS 1 |
|
104 #define ICSTATUS_END 2 |
|
105 #define ICSTATUS_ERROR 3 |
|
106 #define ICSTATUS_YIELD 4 |
|
107 #define ICMODE_COMPRESS 1 |
|
108 #define ICMODE_DECOMPRESS 2 |
|
109 #define ICMODE_FASTDECOMPRESS 3 |
|
110 #define ICMODE_QUERY 4 |
|
111 #define ICMODE_FASTCOMPRESS 5 |
|
112 #define ICMODE_DRAW 8 |
|
113 #define ICQUALITY_LOW 0 |
|
114 #define ICQUALITY_HIGH 10000 |
|
115 #define ICQUALITY_DEFAULT -1 |
|
116 #define VIDCF_QUALITY 0x01 |
|
117 #define VIDCF_CRUNCH 0x02 |
|
118 #define VIDCF_TEMPORAL 0x04 |
|
119 #define VIDCF_COMPRESSFRAMES 0x08 |
|
120 #define VIDCF_DRAW 0x10 |
|
121 #define VIDCF_FASTTEMPORALC 0x20 |
|
122 #define VIDCF_FASTTEMPORALD 0x80 |
|
123 #define VIDCF_QUALITYTIME 0x40 |
|
124 #define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) |
|
125 #define ICMF_ABOUT_QUERY 0x01 |
|
126 #define ICDECOMPRESS_HURRYUP 0x80000000 |
|
127 #define ICDECOMPRESS_UPDATE 0x40000000 |
|
128 #define ICDECOMPRESS_PREROLL 0x20000000 |
|
129 #define ICDECOMPRESS_NULLFRAME 0x10000000 |
|
130 #define ICDECOMPRESS_NOTKEYFRAME 0x8000000 |
|
131 #define ICDRAW_QUERY 0x01L |
|
132 #define ICDRAW_FULLSCREEN 0x02L |
|
133 #define ICDRAW_HDC 0x04L |
|
134 #define ICDRAW_ANIMATE 0x08L |
|
135 #define ICDRAW_CONTINUE 0x10L |
|
136 #define ICDRAW_MEMORYDC 0x20L |
|
137 #define ICDRAW_UPDATING 0x40L |
|
138 #define ICDRAW_RENDER 0x80L |
|
139 #define ICDRAW_BUFFER 0x100L |
|
140 #define ICINSTALL_UNICODE 0x8000 |
|
141 #define ICINSTALL_FUNCTION 0x01 |
|
142 #define ICINSTALL_DRIVER 0x02 |
|
143 #define ICINSTALL_HDRV 0x04 |
|
144 #define ICINSTALL_DRIVERW 0x8002 |
|
145 #define ICDRAW_HURRYUP 0x80000000L |
|
146 #define ICDRAW_UPDATE 0x40000000L |
|
147 #define ICDRAW_PREROLL 0x20000000L |
|
148 #define ICDRAW_NULLFRAME 0x10000000L |
|
149 #define ICDRAW_NOTKEYFRAME 0x8000000L |
|
150 #define ICMF_COMPVARS_VALID 0x01 |
|
151 #define ICMF_CHOOSE_KEYFRAME 0x01 |
|
152 #define ICMF_CHOOSE_DATARATE 0x02 |
|
153 #define ICMF_CHOOSE_PREVIEW 0x04 |
|
154 #define ICMF_CHOOSE_ALLCOMPRESSORS 0x08 |
|
155 #define ICTYPE_VIDEO mmioFOURCC('v','i','d','c') |
|
156 #define ICTYPE_AUDIO mmioFOURCC('a','u','d','c') |
|
157 #define formtypeAVI mmioFOURCC('A','V','I',' ') |
|
158 #define listtypeAVIHEADER mmioFOURCC('h','d','r','l') |
|
159 #define ckidAVIMAINHDR mmioFOURCC('a','v','i','h') |
|
160 #define listtypeSTREAMHEADER mmioFOURCC('s','t','r','l') |
|
161 #define ckidSTREAMHEADER mmioFOURCC('s','t','r','h') |
|
162 #define ckidSTREAMFORMAT mmioFOURCC('s','t','r','f') |
|
163 #define ckidSTREAMHANDLERDATA mmioFOURCC('s','t','r','d') |
|
164 #define ckidSTREAMNAME mmioFOURCC('s','t','r','n') |
|
165 #define listtypeAVIMOVIE mmioFOURCC('m','o','v','i') |
|
166 #define listtypeAVIRECORD mmioFOURCC('r','e','c',' ') |
|
167 #define ckidAVINEWINDEX mmioFOURCC('i', 'd', 'x', '1') |
|
168 #define streamtypeANY 0UL |
|
169 #define streamtypeVIDEO mmioFOURCC('v','i','d','s') |
|
170 #define streamtypeAUDIO mmioFOURCC('a','u','d','s') |
|
171 #define streamtypeMIDI mmioFOURCC('m','i','d','s') |
|
172 #define streamtypeTEXT mmioFOURCC('t','x','t','s') |
|
173 #define cktypeDIBbits aviTWOCC('d','b') |
|
174 #define cktypeDIBcompressed aviTWOCC('d','c') |
|
175 #define cktypePALchange aviTWOCC('p','c') |
|
176 #define cktypeWAVEbytes aviTWOCC('w','b') |
|
177 #define ckidAVIPADDING mmioFOURCC('J','U','N','K') |
|
178 #define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0')) |
|
179 #define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc)))))) |
|
180 #define TWOCCFromFOURCC(fcc) HIWORD(fcc) |
|
181 #define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0'))) |
|
182 #define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc) |
|
183 #define AVIF_HASINDEX 0x10 |
|
184 #define AVIF_MUSTUSEINDEX 0x20 |
|
185 #define AVIF_ISINTERLEAVED 0x100 |
|
186 #define AVIF_TRUSTCKTYPE 0x800 |
|
187 #define AVIF_WASCAPTUREFILE 0x10000 |
|
188 #define AVIF_COPYRIGHTED 0x20000 |
|
189 #define AVI_HEADERSIZE 2048 |
|
190 #define AVISF_DISABLED 0x01 |
|
191 #define AVISF_VIDEO_PALCHANGES 0x10000 |
|
192 #define AVIIF_LIST 0x01 |
|
193 #define AVIIF_TWOCC 0x02 |
|
194 #define AVIIF_KEYFRAME 0x10 |
|
195 #define AVIIF_NOTIME 0x100 |
|
196 #define AVIIF_COMPUSE 0xfff0000 |
|
197 #define AVIIF_KEYFRAME 0x10 |
|
198 #define AVIGETFRAMEF_BESTDISPLAYFMT 1 |
|
199 #define AVISTREAMINFO_DISABLED 0x01 |
|
200 #define AVISTREAMINFO_FORMATCHANGES 0x10000 |
|
201 #define AVIFILEINFO_HASINDEX 0x10 |
|
202 #define AVIFILEINFO_MUSTUSEINDEX 0x20 |
|
203 #define AVIFILEINFO_ISINTERLEAVED 0x100 |
|
204 #define AVIFILEINFO_TRUSTCKTYPE 0x800 |
|
205 #define AVIFILEINFO_WASCAPTUREFILE 0x10000 |
|
206 #define AVIFILEINFO_COPYRIGHTED 0x20000 |
|
207 #define AVIFILECAPS_CANREAD 0x01 |
|
208 #define AVIFILECAPS_CANWRITE 0x02 |
|
209 #define AVIFILECAPS_ALLKEYFRAMES 0x10 |
|
210 #define AVIFILECAPS_NOCOMPRESSION 0x20 |
|
211 #define AVICOMPRESSF_INTERLEAVE 0x01 |
|
212 #define AVICOMPRESSF_DATARATE 0x02 |
|
213 #define AVICOMPRESSF_KEYFRAMES 0x04 |
|
214 #define AVICOMPRESSF_VALID 0x08 |
|
215 #define FIND_DIR 0x0000000fL |
|
216 #define FIND_NEXT 0x00000001L |
|
217 #define FIND_PREV 0x00000004L |
|
218 #define FIND_FROM_START 0x00000008L |
|
219 #define FIND_TYPE 0x000000f0L |
|
220 #define FIND_KEY 0x00000010L |
|
221 #define FIND_ANY 0x00000020L |
|
222 #define FIND_FORMAT 0x00000040L |
|
223 #define FIND_RET 0x0000f000L |
|
224 #define FIND_POS 0x00000000L |
|
225 #define FIND_LENGTH 0x00001000L |
|
226 #define FIND_OFFSET 0x00002000L |
|
227 #define FIND_SIZE 0x00003000L |
|
228 #define FIND_INDEX 0x00004000L |
|
229 #define AVIERR_OK 0 |
|
230 #define MAKE_AVIERR(e) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e) |
|
231 #define AVIERR_UNSUPPORTED MAKE_AVIERR(101) |
|
232 #define AVIERR_BADFORMAT MAKE_AVIERR(102) |
|
233 #define AVIERR_MEMORY MAKE_AVIERR(103) |
|
234 #define AVIERR_INTERNAL MAKE_AVIERR(104) |
|
235 #define AVIERR_BADFLAGS MAKE_AVIERR(105) |
|
236 #define AVIERR_BADPARAM MAKE_AVIERR(106) |
|
237 #define AVIERR_BADSIZE MAKE_AVIERR(107) |
|
238 #define AVIERR_BADHANDLE MAKE_AVIERR(108) |
|
239 #define AVIERR_FILEREAD MAKE_AVIERR(109) |
|
240 #define AVIERR_FILEWRITE MAKE_AVIERR(110) |
|
241 #define AVIERR_FILEOPEN MAKE_AVIERR(111) |
|
242 #define AVIERR_COMPRESSOR MAKE_AVIERR(112) |
|
243 #define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113) |
|
244 #define AVIERR_READONLY MAKE_AVIERR(114) |
|
245 #define AVIERR_NODATA MAKE_AVIERR(115) |
|
246 #define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116) |
|
247 #define AVIERR_CANTCOMPRESS MAKE_AVIERR(117) |
|
248 #define AVIERR_USERABORT MAKE_AVIERR(198) |
|
249 #define AVIERR_ERROR MAKE_AVIERR(199) |
|
250 #define MCIWNDOPENF_NEW 0x0001 |
|
251 #define MCIWNDF_NOAUTOSIZEWINDOW 0x0001 |
|
252 #define MCIWNDF_NOPLAYBAR 0x0002 |
|
253 #define MCIWNDF_NOAUTOSIZEMOVIE 0x0004 |
|
254 #define MCIWNDF_NOMENU 0x0008 |
|
255 #define MCIWNDF_SHOWNAME 0x0010 |
|
256 #define MCIWNDF_SHOWPOS 0x0020 |
|
257 #define MCIWNDF_SHOWMODE 0x0040 |
|
258 #define MCIWNDF_SHOWALL 0x0070 |
|
259 #define MCIWNDF_NOTIFYMODE 0x0100 |
|
260 #define MCIWNDF_NOTIFYPOS 0x0200 |
|
261 #define MCIWNDF_NOTIFYSIZE 0x0400 |
|
262 #define MCIWNDF_NOTIFYERROR 0x1000 |
|
263 #define MCIWNDF_NOTIFYALL 0x1F00 |
|
264 #define MCIWNDF_NOTIFYANSI 0x0080 |
|
265 #define MCIWNDF_NOTIFYMEDIAA 0x0880 |
|
266 #define MCIWNDF_NOTIFYMEDIAW 0x0800 |
|
267 #define MCIWNDF_RECORD 0x2000 |
|
268 #define MCIWNDF_NOERRORDLG 0x4000 |
|
269 #define MCIWNDF_NOOPEN 0x8000 |
|
270 #define MCIWNDM_GETDEVICEID (WM_USER + 100) |
|
271 #define MCIWNDM_GETSTART (WM_USER + 103) |
|
272 #define MCIWNDM_GETLENGTH (WM_USER + 104) |
|
273 #define MCIWNDM_GETEND (WM_USER + 105) |
|
274 #define MCIWNDM_EJECT (WM_USER + 107) |
|
275 #define MCIWNDM_SETZOOM (WM_USER + 108) |
|
276 #define MCIWNDM_GETZOOM (WM_USER + 109) |
|
277 #define MCIWNDM_SETVOLUME (WM_USER + 110) |
|
278 #define MCIWNDM_GETVOLUME (WM_USER + 111) |
|
279 #define MCIWNDM_SETSPEED (WM_USER + 112) |
|
280 #define MCIWNDM_GETSPEED (WM_USER + 113) |
|
281 #define MCIWNDM_SETREPEAT (WM_USER + 114) |
|
282 #define MCIWNDM_GETREPEAT (WM_USER + 115) |
|
283 #define MCIWNDM_REALIZE (WM_USER + 118) |
|
284 #define MCIWNDM_VALIDATEMEDIA (WM_USER + 121) |
|
285 #define MCIWNDM_PLAYFROM (WM_USER + 122) |
|
286 #define MCIWNDM_PLAYTO (WM_USER + 123) |
|
287 #define MCIWNDM_GETPALETTE (WM_USER + 126) |
|
288 #define MCIWNDM_SETPALETTE (WM_USER + 127) |
|
289 #define MCIWNDM_SETTIMERS (WM_USER + 129) |
|
290 #define MCIWNDM_SETACTIVETIMER (WM_USER + 130) |
|
291 #define MCIWNDM_SETINACTIVETIMER (WM_USER + 131) |
|
292 #define MCIWNDM_GETACTIVETIMER (WM_USER + 132) |
|
293 #define MCIWNDM_GETINACTIVETIMER (WM_USER + 133) |
|
294 #define MCIWNDM_CHANGESTYLES (WM_USER + 135) |
|
295 #define MCIWNDM_GETSTYLES (WM_USER + 136) |
|
296 #define MCIWNDM_GETALIAS (WM_USER + 137) |
|
297 #define MCIWNDM_PLAYREVERSE (WM_USER + 139) |
|
298 #define MCIWNDM_GET_SOURCE (WM_USER + 140) |
|
299 #define MCIWNDM_PUT_SOURCE (WM_USER + 141) |
|
300 #define MCIWNDM_GET_DEST (WM_USER + 142) |
|
301 #define MCIWNDM_PUT_DEST (WM_USER + 143) |
|
302 #define MCIWNDM_CAN_PLAY (WM_USER + 144) |
|
303 #define MCIWNDM_CAN_WINDOW (WM_USER + 145) |
|
304 #define MCIWNDM_CAN_RECORD (WM_USER + 146) |
|
305 #define MCIWNDM_CAN_SAVE (WM_USER + 147) |
|
306 #define MCIWNDM_CAN_EJECT (WM_USER + 148) |
|
307 #define MCIWNDM_CAN_CONFIG (WM_USER + 149) |
|
308 #define MCIWNDM_PALETTEKICK (WM_USER + 150) |
|
309 #define MCIWNDM_OPENINTERFACE (WM_USER + 151) |
|
310 #define MCIWNDM_SETOWNER (WM_USER + 152) |
|
311 #define MCIWNDM_SENDSTRINGA (WM_USER + 101) |
|
312 #define MCIWNDM_GETPOSITIONA (WM_USER + 102) |
|
313 #define MCIWNDM_GETMODEA (WM_USER + 106) |
|
314 #define MCIWNDM_SETTIMEFORMATA (WM_USER + 119) |
|
315 #define MCIWNDM_GETTIMEFORMATA (WM_USER + 120) |
|
316 #define MCIWNDM_GETFILENAMEA (WM_USER + 124) |
|
317 #define MCIWNDM_GETDEVICEA (WM_USER + 125) |
|
318 #define MCIWNDM_GETERRORA (WM_USER + 128) |
|
319 #define MCIWNDM_NEWA (WM_USER + 134) |
|
320 #define MCIWNDM_RETURNSTRINGA (WM_USER + 138) |
|
321 #define MCIWNDM_OPENA (WM_USER + 153) |
|
322 #define MCIWNDM_SENDSTRINGW (WM_USER + 201) |
|
323 #define MCIWNDM_GETPOSITIONW (WM_USER + 202) |
|
324 #define MCIWNDM_GETMODEW (WM_USER + 206) |
|
325 #define MCIWNDM_SETTIMEFORMATW (WM_USER + 219) |
|
326 #define MCIWNDM_GETTIMEFORMATW (WM_USER + 220) |
|
327 #define MCIWNDM_GETFILENAMEW (WM_USER + 224) |
|
328 #define MCIWNDM_GETDEVICEW (WM_USER + 225) |
|
329 #define MCIWNDM_GETERRORW (WM_USER + 228) |
|
330 #define MCIWNDM_NEWW (WM_USER + 234) |
|
331 #define MCIWNDM_RETURNSTRINGW (WM_USER + 238) |
|
332 #define MCIWNDM_OPENW (WM_USER + 252) |
|
333 #define MCIWNDM_NOTIFYMODE (WM_USER + 200) |
|
334 #define MCIWNDM_NOTIFYPOS (WM_USER + 201) |
|
335 #define MCIWNDM_NOTIFYSIZE (WM_USER + 202) |
|
336 #define MCIWNDM_NOTIFYMEDIA (WM_USER + 203) |
|
337 #define MCIWNDM_NOTIFYERROR (WM_USER + 205) |
|
338 #define MCIWND_START -1 |
|
339 #define MCIWND_END -2 |
|
340 #define DDF_UPDATE 0x02 |
|
341 #define DDF_SAME_HDC 0x04 |
|
342 #define DDF_SAME_DRAW 0x08 |
|
343 #define DDF_DONTDRAW 0x10 |
|
344 #define DDF_ANIMATE 0x20 |
|
345 #define DDF_BUFFER 0x40 |
|
346 #define DDF_JUSTDRAWIT 0x80 |
|
347 #define DDF_FULLSCREEN 0x100 |
|
348 #define DDF_BACKGROUNDPAL 0x200 |
|
349 #define DDF_NOTKEYFRAME 0x400 |
|
350 #define DDF_HURRYUP 0x800 |
|
351 #define DDF_HALFTONE 0x1000 |
|
352 #define DDF_PREROLL DDF_DONTDRAW |
|
353 #define DDF_SAME_DIB DDF_SAME_DRAW |
|
354 #define DDF_SAME_SIZE DDF_SAME_DRAW |
|
355 #define PD_CAN_DRAW_DIB 0x01 |
|
356 #define PD_CAN_STRETCHDIB 0x02 |
|
357 #define PD_STRETCHDIB_1_1_OK 0x04 |
|
358 #define PD_STRETCHDIB_1_2_OK 0x08 |
|
359 #define PD_STRETCHDIB_1_N_OK 0x10 |
|
360 #ifndef mmioFOURCC |
|
361 #define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24)) |
|
362 #endif |
|
363 #ifndef aviTWOCC |
|
364 #define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8)) |
|
365 #endif |
|
366 |
|
367 #ifndef RC_INVOKED |
|
368 DECLARE_HANDLE(HIC); |
|
369 DECLARE_HANDLE(HDRAWDIB); |
|
370 typedef WORD TWOCC; |
|
371 typedef BOOL (CALLBACK *AVISAVECALLBACK)(INT); |
|
372 typedef struct { |
|
373 DWORD dwSize; |
|
374 DWORD fccType; |
|
375 DWORD fccHandler; |
|
376 DWORD dwVersion; |
|
377 DWORD dwFlags; |
|
378 LRESULT dwError; |
|
379 LPVOID pV1Reserved; |
|
380 LPVOID pV2Reserved; |
|
381 DWORD dnDevNode; |
|
382 } ICOPEN,*LPICOPEN; |
|
383 typedef struct { |
|
384 DWORD dwFlags; |
|
385 LPBITMAPINFOHEADER lpbiOutput; |
|
386 LPVOID lpOutput; |
|
387 LPBITMAPINFOHEADER lpbiInput; |
|
388 LPVOID lpInput; |
|
389 LPDWORD lpckid; |
|
390 LPDWORD lpdwFlags; |
|
391 LONG lFrameNum; |
|
392 DWORD dwFrameSize; |
|
393 DWORD dwQuality; |
|
394 LPBITMAPINFOHEADER lpbiPrev; |
|
395 LPVOID lpPrev; |
|
396 } ICCOMPRESS; |
|
397 typedef struct { |
|
398 DWORD dwFlags; |
|
399 LPBITMAPINFOHEADER lpbiOutput; |
|
400 LPARAM lOutput; |
|
401 LPBITMAPINFOHEADER lpbiInput; |
|
402 LPARAM lInput; |
|
403 LONG lStartFrame; |
|
404 LONG lFrameCount; |
|
405 LONG lQuality; |
|
406 LONG lDataRate; |
|
407 LONG lKeyRate; |
|
408 DWORD dwRate; |
|
409 DWORD dwScale; |
|
410 DWORD dwOverheadPerFrame; |
|
411 DWORD dwReserved2; |
|
412 LONG (CALLBACK *GetData)(LPARAM,LONG,LPVOID,LONG); |
|
413 LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG); |
|
414 } ICCOMPRESSFRAMES; |
|
415 typedef struct { |
|
416 DWORD dwFlags; |
|
417 LPARAM lParam; |
|
418 LONG (CALLBACK *Status)(LPARAM,UINT,LONG); |
|
419 } ICSETSTATUSPROC; |
|
420 typedef struct { |
|
421 DWORD dwSize; |
|
422 DWORD fccType; |
|
423 DWORD fccHandler; |
|
424 DWORD dwFlags; |
|
425 DWORD dwVersion; |
|
426 DWORD dwVersionICM; |
|
427 WCHAR szName[16]; |
|
428 WCHAR szDescription[128]; |
|
429 WCHAR szDriver[128]; |
|
430 } ICINFO; |
|
431 typedef struct { |
|
432 DWORD dwFlags; |
|
433 LPBITMAPINFOHEADER lpbiInput; |
|
434 LPVOID lpInput; |
|
435 LPBITMAPINFOHEADER lpbiOutput; |
|
436 LPVOID lpOutput; |
|
437 DWORD ckid; |
|
438 } ICDECOMPRESS; |
|
439 typedef struct { |
|
440 DWORD dwFlags; |
|
441 LPBITMAPINFOHEADER lpbiSrc; |
|
442 LPVOID lpSrc; |
|
443 LPBITMAPINFOHEADER lpbiDst; |
|
444 LPVOID lpDst; |
|
445 INT xDst; |
|
446 INT yDst; |
|
447 INT dxDst; |
|
448 INT dyDst; |
|
449 INT xSrc; |
|
450 INT ySrc; |
|
451 INT dxSrc; |
|
452 INT dySrc; |
|
453 } ICDECOMPRESSEX; |
|
454 typedef struct { |
|
455 DWORD dwFlags; |
|
456 LPBITMAPINFOHEADER lpbiIn; |
|
457 LPBITMAPINFOHEADER lpbiSuggest; |
|
458 INT dxSrc; |
|
459 INT dySrc; |
|
460 INT dxDst; |
|
461 INT dyDst; |
|
462 HIC hicDecompressor; |
|
463 } ICDRAWSUGGEST; |
|
464 typedef struct { |
|
465 DWORD dwFlags; |
|
466 INT iStart; |
|
467 INT iLen; |
|
468 LPPALETTEENTRY lppe; |
|
469 } ICPALETTE; |
|
470 typedef struct { |
|
471 DWORD dwFlags; |
|
472 HPALETTE hpal; |
|
473 HWND hwnd; |
|
474 HDC hdc; |
|
475 INT xDst; |
|
476 INT yDst; |
|
477 INT dxDst; |
|
478 INT dyDst; |
|
479 LPBITMAPINFOHEADER lpbi; |
|
480 INT xSrc; |
|
481 INT ySrc; |
|
482 INT dxSrc; |
|
483 INT dySrc; |
|
484 DWORD dwRate; |
|
485 DWORD dwScale; |
|
486 } ICDRAWBEGIN; |
|
487 typedef struct { |
|
488 DWORD dwFlags; |
|
489 LPVOID lpFormat; |
|
490 LPVOID lpData; |
|
491 DWORD cbData; |
|
492 LONG lTime; |
|
493 } ICDRAW; |
|
494 typedef struct { |
|
495 LONG cbSize; |
|
496 DWORD dwFlags; |
|
497 HIC hic; |
|
498 DWORD fccType; |
|
499 DWORD fccHandler; |
|
500 LPBITMAPINFO lpbiIn; |
|
501 LPBITMAPINFO lpbiOut; |
|
502 LPVOID lpBitsOut; |
|
503 LPVOID lpBitsPrev; |
|
504 LONG lFrame; |
|
505 LONG lKey; |
|
506 LONG lDataRate; |
|
507 LONG lQ; |
|
508 LONG lKeyCount; |
|
509 LPVOID lpState; |
|
510 LONG cbState; |
|
511 } COMPVARS, *PCOMPVARS; |
|
512 typedef struct _MainAVIHeader |
|
513 { |
|
514 DWORD dwMicroSecPerFrame; |
|
515 DWORD dwMaxBytesPerSec; |
|
516 DWORD dwPaddingGranularity; |
|
517 DWORD dwFlags; |
|
518 DWORD dwTotalFrames; |
|
519 DWORD dwInitialFrames; |
|
520 DWORD dwStreams; |
|
521 DWORD dwSuggestedBufferSize; |
|
522 DWORD dwWidth; |
|
523 DWORD dwHeight; |
|
524 DWORD dwReserved[4]; |
|
525 } MainAVIHeader; |
|
526 typedef struct { |
|
527 FOURCC fccType; |
|
528 FOURCC fccHandler; |
|
529 DWORD dwFlags; |
|
530 WORD wPriority; |
|
531 WORD wLanguage; |
|
532 DWORD dwInitialFrames; |
|
533 DWORD dwScale; |
|
534 DWORD dwRate; |
|
535 DWORD dwStart; |
|
536 DWORD dwLength; |
|
537 DWORD dwSuggestedBufferSize; |
|
538 DWORD dwQuality; |
|
539 DWORD dwSampleSize; |
|
540 RECT rcFrame; |
|
541 } AVIStreamHeader; |
|
542 typedef struct _AVIINDEXENTRY { |
|
543 DWORD ckid; |
|
544 DWORD dwFlags; |
|
545 DWORD dwChunkOffset; |
|
546 DWORD dwChunkLength; |
|
547 } AVIINDEXENTRY; |
|
548 typedef struct _AVIPALCHANGE { |
|
549 BYTE bFirstEntry; |
|
550 BYTE bNumEntries; |
|
551 WORD wFlags; |
|
552 PALETTEENTRY peNew[1]; |
|
553 } AVIPALCHANGE; |
|
554 typedef struct _AVISTREAMINFOA { |
|
555 DWORD fccType; |
|
556 DWORD fccHandler; |
|
557 DWORD dwFlags; |
|
558 DWORD dwCaps; |
|
559 WORD wPriority; |
|
560 WORD wLanguage; |
|
561 DWORD dwScale; |
|
562 DWORD dwRate; |
|
563 DWORD dwStart; |
|
564 DWORD dwLength; |
|
565 DWORD dwInitialFrames; |
|
566 DWORD dwSuggestedBufferSize; |
|
567 DWORD dwQuality; |
|
568 DWORD dwSampleSize; |
|
569 RECT rcFrame; |
|
570 DWORD dwEditCount; |
|
571 DWORD dwFormatChangeCount; |
|
572 CHAR szName[64]; |
|
573 } AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA; |
|
574 typedef struct _AVISTREAMINFOW { |
|
575 DWORD fccType; |
|
576 DWORD fccHandler; |
|
577 DWORD dwFlags; |
|
578 DWORD dwCaps; |
|
579 WORD wPriority; |
|
580 WORD wLanguage; |
|
581 DWORD dwScale; |
|
582 DWORD dwRate; |
|
583 DWORD dwStart; |
|
584 DWORD dwLength; |
|
585 DWORD dwInitialFrames; |
|
586 DWORD dwSuggestedBufferSize; |
|
587 DWORD dwQuality; |
|
588 DWORD dwSampleSize; |
|
589 RECT rcFrame; |
|
590 DWORD dwEditCount; |
|
591 DWORD dwFormatChangeCount; |
|
592 WCHAR szName[64]; |
|
593 } AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW; |
|
594 typedef struct _AVIFILEINFOW { |
|
595 DWORD dwMaxBytesPerSec; |
|
596 DWORD dwFlags; |
|
597 DWORD dwCaps; |
|
598 DWORD dwStreams; |
|
599 DWORD dwSuggestedBufferSize; |
|
600 DWORD dwWidth; |
|
601 DWORD dwHeight; |
|
602 DWORD dwScale; |
|
603 DWORD dwRate; |
|
604 DWORD dwLength; |
|
605 DWORD dwEditCount; |
|
606 WCHAR szFileType[64]; |
|
607 } AVIFILEINFOW, *LPAVIFILEINFOW, *PAVIFILEINFOW; |
|
608 typedef struct _AVIFILEINFOA { |
|
609 DWORD dwMaxBytesPerSec; |
|
610 DWORD dwFlags; |
|
611 DWORD dwCaps; |
|
612 DWORD dwStreams; |
|
613 DWORD dwSuggestedBufferSize; |
|
614 DWORD dwWidth; |
|
615 DWORD dwHeight; |
|
616 DWORD dwScale; |
|
617 DWORD dwRate; |
|
618 DWORD dwLength; |
|
619 DWORD dwEditCount; |
|
620 CHAR szFileType[64]; |
|
621 } AVIFILEINFOA, *LPAVIFILEINFOA, *PAVIFILEINFOA; |
|
622 typedef struct _AVICOMPRESSOPTIONS { |
|
623 DWORD fccType; |
|
624 DWORD fccHandler; |
|
625 DWORD dwKeyFrameEvery; |
|
626 DWORD dwQuality; |
|
627 DWORD dwBytesPerSecond; |
|
628 DWORD dwFlags; |
|
629 LPVOID lpFormat; |
|
630 DWORD cbFormat; |
|
631 LPVOID lpParms; |
|
632 DWORD cbParms; |
|
633 DWORD dwInterleaveEvery; |
|
634 } AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS; |
|
635 |
|
636 #if !defined (_OBJC_NO_COM) |
|
637 #define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) |
|
638 DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0); |
|
639 DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0); |
|
640 DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0); |
|
641 DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0); |
|
642 DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0); |
|
643 DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0); |
|
644 |
|
645 #define INTERFACE IAVIStream |
|
646 DECLARE_INTERFACE_(IAVIStream, IUnknown) |
|
647 { |
|
648 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
649 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
650 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
651 STDMETHOD(Create)(THIS_ LPARAM,LPARAM) PURE; |
|
652 STDMETHOD(Info)(THIS_ AVISTREAMINFOW*,LONG) PURE; |
|
653 STDMETHOD_(LONG,FindSample)(THIS_ LONG,LONG) PURE; |
|
654 STDMETHOD(ReadFormat)(THIS_ LONG,LPVOID,LONG*) PURE; |
|
655 STDMETHOD(SetFormat)(THIS_ LONG,LPVOID,LONG) PURE; |
|
656 STDMETHOD(Read)(THIS_ LONG,LONG,LPVOID,LONG,LONG*,LONG*) PURE; |
|
657 STDMETHOD(Write)(THIS_ LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*) PURE; |
|
658 STDMETHOD(Delete)(THIS_ LONG,LONG) PURE; |
|
659 STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE; |
|
660 STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE; |
|
661 STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW*,LONG) PURE; |
|
662 }; |
|
663 #undef INTERFACE |
|
664 typedef IAVIStream *PAVISTREAM; |
|
665 |
|
666 #define INTERFACE IAVIStreaming |
|
667 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) |
|
668 { |
|
669 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
670 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
671 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
672 STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE; |
|
673 STDMETHOD(End)(THIS) PURE; |
|
674 }; |
|
675 #undef INTERFACE |
|
676 typedef IAVIStreaming *PAVISTREAMING; |
|
677 |
|
678 #define INTERFACE IAVIEditStream |
|
679 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) |
|
680 { |
|
681 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
682 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
683 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
684 STDMETHOD(Cut)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE; |
|
685 STDMETHOD(Copy)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE; |
|
686 STDMETHOD(Paste)(THIS_ LONG*,LONG*,PAVISTREAM,LONG,LONG) PURE; |
|
687 STDMETHOD(Clone)(THIS_ PAVISTREAM*) PURE; |
|
688 STDMETHOD(SetInfo)(THIS_ LPAVISTREAMINFOW,LONG) PURE; |
|
689 }; |
|
690 #undef INTERFACE |
|
691 typedef IAVIEditStream *PAVIEDITSTREAM; |
|
692 |
|
693 #define INTERFACE IAVIFile |
|
694 DECLARE_INTERFACE_(IAVIFile, IUnknown) |
|
695 { |
|
696 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
697 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
698 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
699 STDMETHOD(Info)(THIS_ AVIFILEINFOW*,LONG) PURE; |
|
700 STDMETHOD(GetStream)(THIS_ PAVISTREAM*,DWORD,LONG) PURE; |
|
701 STDMETHOD(CreateStream)(THIS_ PAVISTREAM*,AVISTREAMINFOW*) PURE; |
|
702 STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE; |
|
703 STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE; |
|
704 STDMETHOD(EndRecord)(THIS) PURE; |
|
705 STDMETHOD(DeleteStream)(THIS_ DWORD,LONG) PURE; |
|
706 }; |
|
707 #undef INTERFACE |
|
708 typedef IAVIFile *PAVIFILE; |
|
709 |
|
710 #define INTERFACE IGetFrame |
|
711 DECLARE_INTERFACE_(IGetFrame, IUnknown) |
|
712 { |
|
713 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
714 STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
715 STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
716 STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG) PURE; |
|
717 STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE; |
|
718 STDMETHOD(End)(THIS) PURE; |
|
719 STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT) PURE; |
|
720 }; |
|
721 #undef INTERFACE |
|
722 typedef IGetFrame *PGETFRAME; |
|
723 #endif /* !defined (_OBJC_NO_COM) */ |
|
724 |
|
725 DWORD VFWAPI VideoForWindowsVersion(VOID); |
|
726 LONG VFWAPI InitVFW(VOID); |
|
727 LONG VFWAPI TermVFW(VOID); |
|
728 DWORD VFWAPIV ICCompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID,LPDWORD,LPDWORD,LONG,DWORD,DWORD,LPBITMAPINFOHEADER,LPVOID); |
|
729 DWORD VFWAPIV ICDecompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID); |
|
730 LRESULT VFWAPI ICSendMessage(HIC,UINT,DWORD,DWORD); |
|
731 HANDLE VFWAPI ICImageCompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO,LONG,LONG*); |
|
732 HANDLE VFWAPI ICImageDecompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO); |
|
733 BOOL VFWAPI ICInfo(DWORD,DWORD,ICINFO*); |
|
734 BOOL VFWAPI ICInstall(DWORD,DWORD,LPARAM,LPSTR,UINT); |
|
735 BOOL VFWAPI ICRemove(DWORD,DWORD,UINT); |
|
736 LRESULT VFWAPI ICGetInfo(HIC,ICINFO*,DWORD); |
|
737 HIC VFWAPI ICOpen(DWORD,DWORD,UINT); |
|
738 HIC VFWAPI ICOpenFunction(DWORD,DWORD,UINT,FARPROC); |
|
739 LRESULT VFWAPI ICClose(HIC hic); |
|
740 HIC VFWAPI ICLocate(DWORD,DWORD,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,WORD); |
|
741 HIC VFWAPI ICGetDisplayFormat(HIC,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,INT,INT,INT); |
|
742 DWORD VFWAPIV ICDrawBegin(HIC,DWORD,HPALETTE,HWND,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,INT,INT,INT,INT,DWORD,DWORD); |
|
743 DWORD VFWAPIV ICDraw(HIC,DWORD,LPVOID,LPVOID,DWORD,LONG); |
|
744 BOOL VFWAPI ICCompressorChoose(HWND,UINT,LPVOID,LPVOID,PCOMPVARS,LPSTR); |
|
745 BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO); |
|
746 void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS); |
|
747 LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*); |
|
748 void VFWAPI ICCompressorFree(PCOMPVARS); |
|
749 #if !defined (_OBJC_NO_COM) |
|
750 ULONG WINAPI AVIStreamAddRef(PAVISTREAM); |
|
751 ULONG WINAPI AVIStreamRelease(PAVISTREAM); |
|
752 HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*); |
|
753 HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG); |
|
754 HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG); |
|
755 HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD); |
|
756 HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*); |
|
757 HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG); |
|
758 HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*); |
|
759 HRESULT WINAPI AVIStreamWrite(PAVISTREAM,LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*); |
|
760 HRESULT WINAPI AVIStreamReadData(PAVISTREAM,DWORD,LPVOID,LONG*); |
|
761 HRESULT WINAPI AVIStreamWriteData(PAVISTREAM,DWORD,LPVOID,LONG); |
|
762 PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM,LPBITMAPINFOHEADER); |
|
763 LPVOID WINAPI AVIStreamGetFrame(PGETFRAME,LONG); |
|
764 HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME); |
|
765 HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM*,PAVISTREAM,AVICOMPRESSOPTIONS*,CLSID*); |
|
766 HRESULT WINAPI AVIMakeFileFromStreams(PAVIFILE*,INT,PAVISTREAM*); |
|
767 HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM*,LPCSTR,DWORD,LONG,UINT,CLSID*); |
|
768 HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM*,LPCWSTR,DWORD,LONG,UINT,CLSID*); |
|
769 HRESULT WINAPI AVIBuildFilterA(LPSTR,LONG,BOOL); |
|
770 HRESULT WINAPI AVIBuildFilterW(LPWSTR,LONG,BOOL); |
|
771 BOOL WINAPI AVISaveOptions(HWND,UINT,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); |
|
772 HRESULT WINAPI AVISaveOptionsFree(INT,LPAVICOMPRESSOPTIONS*); |
|
773 HRESULT WINAPI AVISaveVA(LPCSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); |
|
774 HRESULT WINAPI AVISaveVW(LPCWSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); |
|
775 LONG WINAPI AVIStreamStart(PAVISTREAM); |
|
776 LONG WINAPI AVIStreamLength(PAVISTREAM); |
|
777 LONG WINAPI AVIStreamSampleToTime(PAVISTREAM,LONG); |
|
778 LONG WINAPI AVIStreamTimeToSample(PAVISTREAM,LONG); |
|
779 HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM); |
|
780 HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*); |
|
781 HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); |
|
782 HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); |
|
783 HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG); |
|
784 HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG); |
|
785 HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG); |
|
786 HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR); |
|
787 HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR); |
|
788 HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM); |
|
789 HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*); |
|
790 HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); |
|
791 HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); |
|
792 HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG); |
|
793 HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG); |
|
794 HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG); |
|
795 HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR); |
|
796 HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR); |
|
797 VOID WINAPI AVIFileInit(void); |
|
798 VOID WINAPI AVIFileExit(void); |
|
799 HRESULT WINAPI AVIFileOpenA(PAVIFILE*,LPCSTR,UINT,LPCLSID); |
|
800 HRESULT WINAPI AVIFileOpenW(PAVIFILE*,LPCWSTR,UINT,LPCLSID); |
|
801 ULONG WINAPI AVIFileAddRef(PAVIFILE); |
|
802 ULONG WINAPI AVIFileRelease(PAVIFILE); |
|
803 HRESULT WINAPI AVIFileInfoA(PAVIFILE,PAVIFILEINFOA,LONG); |
|
804 HRESULT WINAPI AVIFileInfoW(PAVIFILE,PAVIFILEINFOW,LONG); |
|
805 HRESULT WINAPI AVIFileGetStream(PAVIFILE,PAVISTREAM*,DWORD,LONG); |
|
806 HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE,PAVISTREAM*,AVISTREAMINFOA*); |
|
807 HRESULT WINAPI AVIFileCreateStreamW(PAVIFILE,PAVISTREAM*,AVISTREAMINFOW*); |
|
808 HRESULT WINAPI AVIFileWriteData(PAVIFILE,DWORD,LPVOID,LONG); |
|
809 HRESULT WINAPI AVIFileReadData(PAVIFILE,DWORD,LPVOID,LPLONG); |
|
810 HRESULT WINAPI AVIFileEndRecord(PAVIFILE); |
|
811 HRESULT WINAPI AVIClearClipboard(VOID); |
|
812 HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*); |
|
813 HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE); |
|
814 #endif /* _OBJC_NO_COM */ |
|
815 #ifdef OFN_READONLY |
|
816 BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA); |
|
817 BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW); |
|
818 BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA); |
|
819 BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW); |
|
820 #endif |
|
821 HWND VFWAPIV MCIWndCreateA(HWND,HINSTANCE,DWORD,LPCSTR); |
|
822 HWND VFWAPIV MCIWndCreateW(HWND,HINSTANCE,DWORD,LPCWSTR); |
|
823 HDRAWDIB VFWAPI DrawDibOpen(VOID); |
|
824 UINT VFWAPI DrawDibRealize(HDRAWDIB,HDC,BOOL); |
|
825 BOOL VFWAPI DrawDibBegin(HDRAWDIB,HDC,INT,INT,LPBITMAPINFOHEADER,INT,INT,UINT); |
|
826 BOOL VFWAPI DrawDibDraw(HDRAWDIB,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT,UINT); |
|
827 BOOL VFWAPI DrawDibSetPalette(HDRAWDIB,HPALETTE); |
|
828 HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB); |
|
829 BOOL VFWAPI DrawDibChangePalette(HDRAWDIB,int,int,LPPALETTEENTRY); |
|
830 LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB,LPBITMAPINFOHEADER,DWORD,DWORD); |
|
831 BOOL VFWAPI DrawDibStart(HDRAWDIB,DWORD); |
|
832 BOOL VFWAPI DrawDibStop(HDRAWDIB); |
|
833 BOOL VFWAPI DrawDibEnd(HDRAWDIB); |
|
834 BOOL VFWAPI DrawDibClose(HDRAWDIB); |
|
835 DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER); |
|
836 |
|
837 #define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
838 #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL) |
|
839 #define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
840 #define ICCompressGetSize(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
841 #define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
842 #define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,0,0) |
|
843 #define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK) |
|
844 #define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD)(hwnd),0) |
|
845 #define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK) |
|
846 #define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(hwnd),0) |
|
847 #define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
848 #define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
849 #define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) (LONG)ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
850 #define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic, lpbi, NULL) |
|
851 #define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) |
|
852 #define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD)(lpbiPalette),0) |
|
853 #define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,0,0) |
|
854 #define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,0,0) |
|
855 #define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS) |
|
856 #define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW) |
|
857 #define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD)(pv),(DWORD)(cb)) |
|
858 #define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD)(pv),(DWORD)(cb)) |
|
859 #define ICGetStateSize(hic) ICGetState(hic,NULL,0) |
|
860 #define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD)(prc),sizeof(RECT)) |
|
861 #define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD)(lpbiInput),0) |
|
862 #define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD)(lpbiInput),0) |
|
863 #define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD)(lpdwBuffers),0) |
|
864 #define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,0,0) |
|
865 #define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,0,0) |
|
866 #define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD)(lFrom),(DWORD)(lTo)) |
|
867 #define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,0,0) |
|
868 #define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,0,0) |
|
869 #define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD)(lplTime),0) |
|
870 #define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD)lTime,0) |
|
871 #define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD)(hdc),(DWORD)(fBackground)) |
|
872 #define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,0,0) |
|
873 #define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,0,0) |
|
874 #define AVIFileClose(pavi) AVIFileRelease(pavi) |
|
875 #define AVIStreamClose(pavi) AVIStreamRelease(pavi); |
|
876 #define AVIStreamEnd(pavi) (AVIStreamStart(pavi)+AVIStreamLength(pavi)) |
|
877 #define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi)) |
|
878 #define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize) |
|
879 #define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi)) |
|
880 #define AVIStreamSampleSize(pavi,pos,psize) AVIStreamRead(pavi,pos,1,NULL,0,psize,NULL) |
|
881 #define AVIStreamSampleToSample(pavi1,pavi2,samp2) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,samp2)) |
|
882 #define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi)) |
|
883 #define AVIStreamNextSample(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_ANY) |
|
884 #define AVIStreamPrevSample(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_PREV|FIND_ANY) |
|
885 #define AVIStreamNearestSample(pavi, pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_ANY) |
|
886 #define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_KEY) |
|
887 #define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY) |
|
888 #define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY) |
|
889 #define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos) |
|
890 #ifdef __cplusplus |
|
891 #define MCIWndSM ::SendMessage |
|
892 #else |
|
893 #define MCIWndSM SendMessage |
|
894 #endif |
|
895 #define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0) |
|
896 #define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0) |
|
897 #define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0) |
|
898 #define MCIWndCanWindow(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_WINDOW,0,0) |
|
899 #define MCIWndCanEject(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_EJECT,0,0) |
|
900 #define MCIWndCanConfig(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_CONFIG,0,0) |
|
901 #define MCIWndPaletteKick(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_PALETTEKICK,0,0) |
|
902 #define MCIWndSave(hWnd,szFile) (LONG)MCIWndSM(hWnd,MCI_SAVE,0,(LPARAM)(LPVOID)(szFile)) |
|
903 #define MCIWndSaveDialog(hWnd) MCIWndSave(hWnd,-1) |
|
904 #define MCIWndNew(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_NEW,0,(LPARAM)(LPVOID)(lp)) |
|
905 #define MCIWndRecord(hWnd) (LONG)MCIWndSM(hWnd,MCI_RECORD,0,0) |
|
906 #define MCIWndOpen(hWnd,sz,f) (LONG)MCIWndSM(hWnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz)) |
|
907 #define MCIWndOpenDialog(hWnd) MCIWndOpen(hWnd,-1,0) |
|
908 #define MCIWndClose(hWnd) (LONG)MCIWndSM(hWnd,MCI_CLOSE,0,0) |
|
909 #define MCIWndPlay(hWnd) (LONG)MCIWndSM(hWnd,MCI_PLAY,0,0) |
|
910 #define MCIWndStop(hWnd) (LONG)MCIWndSM(hWnd,MCI_STOP,0,0) |
|
911 #define MCIWndPause(hWnd) (LONG)MCIWndSM(hWnd,MCI_PAUSE,0,0) |
|
912 #define MCIWndResume(hWnd) (LONG)MCIWndSM(hWnd,MCI_RESUME,0,0) |
|
913 #define MCIWndSeek(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCI_SEEK,0,(LPARAM)(LONG)(lPos)) |
|
914 #define MCIWndEject(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_EJECT,0,0) |
|
915 #define MCIWndHome(hWnd) MCIWndSeek(hWnd,MCIWND_START) |
|
916 #define MCIWndEnd(hWnd) MCIWndSeek(hWnd,MCIWND_END) |
|
917 #define MCIWndGetSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_SOURCE,0,(LPARAM)(LPRECT)(prc)) |
|
918 #define MCIWndPutSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_SOURCE,0,(LPARAM)(LPRECT)(prc)) |
|
919 #define MCIWndGetDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_DEST,0,(LPARAM)(LPRECT)(prc)) |
|
920 #define MCIWndPutDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_DEST,0,(LPARAM)(LPRECT)(prc)) |
|
921 #define MCIWndPlayReverse(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYREVERSE,0,0) |
|
922 #define MCIWndPlayFrom(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYFROM,0,(LPARAM)(LONG)(lPos)) |
|
923 #define MCIWndPlayTo(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYTO, 0,(LPARAM)(LONG)(lPos)) |
|
924 #define MCIWndPlayFromTo(hWnd,lStart,lEnd) (MCIWndSeek(hWnd,lStart),MCIWndPlayTo(hWnd,lEnd)) |
|
925 #define MCIWndGetDeviceID(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETDEVICEID,0,0) |
|
926 #define MCIWndGetAlias(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETALIAS,0,0) |
|
927 #define MCIWndGetMode(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
|
928 #define MCIWndGetPosition(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,0,0) |
|
929 #define MCIWndGetPositionString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
|
930 #define MCIWndGetStart(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSTART,0,0) |
|
931 #define MCIWndGetLength(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETLENGTH,0,0) |
|
932 #define MCIWndGetEnd(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETEND,0,0) |
|
933 #define MCIWndStep(hWnd,n) (LONG)MCIWndSM(hWnd,MCI_STEP,0,(LPARAM)(long)(n)) |
|
934 #define MCIWndDestroy(hWnd) (VOID)MCIWndSM(hWnd,WM_CLOSE,0,0) |
|
935 #define MCIWndSetZoom(hWnd,iZoom) (VOID)MCIWndSM(hWnd,MCIWNDM_SETZOOM,0,(LPARAM)(UINT)(iZoom)) |
|
936 #define MCIWndGetZoom(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETZOOM,0,0) |
|
937 #define MCIWndSetVolume(hWnd,iVol) (LONG)MCIWndSM(hWnd,MCIWNDM_SETVOLUME,0,(LPARAM)(UINT)(iVol)) |
|
938 #define MCIWndGetVolume(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETVOLUME,0,0) |
|
939 #define MCIWndSetSpeed(hWnd,iSpeed) (LONG)MCIWndSM(hWnd,MCIWNDM_SETSPEED,0,(LPARAM)(UINT)(iSpeed)) |
|
940 #define MCIWndGetSpeed(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSPEED,0,0) |
|
941 #define MCIWndSetTimeFormat(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_SETTIMEFORMAT,0,(LPARAM)(LPTSTR)(lp)) |
|
942 #define MCIWndGetTimeFormat(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
|
943 #define MCIWndValidateMedia(hWnd) (VOID)MCIWndSM(hWnd,MCIWNDM_VALIDATEMEDIA,0,0) |
|
944 #define MCIWndSetRepeat(hWnd,f) (void)MCIWndSM(hWnd,MCIWNDM_SETREPEAT,0,(LPARAM)(BOOL)(f)) |
|
945 #define MCIWndGetRepeat(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_GETREPEAT,0,0) |
|
946 #define MCIWndUseFrames(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("frames")) |
|
947 #define MCIWndUseTime(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("ms")) |
|
948 #define MCIWndSetActiveTimer(hWnd,active) (VOID)MCIWndSM(hWnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),0L) |
|
949 #define MCIWndSetInactiveTimer(hWnd,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),0L) |
|
950 #define MCIWndSetTimers(hWnd,active,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive)) |
|
951 #define MCIWndGetActiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETACTIVETIMER,0,0L); |
|
952 #define MCIWndGetInactiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETINACTIVETIMER,0,0L); |
|
953 #define MCIWndRealize(hWnd,fBkgnd) (LONG)MCIWndSM(hWnd,MCIWNDM_REALIZE,(WPARAM)(BOOL)(fBkgnd),0) |
|
954 #define MCIWndSendString(hWnd,sz) (LONG)MCIWndSM(hWnd,MCIWNDM_SENDSTRING,0,(LPARAM)(LPTSTR)(sz)) |
|
955 #define MCIWndReturnString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
|
956 #define MCIWndGetError(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
|
957 #define MCIWndGetPalette(hWnd) (HPALETTE)MCIWndSM(hWnd,MCIWNDM_GETPALETTE,0,0) |
|
958 #define MCIWndSetPalette(hWnd,hpal) (LONG)MCIWndSM(hWnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),0) |
|
959 #define MCIWndGetFileName(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
|
960 #define MCIWndGetDevice(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
|
961 #define MCIWndGetStyles(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETSTYLES,0,0L) |
|
962 #define MCIWndChangeStyles(hWnd,mask,value) (LONG)MCIWndSM(hWnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value)) |
|
963 #define MCIWndOpenInterface(hWnd,pUnk) (LONG)MCIWndSM(hWnd,MCIWNDM_OPENINTERFACE,0,(LPARAM)(LPUNKNOWN)(pUnk)) |
|
964 #define MCIWndSetOwner(hWnd,hWndP) (LONG)MCIWndSM(hWnd,MCIWNDM_SETOWNER,(WPARAM)(hWndP),0) |
|
965 #define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE) |
|
966 static __inline DWORD |
|
967 ICGetDefaultQuality(HIC hic) |
|
968 { |
|
969 DWORD dwICValue; |
|
970 ICSendMessage(hic, ICM_GETDEFAULTQUALITY, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); |
|
971 return dwICValue; |
|
972 } |
|
973 static __inline DWORD |
|
974 ICGetDefaultKeyFrameRate(HIC hic) |
|
975 { |
|
976 DWORD dwICValue; |
|
977 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); |
|
978 return dwICValue; |
|
979 } |
|
980 static __inline LRESULT |
|
981 ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,INT dxSrc,INT dySrc,INT dxDst,INT dyDst,HIC hicDecomp) |
|
982 { |
|
983 ICDRAWSUGGEST ic; |
|
984 ic.lpbiIn = lpbiIn; |
|
985 ic.lpbiSuggest = lpbiOut; |
|
986 ic.dxSrc = dxSrc; |
|
987 ic.dySrc = dySrc; |
|
988 ic.dxDst = dxDst; |
|
989 ic.dyDst = dyDst; |
|
990 ic.hicDecompressor = hicDecomp; |
|
991 return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD)&ic,sizeof(ic)); |
|
992 } |
|
993 static __inline LRESULT |
|
994 ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG)) |
|
995 { |
|
996 ICSETSTATUSPROC ic; |
|
997 ic.dwFlags = dwFlags; |
|
998 ic.lParam = lParam; |
|
999 ic.Status = fpfnStatus; |
|
1000 return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD)&ic,sizeof(ic)); |
|
1001 } |
|
1002 static __inline LRESULT |
|
1003 ICDecompressEx(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) |
|
1004 { |
|
1005 ICDECOMPRESSEX ic; |
|
1006 ic.dwFlags = dwFlags; |
|
1007 ic.lpbiSrc = lpbiSrc; |
|
1008 ic.lpSrc = lpSrc; |
|
1009 ic.xSrc = xSrc; |
|
1010 ic.ySrc = ySrc; |
|
1011 ic.dxSrc = dxSrc; |
|
1012 ic.dySrc = dySrc; |
|
1013 ic.lpbiDst = lpbiDst; |
|
1014 ic.lpDst = lpDst; |
|
1015 ic.xDst = xDst; |
|
1016 ic.yDst = yDst; |
|
1017 ic.dxDst = dxDst; |
|
1018 ic.dyDst = dyDst; |
|
1019 return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD)&ic,sizeof(ic)); |
|
1020 } |
|
1021 static __inline LRESULT |
|
1022 ICDecompressExBegin(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) |
|
1023 { |
|
1024 ICDECOMPRESSEX ic; |
|
1025 ic.dwFlags = dwFlags; |
|
1026 ic.lpbiSrc = lpbiSrc; |
|
1027 ic.lpSrc = lpSrc; |
|
1028 ic.xSrc = xSrc; |
|
1029 ic.ySrc = ySrc; |
|
1030 ic.dxSrc = dxSrc; |
|
1031 ic.dySrc = dySrc; |
|
1032 ic.lpbiDst = lpbiDst; |
|
1033 ic.lpDst = lpDst; |
|
1034 ic.xDst = xDst; |
|
1035 ic.yDst = yDst; |
|
1036 ic.dxDst = dxDst; |
|
1037 ic.dyDst = dyDst; |
|
1038 return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD)&ic,sizeof(ic)); |
|
1039 } |
|
1040 static __inline LRESULT |
|
1041 ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) |
|
1042 { |
|
1043 ICDECOMPRESSEX ic; |
|
1044 ic.dwFlags = dwFlags; |
|
1045 ic.lpbiSrc = lpbiSrc; |
|
1046 ic.lpSrc = lpSrc; |
|
1047 ic.xSrc = xSrc; |
|
1048 ic.ySrc = ySrc; |
|
1049 ic.dxSrc = dxSrc; |
|
1050 ic.dySrc = dySrc; |
|
1051 ic.lpbiDst = lpbiDst; |
|
1052 ic.lpDst = lpDst; |
|
1053 ic.xDst = xDst; |
|
1054 ic.yDst = yDst; |
|
1055 ic.dxDst = dxDst; |
|
1056 ic.dyDst = dyDst; |
|
1057 return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD)&ic,sizeof(ic)); |
|
1058 } |
|
1059 |
|
1060 /* AVICAP32 exports */ |
|
1061 HWND VFWAPI capCreateCaptureWindowA (LPCSTR,DWORD,int,int,int,int,HWND,int); |
|
1062 HWND VFWAPI capCreateCaptureWindowW (LPCWSTR,DWORD,int,int,int,int,HWND,int); |
|
1063 BOOL VFWAPI capGetDriverDescriptionA (UINT,LPSTR,int,LPSTR,int); |
|
1064 BOOL VFWAPI capGetDriverDescriptionW (UINT,LPWSTR,int,LPWSTR,int); |
|
1065 |
|
1066 #ifdef UNICODE |
|
1067 #define AVISTREAMINFO AVISTREAMINFOW |
|
1068 #define LPAVISTREAMINFO LPAVISTREAMINFOW |
|
1069 #define PAVISTREAMINFO PAVISTREAMINFOW |
|
1070 #define AVIFILEINFO AVIFILEINFOW |
|
1071 #define PAVIFILEINFO PAVIFILEINFOW |
|
1072 #define LPAVIFILEINFO LPAVIFILEINFOW |
|
1073 #define AVIStreamInfo AVIStreamInfoW |
|
1074 #define AVIStreamOpenFromFile AVIStreamOpenFromFileW |
|
1075 #define AVIBuildFilter AVIBuildFilterW |
|
1076 #define AVISaveV AVISaveVW |
|
1077 #define EditStreamSetInfo EditStreamSetInfoW |
|
1078 #define EditStreamSetName EditStreamSetNameW |
|
1079 #define AVIFileOpen AVIFileOpenW |
|
1080 #define AVIFileInfo AVIFileInfoW |
|
1081 #define AVIFileCreateStream AVIFileCreateStreamW |
|
1082 #define GetOpenFileNamePreview GetOpenFileNamePreviewW |
|
1083 #define GetSaveFileNamePreview GetSaveFileNamePreviewW |
|
1084 #define MCIWndCreate MCIWndCreateW |
|
1085 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW |
|
1086 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW |
|
1087 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW |
|
1088 #define MCIWNDM_GETMODE MCIWNDM_GETMODEW |
|
1089 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW |
|
1090 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW |
|
1091 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW |
|
1092 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW |
|
1093 #define MCIWNDM_GETERROR MCIWNDM_GETERRORW |
|
1094 #define MCIWNDM_NEW MCIWNDM_NEWW |
|
1095 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW |
|
1096 #define MCIWNDM_OPEN MCIWNDM_OPENW |
|
1097 |
|
1098 #define capCreateCaptureWindow capCreateCaptureWindowW |
|
1099 #define capGetDriverDescription capGetDriverDescriptionW |
|
1100 |
|
1101 #else |
|
1102 #define AVISTREAMINFO AVISTREAMINFOA |
|
1103 #define LPAVISTREAMINFO LPAVISTREAMINFOA |
|
1104 #define PAVISTREAMINFO PAVISTREAMINFOA |
|
1105 #define AVIFILEINFO AVIFILEINFOA |
|
1106 #define PAVIFILEINFO PAVIFILEINFOA |
|
1107 #define LPAVIFILEINFO LPAVIFILEINFOA |
|
1108 #define AVIStreamInfo AVIStreamInfoA |
|
1109 #define AVIStreamOpenFromFile AVIStreamOpenFromFileA |
|
1110 #define AVIBuildFilter AVIBuildFilterA |
|
1111 #define AVISaveV AVISaveVA |
|
1112 #define EditStreamSetInfo EditStreamSetInfoA |
|
1113 #define EditStreamSetName EditStreamSetNameA |
|
1114 #define AVIFileOpen AVIFileOpenA |
|
1115 #define AVIFileInfo AVIFileInfoA |
|
1116 #define AVIFileCreateStream AVIFileCreateStreamA |
|
1117 #define GetOpenFileNamePreview GetOpenFileNamePreviewA |
|
1118 #define GetSaveFileNamePreview GetSaveFileNamePreviewA |
|
1119 #define MCIWndCreate MCIWndCreateA |
|
1120 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA |
|
1121 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA |
|
1122 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA |
|
1123 #define MCIWNDM_GETMODE MCIWNDM_GETMODEA |
|
1124 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA |
|
1125 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA |
|
1126 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA |
|
1127 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA |
|
1128 #define MCIWNDM_GETERROR MCIWNDM_GETERRORA |
|
1129 #define MCIWNDM_NEW MCIWNDM_NEWA |
|
1130 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA |
|
1131 #define MCIWNDM_OPEN MCIWNDM_OPENA |
|
1132 |
|
1133 #define capCreateCaptureWindow capCreateCaptureWindowA |
|
1134 #define capGetDriverDescription capGetDriverDescriptionA |
|
1135 |
|
1136 #endif |
|
1137 |
|
1138 #endif /* RC_INVOKED */ |
|
1139 |
|
1140 #ifdef __cplusplus |
|
1141 } |
|
1142 #endif |
|
1143 #include <poppack.h> |
|
1144 #endif /* _VFW_H */ |