| 1 |
/** |
| 2 |
* This file has no copyright assigned and is placed in the Public Domain. |
| 3 |
* This file is part of the mingw-w64 runtime package. |
| 4 |
* No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 |
*/ |
| 6 |
#ifndef _INC_VFW |
| 7 |
#define _INC_VFW |
| 8 |
|
| 9 |
#include <_mingw_unicode.h> |
| 10 |
|
| 11 |
#ifdef __cplusplus |
| 12 |
extern "C" { |
| 13 |
#endif |
| 14 |
|
| 15 |
#define VFWAPI WINAPI |
| 16 |
#define VFWAPIV WINAPIV |
| 17 |
#define VFWAPI_INLINE WINAPI |
| 18 |
|
| 19 |
DWORD WINAPI VideoForWindowsVersion(void); |
| 20 |
LONG WINAPI InitVFW(void); |
| 21 |
LONG WINAPI TermVFW(void); |
| 22 |
|
| 23 |
#ifdef __cplusplus |
| 24 |
} |
| 25 |
#endif |
| 26 |
|
| 27 |
#if !defined(_INC_MMSYSTEM) && (!defined(NOVIDEO) || !defined(NOAVICAP)) |
| 28 |
#include <mmsystem.h> |
| 29 |
#endif |
| 30 |
|
| 31 |
#ifdef __cplusplus |
| 32 |
extern "C" { |
| 33 |
#endif |
| 34 |
|
| 35 |
#ifndef MKFOURCC |
| 36 |
#define MKFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) |
| 37 |
#endif |
| 38 |
|
| 39 |
#if !defined(_INC_MMSYSTEM) |
| 40 |
#define mmioFOURCC MKFOURCC |
| 41 |
#endif |
| 42 |
|
| 43 |
#ifndef NOCOMPMAN |
| 44 |
|
| 45 |
#define ICVERSION 0x0104 |
| 46 |
|
| 47 |
DECLARE_HANDLE(HIC); |
| 48 |
|
| 49 |
#define BI_1632 0x32333631 |
| 50 |
|
| 51 |
#ifndef mmioFOURCC |
| 52 |
#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) |
| 53 |
#endif |
| 54 |
|
| 55 |
#ifndef aviTWOCC |
| 56 |
#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8)) |
| 57 |
#endif |
| 58 |
|
| 59 |
#ifndef ICTYPE_VIDEO |
| 60 |
#define ICTYPE_VIDEO mmioFOURCC('v','i','d','c') |
| 61 |
#define ICTYPE_AUDIO mmioFOURCC('a','u','d','c') |
| 62 |
#endif |
| 63 |
|
| 64 |
#ifndef ICERR_OK |
| 65 |
#define ICERR_OK __MSABI_LONG(0) |
| 66 |
#define ICERR_DONTDRAW __MSABI_LONG(1) |
| 67 |
#define ICERR_NEWPALETTE __MSABI_LONG(2) |
| 68 |
#define ICERR_GOTOKEYFRAME __MSABI_LONG(3) |
| 69 |
#define ICERR_STOPDRAWING __MSABI_LONG(4) |
| 70 |
|
| 71 |
#define ICERR_UNSUPPORTED __MSABI_LONG(-1) |
| 72 |
#define ICERR_BADFORMAT __MSABI_LONG(-2) |
| 73 |
#define ICERR_MEMORY __MSABI_LONG(-3) |
| 74 |
#define ICERR_INTERNAL __MSABI_LONG(-4) |
| 75 |
#define ICERR_BADFLAGS __MSABI_LONG(-5) |
| 76 |
#define ICERR_BADPARAM __MSABI_LONG(-6) |
| 77 |
#define ICERR_BADSIZE __MSABI_LONG(-7) |
| 78 |
#define ICERR_BADHANDLE __MSABI_LONG(-8) |
| 79 |
#define ICERR_CANTUPDATE __MSABI_LONG(-9) |
| 80 |
#define ICERR_ABORT __MSABI_LONG(-10) |
| 81 |
#define ICERR_ERROR __MSABI_LONG(-100) |
| 82 |
#define ICERR_BADBITDEPTH __MSABI_LONG(-200) |
| 83 |
#define ICERR_BADIMAGESIZE __MSABI_LONG(-201) |
| 84 |
|
| 85 |
#define ICERR_CUSTOM __MSABI_LONG(-400) |
| 86 |
#endif |
| 87 |
|
| 88 |
#ifndef ICMODE_COMPRESS |
| 89 |
#define ICMODE_COMPRESS 1 |
| 90 |
#define ICMODE_DECOMPRESS 2 |
| 91 |
#define ICMODE_FASTDECOMPRESS 3 |
| 92 |
#define ICMODE_QUERY 4 |
| 93 |
#define ICMODE_FASTCOMPRESS 5 |
| 94 |
#define ICMODE_DRAW 8 |
| 95 |
#endif |
| 96 |
|
| 97 |
#define AVIIF_LIST __MSABI_LONG(0x00000001) |
| 98 |
#define AVIIF_TWOCC __MSABI_LONG(0x00000002) |
| 99 |
#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) |
| 100 |
|
| 101 |
#define ICQUALITY_LOW 0 |
| 102 |
#define ICQUALITY_HIGH 10000 |
| 103 |
#define ICQUALITY_DEFAULT -1 |
| 104 |
|
| 105 |
#define ICM_USER (DRV_USER+0x0000) |
| 106 |
|
| 107 |
#define ICM_RESERVED ICM_RESERVED_LOW |
| 108 |
#define ICM_RESERVED_LOW (DRV_USER+0x1000) |
| 109 |
#define ICM_RESERVED_HIGH (DRV_USER+0x2000) |
| 110 |
|
| 111 |
#define ICM_GETSTATE (ICM_RESERVED+0) |
| 112 |
#define ICM_SETSTATE (ICM_RESERVED+1) |
| 113 |
#define ICM_GETINFO (ICM_RESERVED+2) |
| 114 |
|
| 115 |
#define ICM_CONFIGURE (ICM_RESERVED+10) |
| 116 |
#define ICM_ABOUT (ICM_RESERVED+11) |
| 117 |
|
| 118 |
#define ICM_GETERRORTEXT (ICM_RESERVED+12) |
| 119 |
#define ICM_GETFORMATNAME (ICM_RESERVED+20) |
| 120 |
#define ICM_ENUMFORMATS (ICM_RESERVED+21) |
| 121 |
|
| 122 |
#define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30) |
| 123 |
#define ICM_GETQUALITY (ICM_RESERVED+31) |
| 124 |
#define ICM_SETQUALITY (ICM_RESERVED+32) |
| 125 |
|
| 126 |
#define ICM_SET (ICM_RESERVED+40) |
| 127 |
#define ICM_GET (ICM_RESERVED+41) |
| 128 |
|
| 129 |
#define ICM_FRAMERATE mmioFOURCC('F','r','m','R') |
| 130 |
#define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R') |
| 131 |
|
| 132 |
#define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) |
| 133 |
#define ICM_COMPRESS_GET_SIZE (ICM_USER+5) |
| 134 |
#define ICM_COMPRESS_QUERY (ICM_USER+6) |
| 135 |
#define ICM_COMPRESS_BEGIN (ICM_USER+7) |
| 136 |
#define ICM_COMPRESS (ICM_USER+8) |
| 137 |
#define ICM_COMPRESS_END (ICM_USER+9) |
| 138 |
|
| 139 |
#define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10) |
| 140 |
#define ICM_DECOMPRESS_QUERY (ICM_USER+11) |
| 141 |
#define ICM_DECOMPRESS_BEGIN (ICM_USER+12) |
| 142 |
#define ICM_DECOMPRESS (ICM_USER+13) |
| 143 |
#define ICM_DECOMPRESS_END (ICM_USER+14) |
| 144 |
#define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29) |
| 145 |
#define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30) |
| 146 |
|
| 147 |
#define ICM_DRAW_QUERY (ICM_USER+31) |
| 148 |
#define ICM_DRAW_BEGIN (ICM_USER+15) |
| 149 |
#define ICM_DRAW_GET_PALETTE (ICM_USER+16) |
| 150 |
#define ICM_DRAW_UPDATE (ICM_USER+17) |
| 151 |
#define ICM_DRAW_START (ICM_USER+18) |
| 152 |
#define ICM_DRAW_STOP (ICM_USER+19) |
| 153 |
#define ICM_DRAW_BITS (ICM_USER+20) |
| 154 |
#define ICM_DRAW_END (ICM_USER+21) |
| 155 |
#define ICM_DRAW_GETTIME (ICM_USER+32) |
| 156 |
#define ICM_DRAW (ICM_USER+33) |
| 157 |
#define ICM_DRAW_WINDOW (ICM_USER+34) |
| 158 |
#define ICM_DRAW_SETTIME (ICM_USER+35) |
| 159 |
#define ICM_DRAW_REALIZE (ICM_USER+36) |
| 160 |
#define ICM_DRAW_FLUSH (ICM_USER+37) |
| 161 |
#define ICM_DRAW_RENDERBUFFER (ICM_USER+38) |
| 162 |
|
| 163 |
#define ICM_DRAW_START_PLAY (ICM_USER+39) |
| 164 |
#define ICM_DRAW_STOP_PLAY (ICM_USER+40) |
| 165 |
|
| 166 |
#define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50) |
| 167 |
#define ICM_DRAW_CHANGEPALETTE (ICM_USER+51) |
| 168 |
|
| 169 |
#define ICM_DRAW_IDLE (ICM_USER+52) |
| 170 |
|
| 171 |
#define ICM_GETBUFFERSWANTED (ICM_USER+41) |
| 172 |
|
| 173 |
#define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42) |
| 174 |
|
| 175 |
#define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60) |
| 176 |
#define ICM_DECOMPRESSEX_QUERY (ICM_USER+61) |
| 177 |
#define ICM_DECOMPRESSEX (ICM_USER+62) |
| 178 |
#define ICM_DECOMPRESSEX_END (ICM_USER+63) |
| 179 |
|
| 180 |
#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) |
| 181 |
#define ICM_COMPRESS_FRAMES (ICM_USER+71) |
| 182 |
#define ICM_SET_STATUS_PROC (ICM_USER+72) |
| 183 |
|
| 184 |
typedef struct { |
| 185 |
DWORD dwSize; |
| 186 |
DWORD fccType; |
| 187 |
DWORD fccHandler; |
| 188 |
DWORD dwVersion; |
| 189 |
DWORD dwFlags; |
| 190 |
LRESULT dwError; |
| 191 |
LPVOID pV1Reserved; |
| 192 |
LPVOID pV2Reserved; |
| 193 |
DWORD dnDevNode; |
| 194 |
} ICOPEN; |
| 195 |
|
| 196 |
typedef struct { |
| 197 |
DWORD dwSize; |
| 198 |
DWORD fccType; |
| 199 |
DWORD fccHandler; |
| 200 |
DWORD dwFlags; |
| 201 |
DWORD dwVersion; |
| 202 |
DWORD dwVersionICM; |
| 203 |
|
| 204 |
WCHAR szName[16]; |
| 205 |
WCHAR szDescription[128]; |
| 206 |
WCHAR szDriver[128]; |
| 207 |
} ICINFO; |
| 208 |
|
| 209 |
#define VIDCF_QUALITY 0x0001 |
| 210 |
#define VIDCF_CRUNCH 0x0002 |
| 211 |
#define VIDCF_TEMPORAL 0x0004 |
| 212 |
#define VIDCF_COMPRESSFRAMES 0x0008 |
| 213 |
#define VIDCF_DRAW 0x0010 |
| 214 |
#define VIDCF_FASTTEMPORALC 0x0020 |
| 215 |
#define VIDCF_QUALITYTIME 0x0040 |
| 216 |
#define VIDCF_FASTTEMPORALD 0x0080 |
| 217 |
#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) |
| 218 |
|
| 219 |
#define ICCOMPRESS_KEYFRAME __MSABI_LONG(0x00000001) |
| 220 |
|
| 221 |
typedef struct { |
| 222 |
DWORD dwFlags; |
| 223 |
LPBITMAPINFOHEADER lpbiOutput; |
| 224 |
LPVOID lpOutput; |
| 225 |
|
| 226 |
LPBITMAPINFOHEADER lpbiInput; |
| 227 |
LPVOID lpInput; |
| 228 |
LPDWORD lpckid; |
| 229 |
LPDWORD lpdwFlags; |
| 230 |
LONG lFrameNum; |
| 231 |
DWORD dwFrameSize; |
| 232 |
DWORD dwQuality; |
| 233 |
LPBITMAPINFOHEADER lpbiPrev; |
| 234 |
LPVOID lpPrev; |
| 235 |
} ICCOMPRESS; |
| 236 |
|
| 237 |
#define ICCOMPRESSFRAMES_PADDING 0x00000001 |
| 238 |
|
| 239 |
typedef struct { |
| 240 |
DWORD dwFlags; |
| 241 |
LPBITMAPINFOHEADER lpbiOutput; |
| 242 |
LPARAM lOutput; |
| 243 |
LPBITMAPINFOHEADER lpbiInput; |
| 244 |
LPARAM lInput; |
| 245 |
LONG lStartFrame; |
| 246 |
LONG lFrameCount; |
| 247 |
LONG lQuality; |
| 248 |
LONG lDataRate; |
| 249 |
LONG lKeyRate; |
| 250 |
DWORD dwRate; |
| 251 |
DWORD dwScale; |
| 252 |
DWORD dwOverheadPerFrame; |
| 253 |
DWORD dwReserved2; |
| 254 |
LONG (CALLBACK *GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len); |
| 255 |
LONG (CALLBACK *PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len); |
| 256 |
} ICCOMPRESSFRAMES; |
| 257 |
|
| 258 |
#define ICSTATUS_START 0 |
| 259 |
#define ICSTATUS_STATUS 1 |
| 260 |
#define ICSTATUS_END 2 |
| 261 |
#define ICSTATUS_ERROR 3 |
| 262 |
#define ICSTATUS_YIELD 4 |
| 263 |
|
| 264 |
typedef struct { |
| 265 |
DWORD dwFlags; |
| 266 |
LPARAM lParam; |
| 267 |
LONG (CALLBACK *Status)(LPARAM lParam,UINT message,LONG l); |
| 268 |
} ICSETSTATUSPROC; |
| 269 |
|
| 270 |
#define ICDECOMPRESS_HURRYUP __MSABI_LONG(0x80000000) |
| 271 |
#define ICDECOMPRESS_UPDATE __MSABI_LONG(0x40000000) |
| 272 |
#define ICDECOMPRESS_PREROLL __MSABI_LONG(0x20000000) |
| 273 |
#define ICDECOMPRESS_NULLFRAME __MSABI_LONG(0x10000000) |
| 274 |
#define ICDECOMPRESS_NOTKEYFRAME __MSABI_LONG(0x08000000) |
| 275 |
|
| 276 |
typedef struct { |
| 277 |
DWORD dwFlags; |
| 278 |
LPBITMAPINFOHEADER lpbiInput; |
| 279 |
LPVOID lpInput; |
| 280 |
LPBITMAPINFOHEADER lpbiOutput; |
| 281 |
LPVOID lpOutput; |
| 282 |
DWORD ckid; |
| 283 |
} ICDECOMPRESS; |
| 284 |
|
| 285 |
typedef struct { |
| 286 |
DWORD dwFlags; |
| 287 |
LPBITMAPINFOHEADER lpbiSrc; |
| 288 |
LPVOID lpSrc; |
| 289 |
LPBITMAPINFOHEADER lpbiDst; |
| 290 |
LPVOID lpDst; |
| 291 |
int xDst; |
| 292 |
int yDst; |
| 293 |
int dxDst; |
| 294 |
int dyDst; |
| 295 |
|
| 296 |
int xSrc; |
| 297 |
int ySrc; |
| 298 |
int dxSrc; |
| 299 |
int dySrc; |
| 300 |
} ICDECOMPRESSEX; |
| 301 |
|
| 302 |
#define ICDRAW_QUERY __MSABI_LONG(0x00000001) |
| 303 |
#define ICDRAW_FULLSCREEN __MSABI_LONG(0x00000002) |
| 304 |
#define ICDRAW_HDC __MSABI_LONG(0x00000004) |
| 305 |
#define ICDRAW_ANIMATE __MSABI_LONG(0x00000008) |
| 306 |
#define ICDRAW_CONTINUE __MSABI_LONG(0x00000010) |
| 307 |
#define ICDRAW_MEMORYDC __MSABI_LONG(0x00000020) |
| 308 |
#define ICDRAW_UPDATING __MSABI_LONG(0x00000040) |
| 309 |
#define ICDRAW_RENDER __MSABI_LONG(0x00000080) |
| 310 |
#define ICDRAW_BUFFER __MSABI_LONG(0x00000100) |
| 311 |
|
| 312 |
typedef struct { |
| 313 |
DWORD dwFlags; |
| 314 |
HPALETTE hpal; |
| 315 |
HWND hwnd; |
| 316 |
HDC hdc; |
| 317 |
int xDst; |
| 318 |
int yDst; |
| 319 |
int dxDst; |
| 320 |
int dyDst; |
| 321 |
LPBITMAPINFOHEADER lpbi; |
| 322 |
int xSrc; |
| 323 |
int ySrc; |
| 324 |
int dxSrc; |
| 325 |
int dySrc; |
| 326 |
DWORD dwRate; |
| 327 |
DWORD dwScale; |
| 328 |
} ICDRAWBEGIN; |
| 329 |
|
| 330 |
#define ICDRAW_HURRYUP __MSABI_LONG(0x80000000) |
| 331 |
#define ICDRAW_UPDATE __MSABI_LONG(0x40000000) |
| 332 |
#define ICDRAW_PREROLL __MSABI_LONG(0x20000000) |
| 333 |
#define ICDRAW_NULLFRAME __MSABI_LONG(0x10000000) |
| 334 |
#define ICDRAW_NOTKEYFRAME __MSABI_LONG(0x08000000) |
| 335 |
|
| 336 |
typedef struct { |
| 337 |
DWORD dwFlags; |
| 338 |
LPVOID lpFormat; |
| 339 |
LPVOID lpData; |
| 340 |
DWORD cbData; |
| 341 |
LONG lTime; |
| 342 |
} ICDRAW; |
| 343 |
|
| 344 |
typedef struct { |
| 345 |
LPBITMAPINFOHEADER lpbiIn; |
| 346 |
LPBITMAPINFOHEADER lpbiSuggest; |
| 347 |
int dxSrc; |
| 348 |
int dySrc; |
| 349 |
int dxDst; |
| 350 |
int dyDst; |
| 351 |
HIC hicDecompressor; |
| 352 |
} ICDRAWSUGGEST; |
| 353 |
|
| 354 |
typedef struct { |
| 355 |
DWORD dwFlags; |
| 356 |
int iStart; |
| 357 |
int iLen; |
| 358 |
LPPALETTEENTRY lppe; |
| 359 |
} ICPALETTE; |
| 360 |
|
| 361 |
WINBOOL WINAPI ICInfo(DWORD fccType,DWORD fccHandler,ICINFO *lpicinfo); |
| 362 |
WINBOOL WINAPI ICInstall(DWORD fccType,DWORD fccHandler,LPARAM lParam,LPSTR szDesc,UINT wFlags); |
| 363 |
WINBOOL WINAPI ICRemove(DWORD fccType,DWORD fccHandler,UINT wFlags); |
| 364 |
LRESULT WINAPI ICGetInfo(HIC hic,ICINFO *picinfo,DWORD cb); |
| 365 |
HIC WINAPI ICOpen(DWORD fccType,DWORD fccHandler,UINT wMode); |
| 366 |
HIC WINAPI ICOpenFunction(DWORD fccType,DWORD fccHandler,UINT wMode,FARPROC lpfnHandler); |
| 367 |
LRESULT WINAPI ICClose(HIC hic); |
| 368 |
LRESULT WINAPI ICSendMessage(HIC hic,UINT msg,DWORD_PTR dw1,DWORD_PTR dw2); |
| 369 |
|
| 370 |
#define ICINSTALL_UNICODE 0x8000 |
| 371 |
#define ICINSTALL_FUNCTION 0x0001 |
| 372 |
#define ICINSTALL_DRIVER 0x0002 |
| 373 |
#define ICINSTALL_HDRV 0x0004 |
| 374 |
#define ICINSTALL_DRIVERW 0x8002 |
| 375 |
|
| 376 |
#define ICMF_CONFIGURE_QUERY 0x00000001 |
| 377 |
#define ICMF_ABOUT_QUERY 0x00000001 |
| 378 |
|
| 379 |
#define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD_PTR) -1,ICMF_ABOUT_QUERY)==ICERR_OK) |
| 380 |
#define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD_PTR)(UINT_PTR)(hwnd),(DWORD_PTR)0) |
| 381 |
#define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD_PTR) -1,ICMF_CONFIGURE_QUERY)==ICERR_OK) |
| 382 |
#define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD_PTR)(UINT_PTR)(hwnd),(DWORD_PTR)0) |
| 383 |
#define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD_PTR)(LPVOID)(pv),(DWORD_PTR)(cb)) |
| 384 |
#define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD_PTR)(LPVOID)(pv),(DWORD_PTR)(cb)) |
| 385 |
#define ICGetStateSize(hic) (DWORD) ICGetState(hic,NULL,0) |
| 386 |
|
| 387 |
static DWORD dwICValue; |
| 388 |
|
| 389 |
#define ICGetDefaultQuality(hic) (ICSendMessage(hic,ICM_GETDEFAULTQUALITY,(DWORD_PTR)(LPVOID)&dwICValue,sizeof(DWORD)),dwICValue) |
| 390 |
#define ICGetDefaultKeyFrameRate(hic) (ICSendMessage(hic,ICM_GETDEFAULTKEYFRAMERATE,(DWORD_PTR)(LPVOID)&dwICValue,sizeof(DWORD)),dwICValue) |
| 391 |
#define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD_PTR)(LPVOID)(prc),sizeof(RECT)) |
| 392 |
|
| 393 |
DWORD WINAPIV ICCompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData,LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid,LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality,LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev); |
| 394 |
|
| 395 |
#define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 396 |
#define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 397 |
#define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 398 |
#define ICCompressGetFormatSize(hic,lpbi) (DWORD) ICCompressGetFormat(hic,lpbi,NULL) |
| 399 |
#define ICCompressGetSize(hic,lpbiInput,lpbiOutput) (DWORD) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 400 |
#define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,(DWORD_PTR)0,(DWORD_PTR)0) |
| 401 |
#define ICDECOMPRESS_HURRYUP __MSABI_LONG(0x80000000) |
| 402 |
|
| 403 |
DWORD WINAPIV ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits); |
| 404 |
|
| 405 |
#define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 406 |
#define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 407 |
#define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) ((LONG) ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput))) |
| 408 |
#define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic,lpbi,NULL) |
| 409 |
#define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) |
| 410 |
#define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD_PTR)(LPVOID)(lpbiPalette),(DWORD_PTR)0) |
| 411 |
#define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,(DWORD_PTR)0,(DWORD_PTR)0) |
| 412 |
|
| 413 |
#ifndef __CRT__NO_INLINE |
| 414 |
__CRT_INLINE LRESULT WINAPI 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) { |
| 415 |
ICDECOMPRESSEX ic; |
| 416 |
ic.dwFlags = dwFlags; |
| 417 |
ic.lpbiSrc = lpbiSrc; |
| 418 |
ic.lpSrc = lpSrc; |
| 419 |
ic.xSrc = xSrc; |
| 420 |
ic.ySrc = ySrc; |
| 421 |
ic.dxSrc = dxSrc; |
| 422 |
ic.dySrc = dySrc; |
| 423 |
ic.lpbiDst = lpbiDst; |
| 424 |
ic.lpDst = lpDst; |
| 425 |
ic.xDst = xDst; |
| 426 |
ic.yDst = yDst; |
| 427 |
ic.dxDst = dxDst; |
| 428 |
ic.dyDst = dyDst; |
| 429 |
return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD_PTR)&ic,sizeof(ic)); |
| 430 |
} |
| 431 |
|
| 432 |
__CRT_INLINE LRESULT WINAPI 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) { |
| 433 |
ICDECOMPRESSEX ic; |
| 434 |
ic.dwFlags = dwFlags; |
| 435 |
ic.lpbiSrc = lpbiSrc; |
| 436 |
ic.lpSrc = lpSrc; |
| 437 |
ic.xSrc = xSrc; |
| 438 |
ic.ySrc = ySrc; |
| 439 |
ic.dxSrc = dxSrc; |
| 440 |
ic.dySrc = dySrc; |
| 441 |
ic.lpbiDst = lpbiDst; |
| 442 |
ic.lpDst = lpDst; |
| 443 |
ic.xDst = xDst; |
| 444 |
ic.yDst = yDst; |
| 445 |
ic.dxDst = dxDst; |
| 446 |
ic.dyDst = dyDst; |
| 447 |
return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD_PTR)&ic,sizeof(ic)); |
| 448 |
} |
| 449 |
|
| 450 |
__CRT_INLINE LRESULT WINAPI 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) { |
| 451 |
ICDECOMPRESSEX ic; |
| 452 |
ic.dwFlags = dwFlags; |
| 453 |
ic.lpbiSrc = lpbiSrc; |
| 454 |
ic.lpSrc = lpSrc; |
| 455 |
ic.xSrc = xSrc; |
| 456 |
ic.ySrc = ySrc; |
| 457 |
ic.dxSrc = dxSrc; |
| 458 |
ic.dySrc = dySrc; |
| 459 |
ic.lpbiDst = lpbiDst; |
| 460 |
ic.lpDst = lpDst; |
| 461 |
ic.xDst = xDst; |
| 462 |
ic.yDst = yDst; |
| 463 |
ic.dxDst = dxDst; |
| 464 |
ic.dyDst = dyDst; |
| 465 |
return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD_PTR)&ic,sizeof(ic)); |
| 466 |
} |
| 467 |
#endif /* !__CRT__NO_INLINE */ |
| 468 |
|
| 469 |
#define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,(DWORD_PTR)0,(DWORD_PTR)0) |
| 470 |
|
| 471 |
#define ICDRAW_QUERY __MSABI_LONG(0x00000001) |
| 472 |
#define ICDRAW_FULLSCREEN __MSABI_LONG(0x00000002) |
| 473 |
#define ICDRAW_HDC __MSABI_LONG(0x00000004) |
| 474 |
|
| 475 |
DWORD WINAPIV ICDrawBegin(HIC hic,DWORD dwFlags,HPALETTE hpal,HWND hwnd,HDC hdc,int xDst,int yDst,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,int xSrc,int ySrc,int dxSrc,int dySrc,DWORD dwRate,DWORD dwScale); |
| 476 |
|
| 477 |
#define ICDRAW_HURRYUP __MSABI_LONG(0x80000000) |
| 478 |
#define ICDRAW_UPDATE __MSABI_LONG(0x40000000) |
| 479 |
|
| 480 |
DWORD WINAPIV ICDraw(HIC hic,DWORD dwFlags,LPVOID lpFormat,LPVOID lpData,DWORD cbData,LONG lTime); |
| 481 |
|
| 482 |
#ifndef __CRT__NO_INLINE |
| 483 |
__CRT_INLINE LRESULT WINAPI ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,int dxSrc,int dySrc,int dxDst,int dyDst,HIC hicDecomp) { |
| 484 |
ICDRAWSUGGEST ic; |
| 485 |
ic.lpbiIn = lpbiIn; |
| 486 |
ic.lpbiSuggest = lpbiOut; |
| 487 |
ic.dxSrc = dxSrc; |
| 488 |
ic.dySrc = dySrc; |
| 489 |
ic.dxDst = dxDst; |
| 490 |
ic.dyDst = dyDst; |
| 491 |
ic.hicDecompressor = hicDecomp; |
| 492 |
return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD_PTR)&ic,sizeof(ic)); |
| 493 |
} |
| 494 |
#endif /* !__CRT__NO_INLINE */ |
| 495 |
|
| 496 |
#define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD)0) |
| 497 |
#define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD)0) |
| 498 |
#define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD_PTR)(LPVOID)(lpdwBuffers),(DWORD_PTR)0) |
| 499 |
#define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,(DWORD_PTR)0,(DWORD_PTR)0) |
| 500 |
#define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,(DWORD_PTR)0,(DWORD_PTR)0) |
| 501 |
#define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD_PTR)(lFrom),(DWORD_PTR)(lTo)) |
| 502 |
#define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,(DWORD_PTR)0,(DWORD_PTR)0) |
| 503 |
#define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,(DWORD_PTR)0,(DWORD_PTR)0) |
| 504 |
#define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD_PTR)(LPVOID)(lplTime),(DWORD_PTR)0) |
| 505 |
#define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD_PTR)lTime,(DWORD_PTR)0) |
| 506 |
#define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD_PTR)(UINT_PTR)(HDC)(hdc),(DWORD_PTR)(WINBOOL)(fBackground)) |
| 507 |
#define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,(DWORD_PTR)0,(DWORD_PTR)0) |
| 508 |
#define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,(DWORD_PTR)0,(DWORD_PTR)0) |
| 509 |
|
| 510 |
#ifndef __CRT__NO_INLINE |
| 511 |
__CRT_INLINE LRESULT WINAPI ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG)) { |
| 512 |
ICSETSTATUSPROC ic; |
| 513 |
ic.dwFlags = dwFlags; |
| 514 |
ic.lParam = lParam; |
| 515 |
ic.Status = fpfnStatus; |
| 516 |
return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD_PTR)&ic,sizeof(ic)); |
| 517 |
} |
| 518 |
#endif /* !__CRT__NO_INLINE */ |
| 519 |
|
| 520 |
#define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS) |
| 521 |
#define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW) |
| 522 |
|
| 523 |
HIC WINAPI ICLocate(DWORD fccType,DWORD fccHandler,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,WORD wFlags); |
| 524 |
HIC WINAPI ICGetDisplayFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,int BitDepth,int dx,int dy); |
| 525 |
HANDLE WINAPI ICImageCompress(HIC hic,UINT uiFlags,LPBITMAPINFO lpbiIn,LPVOID lpBits,LPBITMAPINFO lpbiOut,LONG lQuality,LONG *plSize); |
| 526 |
HANDLE WINAPI ICImageDecompress(HIC hic,UINT uiFlags,LPBITMAPINFO lpbiIn,LPVOID lpBits,LPBITMAPINFO lpbiOut); |
| 527 |
|
| 528 |
typedef struct { |
| 529 |
LONG cbSize; |
| 530 |
DWORD dwFlags; |
| 531 |
HIC hic; |
| 532 |
DWORD fccType; |
| 533 |
DWORD fccHandler; |
| 534 |
LPBITMAPINFO lpbiIn; |
| 535 |
LPBITMAPINFO lpbiOut; |
| 536 |
LPVOID lpBitsOut; |
| 537 |
LPVOID lpBitsPrev; |
| 538 |
LONG lFrame; |
| 539 |
LONG lKey; |
| 540 |
LONG lDataRate; |
| 541 |
LONG lQ; |
| 542 |
LONG lKeyCount; |
| 543 |
LPVOID lpState; |
| 544 |
LONG cbState; |
| 545 |
} COMPVARS,*PCOMPVARS; |
| 546 |
|
| 547 |
#define ICMF_COMPVARS_VALID 0x00000001 |
| 548 |
|
| 549 |
WINBOOL WINAPI ICCompressorChoose(HWND hwnd,UINT uiFlags,LPVOID pvIn,LPVOID lpData,PCOMPVARS pc,LPSTR lpszTitle); |
| 550 |
|
| 551 |
#define ICMF_CHOOSE_KEYFRAME 0x0001 |
| 552 |
#define ICMF_CHOOSE_DATARATE 0x0002 |
| 553 |
#define ICMF_CHOOSE_PREVIEW 0x0004 |
| 554 |
#define ICMF_CHOOSE_ALLCOMPRESSORS 0x0008 |
| 555 |
|
| 556 |
WINBOOL WINAPI ICSeqCompressFrameStart(PCOMPVARS pc,LPBITMAPINFO lpbiIn); |
| 557 |
void WINAPI ICSeqCompressFrameEnd(PCOMPVARS pc); |
| 558 |
LPVOID WINAPI ICSeqCompressFrame(PCOMPVARS pc,UINT uiFlags,LPVOID lpBits,WINBOOL *pfKey,LONG *plSize); |
| 559 |
void WINAPI ICCompressorFree(PCOMPVARS pc); |
| 560 |
#endif |
| 561 |
|
| 562 |
#ifndef NODRAWDIB |
| 563 |
|
| 564 |
typedef HANDLE HDRAWDIB; |
| 565 |
|
| 566 |
#define DDF_0001 0x0001 |
| 567 |
#define DDF_UPDATE 0x0002 |
| 568 |
#define DDF_SAME_HDC 0x0004 |
| 569 |
#define DDF_SAME_DRAW 0x0008 |
| 570 |
#define DDF_DONTDRAW 0x0010 |
| 571 |
#define DDF_ANIMATE 0x0020 |
| 572 |
#define DDF_BUFFER 0x0040 |
| 573 |
#define DDF_JUSTDRAWIT 0x0080 |
| 574 |
#define DDF_FULLSCREEN 0x0100 |
| 575 |
#define DDF_BACKGROUNDPAL 0x0200 |
| 576 |
#define DDF_NOTKEYFRAME 0x0400 |
| 577 |
#define DDF_HURRYUP 0x0800 |
| 578 |
#define DDF_HALFTONE 0x1000 |
| 579 |
#define DDF_2000 0x2000 |
| 580 |
|
| 581 |
#define DDF_PREROLL DDF_DONTDRAW |
| 582 |
#define DDF_SAME_DIB DDF_SAME_DRAW |
| 583 |
#define DDF_SAME_SIZE DDF_SAME_DRAW |
| 584 |
|
| 585 |
extern WINBOOL WINAPI DrawDibInit(void); |
| 586 |
extern HDRAWDIB WINAPI DrawDibOpen(void); |
| 587 |
extern WINBOOL WINAPI DrawDibClose(HDRAWDIB hdd); |
| 588 |
extern LPVOID WINAPI DrawDibGetBuffer(HDRAWDIB hdd,LPBITMAPINFOHEADER lpbi,DWORD dwSize,DWORD dwFlags); |
| 589 |
extern UINT WINAPI DrawDibError(HDRAWDIB hdd); |
| 590 |
extern HPALETTE WINAPI DrawDibGetPalette(HDRAWDIB hdd); |
| 591 |
extern WINBOOL WINAPI DrawDibSetPalette(HDRAWDIB hdd,HPALETTE hpal); |
| 592 |
extern WINBOOL WINAPI DrawDibChangePalette(HDRAWDIB hdd,int iStart,int iLen,LPPALETTEENTRY lppe); |
| 593 |
extern UINT WINAPI DrawDibRealize(HDRAWDIB hdd,HDC hdc,WINBOOL fBackground); |
| 594 |
extern WINBOOL WINAPI DrawDibStart(HDRAWDIB hdd,DWORD rate); |
| 595 |
extern WINBOOL WINAPI DrawDibStop(HDRAWDIB hdd); |
| 596 |
extern WINBOOL WINAPI DrawDibBegin(HDRAWDIB hdd,HDC hdc,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,int dxSrc,int dySrc,UINT wFlags); |
| 597 |
extern WINBOOL WINAPI DrawDibDraw(HDRAWDIB hdd,HDC hdc,int xDst,int yDst,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,LPVOID lpBits,int xSrc,int ySrc,int dxSrc,int dySrc,UINT wFlags); |
| 598 |
|
| 599 |
#define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE) |
| 600 |
|
| 601 |
extern WINBOOL WINAPI DrawDibEnd(HDRAWDIB hdd); |
| 602 |
|
| 603 |
typedef struct { |
| 604 |
LONG timeCount; |
| 605 |
LONG timeDraw; |
| 606 |
LONG timeDecompress; |
| 607 |
LONG timeDither; |
| 608 |
LONG timeStretch; |
| 609 |
LONG timeBlt; |
| 610 |
LONG timeSetDIBits; |
| 611 |
} DRAWDIBTIME,*LPDRAWDIBTIME; |
| 612 |
|
| 613 |
WINBOOL WINAPI DrawDibTime(HDRAWDIB hdd,LPDRAWDIBTIME lpddtime); |
| 614 |
|
| 615 |
#define PD_CAN_DRAW_DIB 0x0001 |
| 616 |
#define PD_CAN_STRETCHDIB 0x0002 |
| 617 |
#define PD_STRETCHDIB_1_1_OK 0x0004 |
| 618 |
#define PD_STRETCHDIB_1_2_OK 0x0008 |
| 619 |
#define PD_STRETCHDIB_1_N_OK 0x0010 |
| 620 |
|
| 621 |
LRESULT WINAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi); |
| 622 |
|
| 623 |
#ifdef DRAWDIB_INCLUDE_STRETCHDIB |
| 624 |
void WINAPI StretchDIB(LPBITMAPINFOHEADER biDst,LPVOID lpDst,int DstX,int DstY,int DstXE,int DstYE,LPBITMAPINFOHEADER biSrc,LPVOID lpSrc,int SrcX,int SrcY,int SrcXE,int SrcYE); |
| 625 |
#endif |
| 626 |
#endif |
| 627 |
|
| 628 |
#ifndef NOAVIFMT |
| 629 |
#ifndef _INC_MMSYSTEM |
| 630 |
typedef DWORD FOURCC; |
| 631 |
#endif |
| 632 |
|
| 633 |
/* This part of the file is duplicated in avifmt.h */ |
| 634 |
#ifndef mmioFOURCC |
| 635 |
#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) |
| 636 |
#endif |
| 637 |
|
| 638 |
#ifndef aviTWOCC |
| 639 |
#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8)) |
| 640 |
#endif |
| 641 |
|
| 642 |
typedef WORD TWOCC; |
| 643 |
|
| 644 |
#define formtypeAVI mmioFOURCC('A','V','I',' ') |
| 645 |
#define listtypeAVIHEADER mmioFOURCC('h','d','r','l') |
| 646 |
#define ckidAVIMAINHDR mmioFOURCC('a','v','i','h') |
| 647 |
#define listtypeSTREAMHEADER mmioFOURCC('s','t','r','l') |
| 648 |
#define ckidSTREAMHEADER mmioFOURCC('s','t','r','h') |
| 649 |
#define ckidSTREAMFORMAT mmioFOURCC('s','t','r','f') |
| 650 |
#define ckidSTREAMHANDLERDATA mmioFOURCC('s','t','r','d') |
| 651 |
#define ckidSTREAMNAME mmioFOURCC('s','t','r','n') |
| 652 |
|
| 653 |
#define listtypeAVIMOVIE mmioFOURCC('m','o','v','i') |
| 654 |
#define listtypeAVIRECORD mmioFOURCC('r','e','c',' ') |
| 655 |
|
| 656 |
#define ckidAVINEWINDEX mmioFOURCC('i','d','x','1') |
| 657 |
|
| 658 |
#define streamtypeANY __MSABI_LONG(0U) |
| 659 |
#define streamtypeVIDEO mmioFOURCC('v','i','d','s') |
| 660 |
#define streamtypeAUDIO mmioFOURCC('a','u','d','s') |
| 661 |
#define streamtypeMIDI mmioFOURCC('m','i','d','s') |
| 662 |
#define streamtypeTEXT mmioFOURCC('t','x','t','s') |
| 663 |
|
| 664 |
#define cktypeDIBbits aviTWOCC('d','b') |
| 665 |
#define cktypeDIBcompressed aviTWOCC('d','c') |
| 666 |
#define cktypePALchange aviTWOCC('p','c') |
| 667 |
#define cktypeWAVEbytes aviTWOCC('w','b') |
| 668 |
|
| 669 |
#define ckidAVIPADDING mmioFOURCC('J','U','N','K') |
| 670 |
|
| 671 |
#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) |
| 672 |
#define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + (FromHex(HIBYTE(LOWORD(fcc)))))) |
| 673 |
|
| 674 |
#define TWOCCFromFOURCC(fcc) HIWORD(fcc) |
| 675 |
|
| 676 |
#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) |
| 677 |
#define MAKEAVICKID(tcc,stream) MAKELONG((ToHex((stream) & 0x0f) << 8) | (ToHex(((stream) & 0xf0) >> 4)),tcc) |
| 678 |
|
| 679 |
#define AVIF_HASINDEX 0x00000010 |
| 680 |
#define AVIF_MUSTUSEINDEX 0x00000020 |
| 681 |
#define AVIF_ISINTERLEAVED 0x00000100 |
| 682 |
#define AVIF_TRUSTCKTYPE 0x00000800 |
| 683 |
#define AVIF_WASCAPTUREFILE 0x00010000 |
| 684 |
#define AVIF_COPYRIGHTED 0x00020000 |
| 685 |
|
| 686 |
#define AVI_HEADERSIZE 2048 |
| 687 |
|
| 688 |
typedef struct { |
| 689 |
DWORD dwMicroSecPerFrame; |
| 690 |
DWORD dwMaxBytesPerSec; |
| 691 |
DWORD dwPaddingGranularity; |
| 692 |
DWORD dwFlags; |
| 693 |
DWORD dwTotalFrames; |
| 694 |
DWORD dwInitialFrames; |
| 695 |
DWORD dwStreams; |
| 696 |
DWORD dwSuggestedBufferSize; |
| 697 |
DWORD dwWidth; |
| 698 |
DWORD dwHeight; |
| 699 |
DWORD dwReserved[4]; |
| 700 |
} MainAVIHeader; |
| 701 |
|
| 702 |
#define AVISF_DISABLED 0x00000001 |
| 703 |
#define AVISF_VIDEO_PALCHANGES 0x00010000 |
| 704 |
|
| 705 |
typedef struct { |
| 706 |
FOURCC fccType; |
| 707 |
FOURCC fccHandler; |
| 708 |
DWORD dwFlags; |
| 709 |
WORD wPriority; |
| 710 |
WORD wLanguage; |
| 711 |
DWORD dwInitialFrames; |
| 712 |
DWORD dwScale; |
| 713 |
DWORD dwRate; |
| 714 |
DWORD dwStart; |
| 715 |
DWORD dwLength; |
| 716 |
DWORD dwSuggestedBufferSize; |
| 717 |
DWORD dwQuality; |
| 718 |
DWORD dwSampleSize; |
| 719 |
RECT rcFrame; |
| 720 |
} AVIStreamHeader; |
| 721 |
|
| 722 |
#define AVIIF_LIST __MSABI_LONG(0x00000001) |
| 723 |
#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) |
| 724 |
#define AVIIF_FIRSTPART __MSABI_LONG(0x00000020) |
| 725 |
#define AVIIF_LASTPART __MSABI_LONG(0x00000040) |
| 726 |
#define AVIIF_MIDPART (AVIIF_LASTPART|AVIIF_FIRSTPART) |
| 727 |
|
| 728 |
#define AVIIF_NOTIME __MSABI_LONG(0x00000100) |
| 729 |
#define AVIIF_COMPUSE __MSABI_LONG(0x0FFF0000) |
| 730 |
|
| 731 |
typedef struct { |
| 732 |
DWORD ckid; |
| 733 |
DWORD dwFlags; |
| 734 |
DWORD dwChunkOffset; |
| 735 |
DWORD dwChunkLength; |
| 736 |
} AVIINDEXENTRY; |
| 737 |
|
| 738 |
typedef struct { |
| 739 |
BYTE bFirstEntry; |
| 740 |
BYTE bNumEntries; |
| 741 |
WORD wFlags; |
| 742 |
PALETTEENTRY peNew[]; |
| 743 |
} AVIPALCHANGE; |
| 744 |
#endif |
| 745 |
/* End of duplication */ |
| 746 |
|
| 747 |
#ifdef __cplusplus |
| 748 |
} |
| 749 |
#endif |
| 750 |
|
| 751 |
#ifndef RC_INVOKED |
| 752 |
#include "pshpack8.h" |
| 753 |
#endif |
| 754 |
|
| 755 |
#ifndef NOMMREG |
| 756 |
#include <mmreg.h> |
| 757 |
#endif |
| 758 |
|
| 759 |
#ifdef __cplusplus |
| 760 |
extern "C" { |
| 761 |
#endif |
| 762 |
|
| 763 |
#ifndef NOAVIFILE |
| 764 |
#ifndef mmioFOURCC |
| 765 |
#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) |
| 766 |
#endif |
| 767 |
|
| 768 |
#ifndef streamtypeVIDEO |
| 769 |
#define streamtypeANY __MSABI_LONG(0U) |
| 770 |
#define streamtypeVIDEO mmioFOURCC('v','i','d','s') |
| 771 |
#define streamtypeAUDIO mmioFOURCC('a','u','d','s') |
| 772 |
#define streamtypeMIDI mmioFOURCC('m','i','d','s') |
| 773 |
#define streamtypeTEXT mmioFOURCC('t','x','t','s') |
| 774 |
#endif |
| 775 |
|
| 776 |
#ifndef AVIIF_KEYFRAME |
| 777 |
#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) |
| 778 |
#endif |
| 779 |
|
| 780 |
#define AVIGETFRAMEF_BESTDISPLAYFMT 1 |
| 781 |
|
| 782 |
typedef struct _AVISTREAMINFOW { |
| 783 |
DWORD fccType; |
| 784 |
DWORD fccHandler; |
| 785 |
DWORD dwFlags; |
| 786 |
DWORD dwCaps; |
| 787 |
WORD wPriority; |
| 788 |
WORD wLanguage; |
| 789 |
DWORD dwScale; |
| 790 |
DWORD dwRate; |
| 791 |
DWORD dwStart; |
| 792 |
DWORD dwLength; |
| 793 |
DWORD dwInitialFrames; |
| 794 |
DWORD dwSuggestedBufferSize; |
| 795 |
DWORD dwQuality; |
| 796 |
DWORD dwSampleSize; |
| 797 |
RECT rcFrame; |
| 798 |
DWORD dwEditCount; |
| 799 |
DWORD dwFormatChangeCount; |
| 800 |
WCHAR szName[64]; |
| 801 |
} AVISTREAMINFOW,*LPAVISTREAMINFOW; |
| 802 |
|
| 803 |
typedef struct _AVISTREAMINFOA { |
| 804 |
DWORD fccType; |
| 805 |
DWORD fccHandler; |
| 806 |
DWORD dwFlags; |
| 807 |
DWORD dwCaps; |
| 808 |
WORD wPriority; |
| 809 |
WORD wLanguage; |
| 810 |
DWORD dwScale; |
| 811 |
DWORD dwRate; |
| 812 |
DWORD dwStart; |
| 813 |
DWORD dwLength; |
| 814 |
DWORD dwInitialFrames; |
| 815 |
DWORD dwSuggestedBufferSize; |
| 816 |
DWORD dwQuality; |
| 817 |
DWORD dwSampleSize; |
| 818 |
RECT rcFrame; |
| 819 |
DWORD dwEditCount; |
| 820 |
DWORD dwFormatChangeCount; |
| 821 |
char szName[64]; |
| 822 |
} AVISTREAMINFOA,*LPAVISTREAMINFOA; |
| 823 |
|
| 824 |
#define AVISTREAMINFO __MINGW_NAME_AW(AVISTREAMINFO) |
| 825 |
#define LPAVISTREAMINFO __MINGW_NAME_AW(LPAVISTREAMINFO) |
| 826 |
|
| 827 |
#define AVISTREAMINFO_DISABLED 0x00000001 |
| 828 |
#define AVISTREAMINFO_FORMATCHANGES 0x00010000 |
| 829 |
|
| 830 |
typedef struct _AVIFILEINFOW { |
| 831 |
DWORD dwMaxBytesPerSec; |
| 832 |
DWORD dwFlags; |
| 833 |
DWORD dwCaps; |
| 834 |
DWORD dwStreams; |
| 835 |
DWORD dwSuggestedBufferSize; |
| 836 |
DWORD dwWidth; |
| 837 |
DWORD dwHeight; |
| 838 |
DWORD dwScale; |
| 839 |
DWORD dwRate; |
| 840 |
DWORD dwLength; |
| 841 |
DWORD dwEditCount; |
| 842 |
WCHAR szFileType[64]; |
| 843 |
} AVIFILEINFOW,*LPAVIFILEINFOW; |
| 844 |
|
| 845 |
typedef struct _AVIFILEINFOA { |
| 846 |
DWORD dwMaxBytesPerSec; |
| 847 |
DWORD dwFlags; |
| 848 |
DWORD dwCaps; |
| 849 |
DWORD dwStreams; |
| 850 |
DWORD dwSuggestedBufferSize; |
| 851 |
DWORD dwWidth; |
| 852 |
DWORD dwHeight; |
| 853 |
DWORD dwScale; |
| 854 |
DWORD dwRate; |
| 855 |
DWORD dwLength; |
| 856 |
DWORD dwEditCount; |
| 857 |
char szFileType[64]; |
| 858 |
} AVIFILEINFOA,*LPAVIFILEINFOA; |
| 859 |
|
| 860 |
#define AVIFILEINFO __MINGW_NAME_AW(AVIFILEINFO) |
| 861 |
#define LPAVIFILEINFO __MINGW_NAME_AW(LPAVIFILEINFO) |
| 862 |
|
| 863 |
#define AVIFILEINFO_HASINDEX 0x00000010 |
| 864 |
#define AVIFILEINFO_MUSTUSEINDEX 0x00000020 |
| 865 |
#define AVIFILEINFO_ISINTERLEAVED 0x00000100 |
| 866 |
#define AVIFILEINFO_TRUSTCKTYPE 0x00000800 |
| 867 |
#define AVIFILEINFO_WASCAPTUREFILE 0x00010000 |
| 868 |
#define AVIFILEINFO_COPYRIGHTED 0x00020000 |
| 869 |
|
| 870 |
#define AVIFILECAPS_CANREAD 0x00000001 |
| 871 |
#define AVIFILECAPS_CANWRITE 0x00000002 |
| 872 |
#define AVIFILECAPS_ALLKEYFRAMES 0x00000010 |
| 873 |
#define AVIFILECAPS_NOCOMPRESSION 0x00000020 |
| 874 |
|
| 875 |
typedef WINBOOL (WINAPI *AVISAVECALLBACK)(int); |
| 876 |
|
| 877 |
typedef struct { |
| 878 |
DWORD fccType; |
| 879 |
DWORD fccHandler; |
| 880 |
DWORD dwKeyFrameEvery; |
| 881 |
DWORD dwQuality; |
| 882 |
DWORD dwBytesPerSecond; |
| 883 |
DWORD dwFlags; |
| 884 |
LPVOID lpFormat; |
| 885 |
DWORD cbFormat; |
| 886 |
LPVOID lpParms; |
| 887 |
DWORD cbParms; |
| 888 |
DWORD dwInterleaveEvery; |
| 889 |
} AVICOMPRESSOPTIONS, FAR *LPAVICOMPRESSOPTIONS; |
| 890 |
|
| 891 |
#define AVICOMPRESSF_INTERLEAVE 0x00000001 |
| 892 |
#define AVICOMPRESSF_DATARATE 0x00000002 |
| 893 |
#define AVICOMPRESSF_KEYFRAMES 0x00000004 |
| 894 |
#define AVICOMPRESSF_VALID 0x00000008 |
| 895 |
|
| 896 |
#ifdef __cplusplus |
| 897 |
} |
| 898 |
#endif |
| 899 |
|
| 900 |
#include <ole2.h> |
| 901 |
|
| 902 |
#ifdef __cplusplus |
| 903 |
extern "C" { |
| 904 |
#endif |
| 905 |
|
| 906 |
#undef INTERFACE |
| 907 |
#define INTERFACE IAVIStream |
| 908 |
DECLARE_INTERFACE_(IAVIStream,IUnknown) { |
| 909 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; |
| 910 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 911 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 912 |
STDMETHOD(Create) (THIS_ LPARAM lParam1,LPARAM lParam2) PURE; |
| 913 |
STDMETHOD(Info) (THIS_ AVISTREAMINFOW *psi,LONG lSize) PURE; |
| 914 |
STDMETHOD_(LONG,FindSample)(THIS_ LONG lPos,LONG lFlags) PURE; |
| 915 |
STDMETHOD(ReadFormat) (THIS_ LONG lPos,LPVOID lpFormat,LONG *lpcbFormat) PURE; |
| 916 |
STDMETHOD(SetFormat) (THIS_ LONG lPos,LPVOID lpFormat,LONG cbFormat) PURE; |
| 917 |
STDMETHOD(Read) (THIS_ LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,LONG *plBytes,LONG *plSamples) PURE; |
| 918 |
STDMETHOD(Write) (THIS_ LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,DWORD dwFlags,LONG *plSampWritten,LONG *plBytesWritten) PURE; |
| 919 |
STDMETHOD(Delete) (THIS_ LONG lStart,LONG lSamples) PURE; |
| 920 |
STDMETHOD(ReadData) (THIS_ DWORD fcc,LPVOID lp,LONG *lpcb) PURE; |
| 921 |
STDMETHOD(WriteData) (THIS_ DWORD fcc,LPVOID lp,LONG cb) PURE; |
| 922 |
STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW *lpInfo,LONG cbInfo) PURE; |
| 923 |
}; |
| 924 |
|
| 925 |
typedef IAVIStream *PAVISTREAM; |
| 926 |
|
| 927 |
#undef INTERFACE |
| 928 |
#define INTERFACE IAVIStreaming |
| 929 |
DECLARE_INTERFACE_(IAVIStreaming,IUnknown) { |
| 930 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; |
| 931 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 932 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 933 |
STDMETHOD(Begin) (THIS_ LONG lStart,LONG lEnd,LONG lRate) PURE; |
| 934 |
STDMETHOD(End) (THIS) PURE; |
| 935 |
}; |
| 936 |
|
| 937 |
typedef IAVIStreaming *PAVISTREAMING; |
| 938 |
|
| 939 |
#undef INTERFACE |
| 940 |
#define INTERFACE IAVIEditStream |
| 941 |
DECLARE_INTERFACE_(IAVIEditStream,IUnknown) { |
| 942 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; |
| 943 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 944 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 945 |
STDMETHOD(Cut) (THIS_ LONG *plStart,LONG *plLength,PAVISTREAM *ppResult) PURE; |
| 946 |
STDMETHOD(Copy) (THIS_ LONG *plStart,LONG *plLength,PAVISTREAM *ppResult) PURE; |
| 947 |
STDMETHOD(Paste) (THIS_ LONG *plPos,LONG *plLength,PAVISTREAM pstream,LONG lStart,LONG lEnd) PURE; |
| 948 |
STDMETHOD(Clone) (THIS_ PAVISTREAM *ppResult) PURE; |
| 949 |
STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW *lpInfo,LONG cbInfo) PURE; |
| 950 |
}; |
| 951 |
|
| 952 |
typedef IAVIEditStream *PAVIEDITSTREAM; |
| 953 |
|
| 954 |
#undef INTERFACE |
| 955 |
#define INTERFACE IAVIPersistFile |
| 956 |
DECLARE_INTERFACE_(IAVIPersistFile,IPersistFile) { |
| 957 |
STDMETHOD(Reserved1)(THIS) PURE; |
| 958 |
}; |
| 959 |
|
| 960 |
typedef IAVIPersistFile *PAVIPERSISTFILE; |
| 961 |
|
| 962 |
#undef INTERFACE |
| 963 |
#define INTERFACE IAVIFile |
| 964 |
#define PAVIFILE IAVIFile * |
| 965 |
DECLARE_INTERFACE_(IAVIFile,IUnknown) { |
| 966 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; |
| 967 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 968 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 969 |
STDMETHOD(Info) (THIS_ AVIFILEINFOW *pfi,LONG lSize) PURE; |
| 970 |
STDMETHOD(GetStream) (THIS_ PAVISTREAM *ppStream,DWORD fccType,LONG lParam) PURE; |
| 971 |
STDMETHOD(CreateStream) (THIS_ PAVISTREAM *ppStream,AVISTREAMINFOW *psi) PURE; |
| 972 |
STDMETHOD(WriteData) (THIS_ DWORD ckid,LPVOID lpData,LONG cbData) PURE; |
| 973 |
STDMETHOD(ReadData) (THIS_ DWORD ckid,LPVOID lpData,LONG *lpcbData) PURE; |
| 974 |
STDMETHOD(EndRecord) (THIS) PURE; |
| 975 |
STDMETHOD(DeleteStream) (THIS_ DWORD fccType,LONG lParam) PURE; |
| 976 |
}; |
| 977 |
|
| 978 |
#undef PAVIFILE |
| 979 |
typedef IAVIFile *PAVIFILE; |
| 980 |
|
| 981 |
#undef INTERFACE |
| 982 |
#define INTERFACE IGetFrame |
| 983 |
#define PGETFRAME IGetFrame * |
| 984 |
DECLARE_INTERFACE_(IGetFrame,IUnknown) { |
| 985 |
STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; |
| 986 |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
| 987 |
STDMETHOD_(ULONG,Release) (THIS) PURE; |
| 988 |
STDMETHOD_(LPVOID,GetFrame) (THIS_ LONG lPos) PURE; |
| 989 |
STDMETHOD(Begin) (THIS_ LONG lStart,LONG lEnd,LONG lRate) PURE; |
| 990 |
STDMETHOD(End) (THIS) PURE; |
| 991 |
STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi,LPVOID lpBits,int x,int y,int dx,int dy) PURE; |
| 992 |
}; |
| 993 |
|
| 994 |
#undef PGETFRAME |
| 995 |
typedef IGetFrame *PGETFRAME; |
| 996 |
|
| 997 |
#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) |
| 998 |
|
| 999 |
DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0); |
| 1000 |
DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0); |
| 1001 |
DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0); |
| 1002 |
DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0); |
| 1003 |
DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0); |
| 1004 |
DEFINE_AVIGUID(IID_IAVIPersistFile,0x00020025,0,0); |
| 1005 |
#if !defined(UNICODE) |
| 1006 |
DEFINE_AVIGUID(CLSID_AVISimpleUnMarshal,0x00020009,0,0); |
| 1007 |
#endif |
| 1008 |
|
| 1009 |
DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0); |
| 1010 |
|
| 1011 |
#define AVIFILEHANDLER_CANREAD 0x0001 |
| 1012 |
#define AVIFILEHANDLER_CANWRITE 0x0002 |
| 1013 |
#define AVIFILEHANDLER_CANACCEPTNONRGB 0x0004 |
| 1014 |
|
| 1015 |
#define AVIFileOpen __MINGW_NAME_AW(AVIFileOpen) |
| 1016 |
#define AVIFileInfo __MINGW_NAME_AW(AVIFileInfo) |
| 1017 |
#define AVIFileCreateStream __MINGW_NAME_AW(AVIFileCreateStream) |
| 1018 |
#define AVIStreamInfo __MINGW_NAME_AW(AVIStreamInfo) |
| 1019 |
#define AVIStreamOpenFromFile __MINGW_NAME_AW(AVIStreamOpenFromFile) |
| 1020 |
|
| 1021 |
STDAPI_(void) AVIFileInit(void); |
| 1022 |
STDAPI_(void) AVIFileExit(void); |
| 1023 |
STDAPI_(ULONG) AVIFileAddRef (PAVIFILE pfile); |
| 1024 |
STDAPI_(ULONG) AVIFileRelease (PAVIFILE pfile); |
| 1025 |
STDAPI AVIFileOpenA (PAVIFILE *ppfile,LPCSTR szFile,UINT uMode,LPCLSID lpHandler); |
| 1026 |
STDAPI AVIFileOpenW (PAVIFILE *ppfile,LPCWSTR szFile,UINT uMode,LPCLSID lpHandler); |
| 1027 |
STDAPI AVIFileInfoW (PAVIFILE pfile,LPAVIFILEINFOW pfi,LONG lSize); |
| 1028 |
STDAPI AVIFileInfoA (PAVIFILE pfile,LPAVIFILEINFOA pfi,LONG lSize); |
| 1029 |
STDAPI AVIFileGetStream (PAVIFILE pfile,PAVISTREAM *ppavi,DWORD fccType,LONG lParam); |
| 1030 |
STDAPI AVIFileCreateStreamW (PAVIFILE pfile,PAVISTREAM *ppavi,AVISTREAMINFOW *psi); |
| 1031 |
STDAPI AVIFileCreateStreamA (PAVIFILE pfile,PAVISTREAM *ppavi,AVISTREAMINFOA *psi); |
| 1032 |
STDAPI AVIFileWriteData (PAVIFILE pfile,DWORD ckid,LPVOID lpData,LONG cbData); |
| 1033 |
STDAPI AVIFileReadData (PAVIFILE pfile,DWORD ckid,LPVOID lpData,LONG *lpcbData); |
| 1034 |
STDAPI AVIFileEndRecord (PAVIFILE pfile); |
| 1035 |
STDAPI_(ULONG) AVIStreamAddRef (PAVISTREAM pavi); |
| 1036 |
STDAPI_(ULONG) AVIStreamRelease (PAVISTREAM pavi); |
| 1037 |
STDAPI AVIStreamInfoW (PAVISTREAM pavi,LPAVISTREAMINFOW psi,LONG lSize); |
| 1038 |
STDAPI AVIStreamInfoA (PAVISTREAM pavi,LPAVISTREAMINFOA psi,LONG lSize); |
| 1039 |
STDAPI_(LONG) AVIStreamFindSample(PAVISTREAM pavi,LONG lPos,LONG lFlags); |
| 1040 |
STDAPI AVIStreamReadFormat (PAVISTREAM pavi,LONG lPos,LPVOID lpFormat,LONG *lpcbFormat); |
| 1041 |
STDAPI AVIStreamSetFormat (PAVISTREAM pavi,LONG lPos,LPVOID lpFormat,LONG cbFormat); |
| 1042 |
STDAPI AVIStreamReadData (PAVISTREAM pavi,DWORD fcc,LPVOID lp,LONG *lpcb); |
| 1043 |
STDAPI AVIStreamWriteData (PAVISTREAM pavi,DWORD fcc,LPVOID lp,LONG cb); |
| 1044 |
STDAPI AVIStreamRead (PAVISTREAM pavi,LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,LONG *plBytes,LONG *plSamples); |
| 1045 |
#define AVISTREAMREAD_CONVENIENT (__MSABI_LONG(-1)) |
| 1046 |
STDAPI AVIStreamWrite (PAVISTREAM pavi,LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,DWORD dwFlags,LONG *plSampWritten,LONG *plBytesWritten); |
| 1047 |
STDAPI_(LONG) AVIStreamStart (PAVISTREAM pavi); |
| 1048 |
STDAPI_(LONG) AVIStreamLength (PAVISTREAM pavi); |
| 1049 |
STDAPI_(LONG) AVIStreamTimeToSample (PAVISTREAM pavi,LONG lTime); |
| 1050 |
STDAPI_(LONG) AVIStreamSampleToTime (PAVISTREAM pavi,LONG lSample); |
| 1051 |
STDAPI AVIStreamBeginStreaming(PAVISTREAM pavi,LONG lStart,LONG lEnd,LONG lRate); |
| 1052 |
STDAPI AVIStreamEndStreaming(PAVISTREAM pavi); |
| 1053 |
STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(PAVISTREAM pavi,LPBITMAPINFOHEADER lpbiWanted); |
| 1054 |
STDAPI_(LPVOID) AVIStreamGetFrame(PGETFRAME pg,LONG lPos); |
| 1055 |
STDAPI AVIStreamGetFrameClose(PGETFRAME pg); |
| 1056 |
STDAPI AVIStreamOpenFromFileA(PAVISTREAM *ppavi,LPCSTR szFile,DWORD fccType,LONG lParam,UINT mode,CLSID *pclsidHandler); |
| 1057 |
STDAPI AVIStreamOpenFromFileW(PAVISTREAM *ppavi,LPCWSTR szFile,DWORD fccType,LONG lParam,UINT mode,CLSID *pclsidHandler); |
| 1058 |
STDAPI AVIStreamCreate(PAVISTREAM *ppavi,LONG lParam1,LONG lParam2,CLSID *pclsidHandler); |
| 1059 |
|
| 1060 |
#define FIND_DIR __MSABI_LONG(0x0000000F) |
| 1061 |
#define FIND_NEXT __MSABI_LONG(0x00000001) |
| 1062 |
#define FIND_PREV __MSABI_LONG(0x00000004) |
| 1063 |
#define FIND_FROM_START __MSABI_LONG(0x00000008) |
| 1064 |
|
| 1065 |
#define FIND_TYPE __MSABI_LONG(0x000000F0) |
| 1066 |
#define FIND_KEY __MSABI_LONG(0x00000010) |
| 1067 |
#define FIND_ANY __MSABI_LONG(0x00000020) |
| 1068 |
#define FIND_FORMAT __MSABI_LONG(0x00000040) |
| 1069 |
|
| 1070 |
#define FIND_RET __MSABI_LONG(0x0000F000) |
| 1071 |
#define FIND_POS __MSABI_LONG(0x00000000) |
| 1072 |
#define FIND_LENGTH __MSABI_LONG(0x00001000) |
| 1073 |
#define FIND_OFFSET __MSABI_LONG(0x00002000) |
| 1074 |
#define FIND_SIZE __MSABI_LONG(0x00003000) |
| 1075 |
#define FIND_INDEX __MSABI_LONG(0x00004000) |
| 1076 |
|
| 1077 |
#define AVIStreamFindKeyFrame AVIStreamFindSample |
| 1078 |
#define FindKeyFrame FindSample |
| 1079 |
|
| 1080 |
#define AVIStreamClose AVIStreamRelease |
| 1081 |
#define AVIFileClose AVIFileRelease |
| 1082 |
#define AVIStreamInit AVIFileInit |
| 1083 |
#define AVIStreamExit AVIFileExit |
| 1084 |
|
| 1085 |
#define SEARCH_NEAREST FIND_PREV |
| 1086 |
#define SEARCH_BACKWARD FIND_PREV |
| 1087 |
#define SEARCH_FORWARD FIND_NEXT |
| 1088 |
#define SEARCH_KEY FIND_KEY |
| 1089 |
#define SEARCH_ANY FIND_ANY |
| 1090 |
|
| 1091 |
#define AVIStreamSampleToSample(pavi1,pavi2,l) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,l)) |
| 1092 |
#define AVIStreamNextSample(pavi,l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_ANY) |
| 1093 |
#define AVIStreamPrevSample(pavi,l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_ANY) |
| 1094 |
#define AVIStreamNearestSample(pavi,l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_ANY) |
| 1095 |
#define AVIStreamNextKeyFrame(pavi,l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_KEY) |
| 1096 |
#define AVIStreamPrevKeyFrame(pavi,l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_KEY) |
| 1097 |
#define AVIStreamNearestKeyFrame(pavi,l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_KEY) |
| 1098 |
#define AVIStreamIsKeyFrame(pavi,l) (AVIStreamNearestKeyFrame(pavi,l)==l) |
| 1099 |
#define AVIStreamPrevSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamPrevSample(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1100 |
#define AVIStreamNextSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNextSample(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1101 |
#define AVIStreamNearestSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNearestSample(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1102 |
#define AVIStreamNextKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNextKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1103 |
#define AVIStreamPrevKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamPrevKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1104 |
#define AVIStreamNearestKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNearestKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) |
| 1105 |
#define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi)) |
| 1106 |
#define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi)) |
| 1107 |
#define AVIStreamEnd(pavi) (AVIStreamStart(pavi) + AVIStreamLength(pavi)) |
| 1108 |
#define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi)) |
| 1109 |
#define AVIStreamSampleSize(pavi,lPos,plSize) AVIStreamRead(pavi,lPos,1,NULL,(LONG)0,plSize,NULL) |
| 1110 |
#define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize) |
| 1111 |
#define AVIStreamDataSize(pavi,fcc,plSize) AVIStreamReadData(pavi,fcc,NULL,plSize) |
| 1112 |
|
| 1113 |
#define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi, pos + 1, FIND_NEXT | FIND_KEY) |
| 1114 |
#define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi, pos - 1, FIND_NEXT | FIND_KEY) |
| 1115 |
|
| 1116 |
#ifndef comptypeDIB |
| 1117 |
#define comptypeDIB mmioFOURCC('D','I','B',' ') |
| 1118 |
#endif |
| 1119 |
|
| 1120 |
#define AVISave __MINGW_NAME_AW(AVISave) |
| 1121 |
#define AVISaveV __MINGW_NAME_AW(AVISaveV) |
| 1122 |
#define AVIBuildFilter __MINGW_NAME_AW(AVIBuildFilter) |
| 1123 |
#define EditStreamSetInfo __MINGW_NAME_AW(EditStreamSetInfo) |
| 1124 |
#define EditStreamSetName __MINGW_NAME_AW(EditStreamSetName) |
| 1125 |
|
| 1126 |
STDAPI AVIMakeCompressedStream(PAVISTREAM *ppsCompressed,PAVISTREAM ppsSource,AVICOMPRESSOPTIONS *lpOptions,CLSID *pclsidHandler); |
| 1127 |
EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM pfile,LPAVICOMPRESSOPTIONS lpOptions,...); |
| 1128 |
STDAPI AVISaveVA(LPCSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); |
| 1129 |
EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM pfile,LPAVICOMPRESSOPTIONS lpOptions,...); |
| 1130 |
STDAPI AVISaveVW(LPCWSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); |
| 1131 |
STDAPI_(INT_PTR) AVISaveOptions(HWND hwnd,UINT uiFlags,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); |
| 1132 |
STDAPI AVISaveOptionsFree(int nStreams,LPAVICOMPRESSOPTIONS *plpOptions); |
| 1133 |
STDAPI AVIBuildFilterW(LPWSTR lpszFilter,LONG cbFilter,WINBOOL fSaving); |
| 1134 |
STDAPI AVIBuildFilterA(LPSTR lpszFilter,LONG cbFilter,WINBOOL fSaving); |
| 1135 |
STDAPI AVIMakeFileFromStreams(PAVIFILE *ppfile,int nStreams,PAVISTREAM *papStreams); |
| 1136 |
STDAPI AVIMakeStreamFromClipboard(UINT cfFormat,HANDLE hGlobal,PAVISTREAM *ppstream); |
| 1137 |
STDAPI AVIPutFileOnClipboard(PAVIFILE pf); |
| 1138 |
STDAPI AVIGetFromClipboard(PAVIFILE *lppf); |
| 1139 |
STDAPI AVIClearClipboard(void); |
| 1140 |
STDAPI CreateEditableStream(PAVISTREAM *ppsEditable,PAVISTREAM psSource); |
| 1141 |
STDAPI EditStreamCut(PAVISTREAM pavi,LONG *plStart,LONG *plLength,PAVISTREAM *ppResult); |
| 1142 |
STDAPI EditStreamCopy(PAVISTREAM pavi,LONG *plStart,LONG *plLength,PAVISTREAM *ppResult); |
| 1143 |
STDAPI EditStreamPaste(PAVISTREAM pavi,LONG *plPos,LONG *plLength,PAVISTREAM pstream,LONG lStart,LONG lEnd); |
| 1144 |
STDAPI EditStreamClone(PAVISTREAM pavi,PAVISTREAM *ppResult); |
| 1145 |
STDAPI EditStreamSetNameA(PAVISTREAM pavi,LPCSTR lpszName); |
| 1146 |
STDAPI EditStreamSetNameW(PAVISTREAM pavi,LPCWSTR lpszName); |
| 1147 |
STDAPI EditStreamSetInfoW(PAVISTREAM pavi,LPAVISTREAMINFOW lpInfo,LONG cbInfo); |
| 1148 |
STDAPI EditStreamSetInfoA(PAVISTREAM pavi,LPAVISTREAMINFOA lpInfo,LONG cbInfo); |
| 1149 |
|
| 1150 |
#ifndef AVIERR_OK |
| 1151 |
#define AVIERR_OK __MSABI_LONG(0) |
| 1152 |
|
| 1153 |
#define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000 + error) |
| 1154 |
|
| 1155 |
#define AVIERR_UNSUPPORTED MAKE_AVIERR(101) |
| 1156 |
#define AVIERR_BADFORMAT MAKE_AVIERR(102) |
| 1157 |
#define AVIERR_MEMORY MAKE_AVIERR(103) |
| 1158 |
#define AVIERR_INTERNAL MAKE_AVIERR(104) |
| 1159 |
#define AVIERR_BADFLAGS MAKE_AVIERR(105) |
| 1160 |
#define AVIERR_BADPARAM MAKE_AVIERR(106) |
| 1161 |
#define AVIERR_BADSIZE MAKE_AVIERR(107) |
| 1162 |
#define AVIERR_BADHANDLE MAKE_AVIERR(108) |
| 1163 |
#define AVIERR_FILEREAD MAKE_AVIERR(109) |
| 1164 |
#define AVIERR_FILEWRITE MAKE_AVIERR(110) |
| 1165 |
#define AVIERR_FILEOPEN MAKE_AVIERR(111) |
| 1166 |
#define AVIERR_COMPRESSOR MAKE_AVIERR(112) |
| 1167 |
#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113) |
| 1168 |
#define AVIERR_READONLY MAKE_AVIERR(114) |
| 1169 |
#define AVIERR_NODATA MAKE_AVIERR(115) |
| 1170 |
#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116) |
| 1171 |
#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117) |
| 1172 |
#define AVIERR_USERABORT MAKE_AVIERR(198) |
| 1173 |
#define AVIERR_ERROR MAKE_AVIERR(199) |
| 1174 |
#endif |
| 1175 |
#endif |
| 1176 |
|
| 1177 |
#ifndef NOMCIWND |
| 1178 |
|
| 1179 |
#ifdef __cplusplus |
| 1180 |
#define MCIWndSM ::SendMessage |
| 1181 |
#else |
| 1182 |
#define MCIWndSM SendMessage |
| 1183 |
#endif |
| 1184 |
|
| 1185 |
#define MCIWND_WINDOW_CLASS TEXT("MCIWndClass") |
| 1186 |
|
| 1187 |
#define MCIWndCreate __MINGW_NAME_AW(MCIWndCreate) |
| 1188 |
|
| 1189 |
HWND WINAPIV MCIWndCreateA(HWND hwndParent,HINSTANCE hInstance,DWORD dwStyle,LPCSTR szFile); |
| 1190 |
HWND WINAPIV MCIWndCreateW(HWND hwndParent,HINSTANCE hInstance,DWORD dwStyle,LPCWSTR szFile); |
| 1191 |
WINBOOL WINAPIV MCIWndRegisterClass(void); |
| 1192 |
|
| 1193 |
#define MCIWNDOPENF_NEW 0x0001 |
| 1194 |
|
| 1195 |
#define MCIWNDF_NOAUTOSIZEWINDOW 0x0001 |
| 1196 |
#define MCIWNDF_NOPLAYBAR 0x0002 |
| 1197 |
#define MCIWNDF_NOAUTOSIZEMOVIE 0x0004 |
| 1198 |
#define MCIWNDF_NOMENU 0x0008 |
| 1199 |
#define MCIWNDF_SHOWNAME 0x0010 |
| 1200 |
#define MCIWNDF_SHOWPOS 0x0020 |
| 1201 |
#define MCIWNDF_SHOWMODE 0x0040 |
| 1202 |
#define MCIWNDF_SHOWALL 0x0070 |
| 1203 |
|
| 1204 |
#define MCIWNDF_NOTIFYMODE 0x0100 |
| 1205 |
#define MCIWNDF_NOTIFYPOS 0x0200 |
| 1206 |
#define MCIWNDF_NOTIFYSIZE 0x0400 |
| 1207 |
#define MCIWNDF_NOTIFYERROR 0x1000 |
| 1208 |
#define MCIWNDF_NOTIFYALL 0x1F00 |
| 1209 |
|
| 1210 |
#define MCIWNDF_NOTIFYANSI 0x0080 |
| 1211 |
|
| 1212 |
#define MCIWNDF_NOTIFYMEDIAA 0x0880 |
| 1213 |
#define MCIWNDF_NOTIFYMEDIAW 0x0800 |
| 1214 |
|
| 1215 |
#define MCIWNDF_NOTIFYMEDIA __MINGW_NAME_AW(MCIWNDF_NOTIFYMEDIA) |
| 1216 |
|
| 1217 |
#define MCIWNDF_RECORD 0x2000 |
| 1218 |
#define MCIWNDF_NOERRORDLG 0x4000 |
| 1219 |
#define MCIWNDF_NOOPEN 0x8000 |
| 1220 |
|
| 1221 |
#define MCIWndCanPlay(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_PLAY,(WPARAM)0,(LPARAM)0) |
| 1222 |
#define MCIWndCanRecord(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_RECORD,(WPARAM)0,(LPARAM)0) |
| 1223 |
#define MCIWndCanSave(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_SAVE,(WPARAM)0,(LPARAM)0) |
| 1224 |
#define MCIWndCanWindow(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_WINDOW,(WPARAM)0,(LPARAM)0) |
| 1225 |
#define MCIWndCanEject(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_EJECT,(WPARAM)0,(LPARAM)0) |
| 1226 |
#define MCIWndCanConfig(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_CONFIG,(WPARAM)0,(LPARAM)0) |
| 1227 |
#define MCIWndPaletteKick(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_PALETTEKICK,(WPARAM)0,(LPARAM)0) |
| 1228 |
|
| 1229 |
#define MCIWndSave(hwnd,szFile) (LONG)MCIWndSM(hwnd,MCI_SAVE,(WPARAM)0,(LPARAM)(LPVOID)(szFile)) |
| 1230 |
#define MCIWndSaveDialog(hwnd) MCIWndSave(hwnd,-1) |
| 1231 |
|
| 1232 |
#define MCIWndNew(hwnd,lp) (LONG)MCIWndSM(hwnd,MCIWNDM_NEW,(WPARAM)0,(LPARAM)(LPVOID)(lp)) |
| 1233 |
|
| 1234 |
#define MCIWndRecord(hwnd) (LONG)MCIWndSM(hwnd,MCI_RECORD,(WPARAM)0,(LPARAM)0) |
| 1235 |
#define MCIWndOpen(hwnd,sz,f) (LONG)MCIWndSM(hwnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz)) |
| 1236 |
#define MCIWndOpenDialog(hwnd) MCIWndOpen(hwnd,-1,0) |
| 1237 |
#define MCIWndClose(hwnd) (LONG)MCIWndSM(hwnd,MCI_CLOSE,(WPARAM)0,(LPARAM)0) |
| 1238 |
#define MCIWndPlay(hwnd) (LONG)MCIWndSM(hwnd,MCI_PLAY,(WPARAM)0,(LPARAM)0) |
| 1239 |
#define MCIWndStop(hwnd) (LONG)MCIWndSM(hwnd,MCI_STOP,(WPARAM)0,(LPARAM)0) |
| 1240 |
#define MCIWndPause(hwnd) (LONG)MCIWndSM(hwnd,MCI_PAUSE,(WPARAM)0,(LPARAM)0) |
| 1241 |
#define MCIWndResume(hwnd) (LONG)MCIWndSM(hwnd,MCI_RESUME,(WPARAM)0,(LPARAM)0) |
| 1242 |
#define MCIWndSeek(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCI_SEEK,(WPARAM)0,(LPARAM)(LONG)(lPos)) |
| 1243 |
#define MCIWndEject(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_EJECT,(WPARAM)0,(LPARAM)0) |
| 1244 |
|
| 1245 |
#define MCIWndHome(hwnd) MCIWndSeek(hwnd,MCIWND_START) |
| 1246 |
#define MCIWndEnd(hwnd) MCIWndSeek(hwnd,MCIWND_END) |
| 1247 |
|
| 1248 |
#define MCIWndGetSource(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_GET_SOURCE,(WPARAM)0,(LPARAM)(LPRECT)(prc)) |
| 1249 |
#define MCIWndPutSource(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_PUT_SOURCE,(WPARAM)0,(LPARAM)(LPRECT)(prc)) |
| 1250 |
|
| 1251 |
#define MCIWndGetDest(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_GET_DEST,(WPARAM)0,(LPARAM)(LPRECT)(prc)) |
| 1252 |
#define MCIWndPutDest(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_PUT_DEST,(WPARAM)0,(LPARAM)(LPRECT)(prc)) |
| 1253 |
|
| 1254 |
#define MCIWndPlayReverse(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYREVERSE,(WPARAM)0,(LPARAM)0) |
| 1255 |
#define MCIWndPlayFrom(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYFROM,(WPARAM)0,(LPARAM)(LONG)(lPos)) |
| 1256 |
#define MCIWndPlayTo(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYTO,(WPARAM)0,(LPARAM)(LONG)(lPos)) |
| 1257 |
#define MCIWndPlayFromTo(hwnd,lStart,lEnd) (MCIWndSeek(hwnd,lStart),MCIWndPlayTo(hwnd,lEnd)) |
| 1258 |
|
| 1259 |
#define MCIWndGetDeviceID(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETDEVICEID,(WPARAM)0,(LPARAM)0) |
| 1260 |
#define MCIWndGetAlias(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETALIAS,(WPARAM)0,(LPARAM)0) |
| 1261 |
#define MCIWndGetMode(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
| 1262 |
#define MCIWndGetPosition(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETPOSITION,(WPARAM)0,(LPARAM)0) |
| 1263 |
#define MCIWndGetPositionString(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
| 1264 |
#define MCIWndGetStart(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETSTART,(WPARAM)0,(LPARAM)0) |
| 1265 |
#define MCIWndGetLength(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETLENGTH,(WPARAM)0,(LPARAM)0) |
| 1266 |
#define MCIWndGetEnd(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETEND,(WPARAM)0,(LPARAM)0) |
| 1267 |
|
| 1268 |
#define MCIWndStep(hwnd,n) (LONG)MCIWndSM(hwnd,MCI_STEP,(WPARAM)0,(LPARAM)(__LONG32)(n)) |
| 1269 |
|
| 1270 |
#define MCIWndDestroy(hwnd) (VOID)MCIWndSM(hwnd,WM_CLOSE,(WPARAM)0,(LPARAM)0) |
| 1271 |
#define MCIWndSetZoom(hwnd,iZoom) (VOID)MCIWndSM(hwnd,MCIWNDM_SETZOOM,(WPARAM)0,(LPARAM)(UINT)(iZoom)) |
| 1272 |
#define MCIWndGetZoom(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETZOOM,(WPARAM)0,(LPARAM)0) |
| 1273 |
#define MCIWndSetVolume(hwnd,iVol) (LONG)MCIWndSM(hwnd,MCIWNDM_SETVOLUME,(WPARAM)0,(LPARAM)(UINT)(iVol)) |
| 1274 |
#define MCIWndGetVolume(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETVOLUME,(WPARAM)0,(LPARAM)0) |
| 1275 |
#define MCIWndSetSpeed(hwnd,iSpeed) (LONG)MCIWndSM(hwnd,MCIWNDM_SETSPEED,(WPARAM)0,(LPARAM)(UINT)(iSpeed)) |
| 1276 |
#define MCIWndGetSpeed(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETSPEED,(WPARAM)0,(LPARAM)0) |
| 1277 |
#define MCIWndSetTimeFormat(hwnd,lp) (LONG)MCIWndSM(hwnd,MCIWNDM_SETTIMEFORMAT,(WPARAM)0,(LPARAM)(LPTSTR)(lp)) |
| 1278 |
#define MCIWndGetTimeFormat(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) |
| 1279 |
#define MCIWndValidateMedia(hwnd) (VOID)MCIWndSM(hwnd,MCIWNDM_VALIDATEMEDIA,(WPARAM)0,(LPARAM)0) |
| 1280 |
|
| 1281 |
#define MCIWndSetRepeat(hwnd,f) (void)MCIWndSM(hwnd,MCIWNDM_SETREPEAT,(WPARAM)0,(LPARAM)(WINBOOL)(f)) |
| 1282 |
#define MCIWndGetRepeat(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_GETREPEAT,(WPARAM)0,(LPARAM)0) |
| 1283 |
|
| 1284 |
#define MCIWndUseFrames(hwnd) MCIWndSetTimeFormat(hwnd,TEXT("frames")) |
| 1285 |
#define MCIWndUseTime(hwnd) MCIWndSetTimeFormat(hwnd,TEXT("ms")) |
| 1286 |
|
| 1287 |
#define MCIWndSetActiveTimer(hwnd,active) (VOID)MCIWndSM(hwnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),(LPARAM)0) |
| 1288 |
#define MCIWndSetInactiveTimer(hwnd,inactive) (VOID)MCIWndSM(hwnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),(LPARAM)0) |
| 1289 |
#define MCIWndSetTimers(hwnd,active,inactive) (VOID)MCIWndSM(hwnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive)) |
| 1290 |
#define MCIWndGetActiveTimer(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETACTIVETIMER,(WPARAM)0,(LPARAM)0); |
| 1291 |
#define MCIWndGetInactiveTimer(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETINACTIVETIMER,(WPARAM)0,(LPARAM)0); |
| 1292 |
|
| 1293 |
#define MCIWndRealize(hwnd,fBkgnd) (LONG)MCIWndSM(hwnd,MCIWNDM_REALIZE,(WPARAM)(WINBOOL)(fBkgnd),(LPARAM)0) |
| 1294 |
|
| 1295 |
#define MCIWndSendString(hwnd,sz) (LONG)MCIWndSM(hwnd,MCIWNDM_SENDSTRING,(WPARAM)0,(LPARAM)(LPTSTR)(sz)) |
| 1296 |
#define MCIWndReturnString(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
| 1297 |
#define MCIWndGetError(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
| 1298 |
|
| 1299 |
#define MCIWndGetPalette(hwnd) (HPALETTE)MCIWndSM(hwnd,MCIWNDM_GETPALETTE,(WPARAM)0,(LPARAM)0) |
| 1300 |
#define MCIWndSetPalette(hwnd,hpal) (LONG)MCIWndSM(hwnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),(LPARAM)0) |
| 1301 |
|
| 1302 |
#define MCIWndGetFileName(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
| 1303 |
#define MCIWndGetDevice(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) |
| 1304 |
|
| 1305 |
#define MCIWndGetStyles(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETSTYLES,(WPARAM)0,(LPARAM)0) |
| 1306 |
#define MCIWndChangeStyles(hwnd,mask,value) (LONG)MCIWndSM(hwnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value)) |
| 1307 |
|
| 1308 |
#define MCIWndOpenInterface(hwnd,pUnk) (LONG)MCIWndSM(hwnd,MCIWNDM_OPENINTERFACE,(WPARAM)0,(LPARAM)(LPUNKNOWN)(pUnk)) |
| 1309 |
|
| 1310 |
#define MCIWndSetOwner(hwnd,hwndP) (LONG)MCIWndSM(hwnd,MCIWNDM_SETOWNER,(WPARAM)(hwndP),(LPARAM)0) |
| 1311 |
|
| 1312 |
#define MCIWNDM_GETDEVICEID (WM_USER + 100) |
| 1313 |
#define MCIWNDM_GETSTART (WM_USER + 103) |
| 1314 |
#define MCIWNDM_GETLENGTH (WM_USER + 104) |
| 1315 |
#define MCIWNDM_GETEND (WM_USER + 105) |
| 1316 |
#define MCIWNDM_EJECT (WM_USER + 107) |
| 1317 |
#define MCIWNDM_SETZOOM (WM_USER + 108) |
| 1318 |
#define MCIWNDM_GETZOOM (WM_USER + 109) |
| 1319 |
#define MCIWNDM_SETVOLUME (WM_USER + 110) |
| 1320 |
#define MCIWNDM_GETVOLUME (WM_USER + 111) |
| 1321 |
#define MCIWNDM_SETSPEED (WM_USER + 112) |
| 1322 |
#define MCIWNDM_GETSPEED (WM_USER + 113) |
| 1323 |
#define MCIWNDM_SETREPEAT (WM_USER + 114) |
| 1324 |
#define MCIWNDM_GETREPEAT (WM_USER + 115) |
| 1325 |
#define MCIWNDM_REALIZE (WM_USER + 118) |
| 1326 |
#define MCIWNDM_VALIDATEMEDIA (WM_USER + 121) |
| 1327 |
#define MCIWNDM_PLAYFROM (WM_USER + 122) |
| 1328 |
#define MCIWNDM_PLAYTO (WM_USER + 123) |
| 1329 |
#define MCIWNDM_GETPALETTE (WM_USER + 126) |
| 1330 |
#define MCIWNDM_SETPALETTE (WM_USER + 127) |
| 1331 |
#define MCIWNDM_SETTIMERS (WM_USER + 129) |
| 1332 |
#define MCIWNDM_SETACTIVETIMER (WM_USER + 130) |
| 1333 |
#define MCIWNDM_SETINACTIVETIMER (WM_USER + 131) |
| 1334 |
#define MCIWNDM_GETACTIVETIMER (WM_USER + 132) |
| 1335 |
#define MCIWNDM_GETINACTIVETIMER (WM_USER + 133) |
| 1336 |
#define MCIWNDM_CHANGESTYLES (WM_USER + 135) |
| 1337 |
#define MCIWNDM_GETSTYLES (WM_USER + 136) |
| 1338 |
#define MCIWNDM_GETALIAS (WM_USER + 137) |
| 1339 |
#define MCIWNDM_PLAYREVERSE (WM_USER + 139) |
| 1340 |
#define MCIWNDM_GET_SOURCE (WM_USER + 140) |
| 1341 |
#define MCIWNDM_PUT_SOURCE (WM_USER + 141) |
| 1342 |
#define MCIWNDM_GET_DEST (WM_USER + 142) |
| 1343 |
#define MCIWNDM_PUT_DEST (WM_USER + 143) |
| 1344 |
#define MCIWNDM_CAN_PLAY (WM_USER + 144) |
| 1345 |
#define MCIWNDM_CAN_WINDOW (WM_USER + 145) |
| 1346 |
#define MCIWNDM_CAN_RECORD (WM_USER + 146) |
| 1347 |
#define MCIWNDM_CAN_SAVE (WM_USER + 147) |
| 1348 |
#define MCIWNDM_CAN_EJECT (WM_USER + 148) |
| 1349 |
#define MCIWNDM_CAN_CONFIG (WM_USER + 149) |
| 1350 |
#define MCIWNDM_PALETTEKICK (WM_USER + 150) |
| 1351 |
#define MCIWNDM_OPENINTERFACE (WM_USER + 151) |
| 1352 |
#define MCIWNDM_SETOWNER (WM_USER + 152) |
| 1353 |
|
| 1354 |
#define MCIWNDM_SENDSTRINGA (WM_USER + 101) |
| 1355 |
#define MCIWNDM_GETPOSITIONA (WM_USER + 102) |
| 1356 |
#define MCIWNDM_GETMODEA (WM_USER + 106) |
| 1357 |
#define MCIWNDM_SETTIMEFORMATA (WM_USER + 119) |
| 1358 |
#define MCIWNDM_GETTIMEFORMATA (WM_USER + 120) |
| 1359 |
#define MCIWNDM_GETFILENAMEA (WM_USER + 124) |
| 1360 |
#define MCIWNDM_GETDEVICEA (WM_USER + 125) |
| 1361 |
#define MCIWNDM_GETERRORA (WM_USER + 128) |
| 1362 |
#define MCIWNDM_NEWA (WM_USER + 134) |
| 1363 |
#define MCIWNDM_RETURNSTRINGA (WM_USER + 138) |
| 1364 |
#define MCIWNDM_OPENA (WM_USER + 153) |
| 1365 |
|
| 1366 |
#define MCIWNDM_SENDSTRINGW (WM_USER + 201) |
| 1367 |
#define MCIWNDM_GETPOSITIONW (WM_USER + 202) |
| 1368 |
#define MCIWNDM_GETMODEW (WM_USER + 206) |
| 1369 |
#define MCIWNDM_SETTIMEFORMATW (WM_USER + 219) |
| 1370 |
#define MCIWNDM_GETTIMEFORMATW (WM_USER + 220) |
| 1371 |
#define MCIWNDM_GETFILENAMEW (WM_USER + 224) |
| 1372 |
#define MCIWNDM_GETDEVICEW (WM_USER + 225) |
| 1373 |
#define MCIWNDM_GETERRORW (WM_USER + 228) |
| 1374 |
#define MCIWNDM_NEWW (WM_USER + 234) |
| 1375 |
#define MCIWNDM_RETURNSTRINGW (WM_USER + 238) |
| 1376 |
#define MCIWNDM_OPENW (WM_USER + 252) |
| 1377 |
|
| 1378 |
#define MCIWNDM_SENDSTRING __MINGW_NAME_AW(MCIWNDM_SENDSTRING) |
| 1379 |
#define MCIWNDM_GETPOSITION __MINGW_NAME_AW(MCIWNDM_GETPOSITION) |
| 1380 |
#define MCIWNDM_GETMODE __MINGW_NAME_AW(MCIWNDM_GETMODE) |
| 1381 |
#define MCIWNDM_SETTIMEFORMAT __MINGW_NAME_AW(MCIWNDM_SETTIMEFORMAT) |
| 1382 |
#define MCIWNDM_GETTIMEFORMAT __MINGW_NAME_AW(MCIWNDM_GETTIMEFORMAT) |
| 1383 |
#define MCIWNDM_GETFILENAME __MINGW_NAME_AW(MCIWNDM_GETFILENAME) |
| 1384 |
#define MCIWNDM_GETDEVICE __MINGW_NAME_AW(MCIWNDM_GETDEVICE) |
| 1385 |
#define MCIWNDM_GETERROR __MINGW_NAME_AW(MCIWNDM_GETERROR) |
| 1386 |
#define MCIWNDM_NEW __MINGW_NAME_AW(MCIWNDM_NEW) |
| 1387 |
#define MCIWNDM_RETURNSTRING __MINGW_NAME_AW(MCIWNDM_RETURNSTRING) |
| 1388 |
#define MCIWNDM_OPEN __MINGW_NAME_AW(MCIWNDM_OPEN) |
| 1389 |
|
| 1390 |
#define MCIWNDM_NOTIFYMODE (WM_USER + 200) |
| 1391 |
#define MCIWNDM_NOTIFYPOS (WM_USER + 201) |
| 1392 |
#define MCIWNDM_NOTIFYSIZE (WM_USER + 202) |
| 1393 |
#define MCIWNDM_NOTIFYMEDIA (WM_USER + 203) |
| 1394 |
#define MCIWNDM_NOTIFYERROR (WM_USER + 205) |
| 1395 |
|
| 1396 |
#define MCIWND_START -1 |
| 1397 |
#define MCIWND_END -2 |
| 1398 |
|
| 1399 |
#ifndef MCI_PLAY |
| 1400 |
#define MCI_CLOSE 0x0804 |
| 1401 |
#define MCI_PLAY 0x0806 |
| 1402 |
#define MCI_SEEK 0x0807 |
| 1403 |
#define MCI_STOP 0x0808 |
| 1404 |
#define MCI_PAUSE 0x0809 |
| 1405 |
#define MCI_STEP 0x080E |
| 1406 |
#define MCI_RECORD 0x080F |
| 1407 |
#define MCI_SAVE 0x0813 |
| 1408 |
#define MCI_CUT 0x0851 |
| 1409 |
#define MCI_COPY 0x0852 |
| 1410 |
#define MCI_PASTE 0x0853 |
| 1411 |
#define MCI_RESUME 0x0855 |
| 1412 |
#define MCI_DELETE 0x0856 |
| 1413 |
#endif |
| 1414 |
|
| 1415 |
#ifndef MCI_MODE_NOT_READY |
| 1416 |
|
| 1417 |
#define MCI_MODE_NOT_READY (524) |
| 1418 |
#define MCI_MODE_STOP (525) |
| 1419 |
#define MCI_MODE_PLAY (526) |
| 1420 |
#define MCI_MODE_RECORD (527) |
| 1421 |
#define MCI_MODE_SEEK (528) |
| 1422 |
#define MCI_MODE_PAUSE (529) |
| 1423 |
#define MCI_MODE_OPEN (530) |
| 1424 |
#endif |
| 1425 |
#endif |
| 1426 |
|
| 1427 |
#if !defined(NOAVICAP) || !defined(NOVIDEO) |
| 1428 |
|
| 1429 |
#ifndef _RCINVOKED |
| 1430 |
|
| 1431 |
DECLARE_HANDLE(HVIDEO); |
| 1432 |
typedef HVIDEO *LPHVIDEO; |
| 1433 |
#endif |
| 1434 |
|
| 1435 |
DWORD WINAPI VideoForWindowsVersion(void); |
| 1436 |
|
| 1437 |
#define DV_ERR_OK (0) |
| 1438 |
#define DV_ERR_BASE (1) |
| 1439 |
#define DV_ERR_NONSPECIFIC (DV_ERR_BASE) |
| 1440 |
#define DV_ERR_BADFORMAT (DV_ERR_BASE + 1) |
| 1441 |
|
| 1442 |
#define DV_ERR_STILLPLAYING (DV_ERR_BASE + 2) |
| 1443 |
|
| 1444 |
#define DV_ERR_UNPREPARED (DV_ERR_BASE + 3) |
| 1445 |
|
| 1446 |
#define DV_ERR_SYNC (DV_ERR_BASE + 4) |
| 1447 |
|
| 1448 |
#define DV_ERR_TOOMANYCHANNELS (DV_ERR_BASE + 5) |
| 1449 |
|
| 1450 |
#define DV_ERR_NOTDETECTED (DV_ERR_BASE + 6) |
| 1451 |
#define DV_ERR_BADINSTALL (DV_ERR_BASE + 7) |
| 1452 |
#define DV_ERR_CREATEPALETTE (DV_ERR_BASE + 8) |
| 1453 |
#define DV_ERR_SIZEFIELD (DV_ERR_BASE + 9) |
| 1454 |
#define DV_ERR_PARAM1 (DV_ERR_BASE + 10) |
| 1455 |
#define DV_ERR_PARAM2 (DV_ERR_BASE + 11) |
| 1456 |
#define DV_ERR_CONFIG1 (DV_ERR_BASE + 12) |
| 1457 |
#define DV_ERR_CONFIG2 (DV_ERR_BASE + 13) |
| 1458 |
#define DV_ERR_FLAGS (DV_ERR_BASE + 14) |
| 1459 |
#define DV_ERR_13 (DV_ERR_BASE + 15) |
| 1460 |
|
| 1461 |
#define DV_ERR_NOTSUPPORTED (DV_ERR_BASE + 16) |
| 1462 |
#define DV_ERR_NOMEM (DV_ERR_BASE + 17) |
| 1463 |
#define DV_ERR_ALLOCATED (DV_ERR_BASE + 18) |
| 1464 |
#define DV_ERR_BADDEVICEID (DV_ERR_BASE + 19) |
| 1465 |
#define DV_ERR_INVALHANDLE (DV_ERR_BASE + 20) |
| 1466 |
#define DV_ERR_BADERRNUM (DV_ERR_BASE + 21) |
| 1467 |
#define DV_ERR_NO_BUFFERS (DV_ERR_BASE + 22) |
| 1468 |
|
| 1469 |
#define DV_ERR_MEM_CONFLICT (DV_ERR_BASE + 23) |
| 1470 |
#define DV_ERR_IO_CONFLICT (DV_ERR_BASE + 24) |
| 1471 |
#define DV_ERR_DMA_CONFLICT (DV_ERR_BASE + 25) |
| 1472 |
#define DV_ERR_INT_CONFLICT (DV_ERR_BASE + 26) |
| 1473 |
#define DV_ERR_PROTECT_ONLY (DV_ERR_BASE + 27) |
| 1474 |
#define DV_ERR_LASTERROR (DV_ERR_BASE + 27) |
| 1475 |
|
| 1476 |
#define DV_ERR_USER_MSG (DV_ERR_BASE + 1000) |
| 1477 |
|
| 1478 |
#ifndef _RCINVOKED |
| 1479 |
|
| 1480 |
#ifndef MM_DRVM_OPEN |
| 1481 |
#define MM_DRVM_OPEN 0x3D0 |
| 1482 |
#define MM_DRVM_CLOSE 0x3D1 |
| 1483 |
#define MM_DRVM_DATA 0x3D2 |
| 1484 |
#define MM_DRVM_ERROR 0x3D3 |
| 1485 |
#endif |
| 1486 |
|
| 1487 |
#define DV_VM_OPEN MM_DRVM_OPEN |
| 1488 |
#define DV_VM_CLOSE MM_DRVM_CLOSE |
| 1489 |
#define DV_VM_DATA MM_DRVM_DATA |
| 1490 |
#define DV_VM_ERROR MM_DRVM_ERROR |
| 1491 |
|
| 1492 |
typedef struct videohdr_tag { |
| 1493 |
LPBYTE lpData; |
| 1494 |
DWORD dwBufferLength; |
| 1495 |
DWORD dwBytesUsed; |
| 1496 |
DWORD dwTimeCaptured; |
| 1497 |
DWORD_PTR dwUser; |
| 1498 |
DWORD dwFlags; |
| 1499 |
DWORD_PTR dwReserved[4]; |
| 1500 |
} VIDEOHDR, NEAR *PVIDEOHDR, FAR * LPVIDEOHDR; |
| 1501 |
|
| 1502 |
#define VHDR_DONE 0x00000001 |
| 1503 |
#define VHDR_PREPARED 0x00000002 |
| 1504 |
#define VHDR_INQUEUE 0x00000004 |
| 1505 |
#define VHDR_KEYFRAME 0x00000008 |
| 1506 |
#define VHDR_VALID 0x0000000F |
| 1507 |
|
| 1508 |
typedef struct channel_caps_tag { |
| 1509 |
DWORD dwFlags; |
| 1510 |
DWORD dwSrcRectXMod; |
| 1511 |
DWORD dwSrcRectYMod; |
| 1512 |
DWORD dwSrcRectWidthMod; |
| 1513 |
DWORD dwSrcRectHeightMod; |
| 1514 |
DWORD dwDstRectXMod; |
| 1515 |
DWORD dwDstRectYMod; |
| 1516 |
DWORD dwDstRectWidthMod; |
| 1517 |
DWORD dwDstRectHeightMod; |
| 1518 |
} CHANNEL_CAPS,NEAR *PCHANNEL_CAPS,*LPCHANNEL_CAPS; |
| 1519 |
|
| 1520 |
#define VCAPS_OVERLAY 0x00000001 |
| 1521 |
#define VCAPS_SRC_CAN_CLIP 0x00000002 |
| 1522 |
#define VCAPS_DST_CAN_CLIP 0x00000004 |
| 1523 |
#define VCAPS_CAN_SCALE 0x00000008 |
| 1524 |
|
| 1525 |
#define VIDEO_EXTERNALIN 0x0001 |
| 1526 |
#define VIDEO_EXTERNALOUT 0x0002 |
| 1527 |
#define VIDEO_IN 0x0004 |
| 1528 |
#define VIDEO_OUT 0x0008 |
| 1529 |
|
| 1530 |
#define VIDEO_DLG_QUERY 0x0010 |
| 1531 |
|
| 1532 |
#define VIDEO_CONFIGURE_QUERY 0x8000 |
| 1533 |
|
| 1534 |
#define VIDEO_CONFIGURE_SET 0x1000 |
| 1535 |
|
| 1536 |
#define VIDEO_CONFIGURE_GET 0x2000 |
| 1537 |
#define VIDEO_CONFIGURE_QUERYSIZE 0x0001 |
| 1538 |
|
| 1539 |
#define VIDEO_CONFIGURE_CURRENT 0x0010 |
| 1540 |
#define VIDEO_CONFIGURE_NOMINAL 0x0020 |
| 1541 |
#define VIDEO_CONFIGURE_MIN 0x0040 |
| 1542 |
#define VIDEO_CONFIGURE_MAX 0x0080 |
| 1543 |
|
| 1544 |
#define DVM_USER 0X4000 |
| 1545 |
|
| 1546 |
#define DVM_CONFIGURE_START 0x1000 |
| 1547 |
#define DVM_CONFIGURE_END 0x1FFF |
| 1548 |
|
| 1549 |
#define DVM_PALETTE (DVM_CONFIGURE_START + 1) |
| 1550 |
#define DVM_FORMAT (DVM_CONFIGURE_START + 2) |
| 1551 |
#define DVM_PALETTERGB555 (DVM_CONFIGURE_START + 3) |
| 1552 |
#define DVM_SRC_RECT (DVM_CONFIGURE_START + 4) |
| 1553 |
#define DVM_DST_RECT (DVM_CONFIGURE_START + 5) |
| 1554 |
#endif |
| 1555 |
#endif |
| 1556 |
|
| 1557 |
#ifndef NOAVICAP |
| 1558 |
#ifdef __cplusplus |
| 1559 |
|
| 1560 |
#define AVICapSM(hwnd,m,w,l) ((::IsWindow(hwnd)) ? ::SendMessage(hwnd,m,w,l) : 0) |
| 1561 |
#else |
| 1562 |
|
| 1563 |
#define AVICapSM(hwnd,m,w,l) ((IsWindow(hwnd)) ? SendMessage(hwnd,m,w,l) : 0) |
| 1564 |
#endif |
| 1565 |
|
| 1566 |
#ifndef RC_INVOKED |
| 1567 |
|
| 1568 |
#define WM_CAP_START WM_USER |
| 1569 |
|
| 1570 |
#define WM_CAP_UNICODE_START WM_USER+100 |
| 1571 |
|
| 1572 |
#define WM_CAP_GET_CAPSTREAMPTR (WM_CAP_START+ 1) |
| 1573 |
|
| 1574 |
#define WM_CAP_SET_CALLBACK_ERRORW (WM_CAP_UNICODE_START+ 2) |
| 1575 |
#define WM_CAP_SET_CALLBACK_STATUSW (WM_CAP_UNICODE_START+ 3) |
| 1576 |
#define WM_CAP_SET_CALLBACK_ERRORA (WM_CAP_START+ 2) |
| 1577 |
#define WM_CAP_SET_CALLBACK_STATUSA (WM_CAP_START+ 3) |
| 1578 |
|
| 1579 |
#define WM_CAP_SET_CALLBACK_ERROR __MINGW_NAME_AW(WM_CAP_SET_CALLBACK_ERROR) |
| 1580 |
#define WM_CAP_SET_CALLBACK_STATUS __MINGW_NAME_AW(WM_CAP_SET_CALLBACK_STATUS) |
| 1581 |
|
| 1582 |
#define WM_CAP_SET_CALLBACK_YIELD (WM_CAP_START+ 4) |
| 1583 |
#define WM_CAP_SET_CALLBACK_FRAME (WM_CAP_START+ 5) |
| 1584 |
#define WM_CAP_SET_CALLBACK_VIDEOSTREAM (WM_CAP_START+ 6) |
| 1585 |
#define WM_CAP_SET_CALLBACK_WAVESTREAM (WM_CAP_START+ 7) |
| 1586 |
#define WM_CAP_GET_USER_DATA (WM_CAP_START+ 8) |
| 1587 |
#define WM_CAP_SET_USER_DATA (WM_CAP_START+ 9) |
| 1588 |
|
| 1589 |
#define WM_CAP_DRIVER_CONNECT (WM_CAP_START+ 10) |
| 1590 |
#define WM_CAP_DRIVER_DISCONNECT (WM_CAP_START+ 11) |
| 1591 |
|
| 1592 |
#define WM_CAP_DRIVER_GET_NAMEA (WM_CAP_START+ 12) |
| 1593 |
#define WM_CAP_DRIVER_GET_VERSIONA (WM_CAP_START+ 13) |
| 1594 |
#define WM_CAP_DRIVER_GET_NAMEW (WM_CAP_UNICODE_START+ 12) |
| 1595 |
#define WM_CAP_DRIVER_GET_VERSIONW (WM_CAP_UNICODE_START+ 13) |
| 1596 |
|
| 1597 |
#define WM_CAP_DRIVER_GET_NAME __MINGW_NAME_AW(WM_CAP_DRIVER_GET_NAME) |
| 1598 |
#define WM_CAP_DRIVER_GET_VERSION __MINGW_NAME_AW(WM_CAP_DRIVER_GET_VERSION) |
| 1599 |
|
| 1600 |
#define WM_CAP_DRIVER_GET_CAPS (WM_CAP_START+ 14) |
| 1601 |
|
| 1602 |
#define WM_CAP_FILE_SET_CAPTURE_FILEA (WM_CAP_START+ 20) |
| 1603 |
#define WM_CAP_FILE_GET_CAPTURE_FILEA (WM_CAP_START+ 21) |
| 1604 |
#define WM_CAP_FILE_SAVEASA (WM_CAP_START+ 23) |
| 1605 |
#define WM_CAP_FILE_SAVEDIBA (WM_CAP_START+ 25) |
| 1606 |
#define WM_CAP_FILE_SET_CAPTURE_FILEW (WM_CAP_UNICODE_START+ 20) |
| 1607 |
#define WM_CAP_FILE_GET_CAPTURE_FILEW (WM_CAP_UNICODE_START+ 21) |
| 1608 |
#define WM_CAP_FILE_SAVEASW (WM_CAP_UNICODE_START+ 23) |
| 1609 |
#define WM_CAP_FILE_SAVEDIBW (WM_CAP_UNICODE_START+ 25) |
| 1610 |
|
| 1611 |
#define WM_CAP_FILE_SET_CAPTURE_FILE __MINGW_NAME_AW(WM_CAP_FILE_SET_CAPTURE_FILE) |
| 1612 |
#define WM_CAP_FILE_GET_CAPTURE_FILE __MINGW_NAME_AW(WM_CAP_FILE_GET_CAPTURE_FILE) |
| 1613 |
#define WM_CAP_FILE_SAVEAS __MINGW_NAME_AW(WM_CAP_FILE_SAVEAS) |
| 1614 |
#define WM_CAP_FILE_SAVEDIB __MINGW_NAME_AW(WM_CAP_FILE_SAVEDIB) |
| 1615 |
|
| 1616 |
#define WM_CAP_FILE_ALLOCATE (WM_CAP_START+ 22) |
| 1617 |
#define WM_CAP_FILE_SET_INFOCHUNK (WM_CAP_START+ 24) |
| 1618 |
|
| 1619 |
#define WM_CAP_EDIT_COPY (WM_CAP_START+ 30) |
| 1620 |
|
| 1621 |
#define WM_CAP_SET_AUDIOFORMAT (WM_CAP_START+ 35) |
| 1622 |
#define WM_CAP_GET_AUDIOFORMAT (WM_CAP_START+ 36) |
| 1623 |
|
| 1624 |
#define WM_CAP_DLG_VIDEOFORMAT (WM_CAP_START+ 41) |
| 1625 |
#define WM_CAP_DLG_VIDEOSOURCE (WM_CAP_START+ 42) |
| 1626 |
#define WM_CAP_DLG_VIDEODISPLAY (WM_CAP_START+ 43) |
| 1627 |
#define WM_CAP_GET_VIDEOFORMAT (WM_CAP_START+ 44) |
| 1628 |
#define WM_CAP_SET_VIDEOFORMAT (WM_CAP_START+ 45) |
| 1629 |
#define WM_CAP_DLG_VIDEOCOMPRESSION (WM_CAP_START+ 46) |
| 1630 |
|
| 1631 |
#define WM_CAP_SET_PREVIEW (WM_CAP_START+ 50) |
| 1632 |
#define WM_CAP_SET_OVERLAY (WM_CAP_START+ 51) |
| 1633 |
#define WM_CAP_SET_PREVIEWRATE (WM_CAP_START+ 52) |
| 1634 |
#define WM_CAP_SET_SCALE (WM_CAP_START+ 53) |
| 1635 |
#define WM_CAP_GET_STATUS (WM_CAP_START+ 54) |
| 1636 |
#define WM_CAP_SET_SCROLL (WM_CAP_START+ 55) |
| 1637 |
|
| 1638 |
#define WM_CAP_GRAB_FRAME (WM_CAP_START+ 60) |
| 1639 |
#define WM_CAP_GRAB_FRAME_NOSTOP (WM_CAP_START+ 61) |
| 1640 |
|
| 1641 |
#define WM_CAP_SEQUENCE (WM_CAP_START+ 62) |
| 1642 |
#define WM_CAP_SEQUENCE_NOFILE (WM_CAP_START+ 63) |
| 1643 |
#define WM_CAP_SET_SEQUENCE_SETUP (WM_CAP_START+ 64) |
| 1644 |
#define WM_CAP_GET_SEQUENCE_SETUP (WM_CAP_START+ 65) |
| 1645 |
|
| 1646 |
#define WM_CAP_SET_MCI_DEVICEA (WM_CAP_START+ 66) |
| 1647 |
#define WM_CAP_GET_MCI_DEVICEA (WM_CAP_START+ 67) |
| 1648 |
#define WM_CAP_SET_MCI_DEVICEW (WM_CAP_UNICODE_START+ 66) |
| 1649 |
#define WM_CAP_GET_MCI_DEVICEW (WM_CAP_UNICODE_START+ 67) |
| 1650 |
|
| 1651 |
#define WM_CAP_SET_MCI_DEVICE __MINGW_NAME_AW(WM_CAP_SET_MCI_DEVICE) |
| 1652 |
#define WM_CAP_GET_MCI_DEVICE __MINGW_NAME_AW(WM_CAP_GET_MCI_DEVICE) |
| 1653 |
|
| 1654 |
#define WM_CAP_STOP (WM_CAP_START+ 68) |
| 1655 |
#define WM_CAP_ABORT (WM_CAP_START+ 69) |
| 1656 |
|
| 1657 |
#define WM_CAP_SINGLE_FRAME_OPEN (WM_CAP_START+ 70) |
| 1658 |
#define WM_CAP_SINGLE_FRAME_CLOSE (WM_CAP_START+ 71) |
| 1659 |
#define WM_CAP_SINGLE_FRAME (WM_CAP_START+ 72) |
| 1660 |
|
| 1661 |
#define WM_CAP_PAL_OPENA (WM_CAP_START+ 80) |
| 1662 |
#define WM_CAP_PAL_SAVEA (WM_CAP_START+ 81) |
| 1663 |
#define WM_CAP_PAL_OPENW (WM_CAP_UNICODE_START+ 80) |
| 1664 |
#define WM_CAP_PAL_SAVEW (WM_CAP_UNICODE_START+ 81) |
| 1665 |
|
| 1666 |
#define WM_CAP_PAL_OPEN __MINGW_NAME_AW(WM_CAP_PAL_OPEN) |
| 1667 |
#define WM_CAP_PAL_SAVE __MINGW_NAME_AW(WM_CAP_PAL_SAVE) |
| 1668 |
|
| 1669 |
#define WM_CAP_PAL_PASTE (WM_CAP_START+ 82) |
| 1670 |
#define WM_CAP_PAL_AUTOCREATE (WM_CAP_START+ 83) |
| 1671 |
#define WM_CAP_PAL_MANUALCREATE (WM_CAP_START+ 84) |
| 1672 |
|
| 1673 |
#define WM_CAP_SET_CALLBACK_CAPCONTROL (WM_CAP_START+ 85) |
| 1674 |
|
| 1675 |
#define WM_CAP_UNICODE_END WM_CAP_PAL_SAVEW |
| 1676 |
#define WM_CAP_END WM_CAP_UNICODE_END |
| 1677 |
|
| 1678 |
#define capSetCallbackOnError(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_ERROR,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1679 |
#define capSetCallbackOnStatus(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_STATUS,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1680 |
#define capSetCallbackOnYield(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_YIELD,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1681 |
#define capSetCallbackOnFrame(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_FRAME,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1682 |
#define capSetCallbackOnVideoStream(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_VIDEOSTREAM,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1683 |
#define capSetCallbackOnWaveStream(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_WAVESTREAM,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1684 |
#define capSetCallbackOnCapControl(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_CAPCONTROL,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) |
| 1685 |
|
| 1686 |
#define capSetUserData(hwnd,lUser) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_USER_DATA,(WPARAM)0,(LPARAM)lUser)) |
| 1687 |
#define capGetUserData(hwnd) (AVICapSM(hwnd,WM_CAP_GET_USER_DATA,(WPARAM)0,(LPARAM)0)) |
| 1688 |
|
| 1689 |
#define capDriverConnect(hwnd,i) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_CONNECT,(WPARAM)(i),(LPARAM)0)) |
| 1690 |
#define capDriverDisconnect(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_DISCONNECT,(WPARAM)0,(LPARAM)0)) |
| 1691 |
#define capDriverGetName(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_NAME,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1692 |
#define capDriverGetVersion(hwnd,szVer,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_VERSION,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szVer))) |
| 1693 |
#define capDriverGetCaps(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_CAPS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(s))) |
| 1694 |
|
| 1695 |
#define capFileSetCaptureFile(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SET_CAPTURE_FILE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1696 |
#define capFileGetCaptureFile(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_GET_CAPTURE_FILE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1697 |
#define capFileAlloc(hwnd,dwSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_ALLOCATE,(WPARAM)0,(LPARAM)(DWORD)(dwSize))) |
| 1698 |
#define capFileSaveAs(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SAVEAS,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1699 |
#define capFileSetInfoChunk(hwnd,lpInfoChunk) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SET_INFOCHUNK,(WPARAM)0,(LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk))) |
| 1700 |
#define capFileSaveDIB(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SAVEDIB,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1701 |
|
| 1702 |
#define capEditCopy(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_EDIT_COPY,(WPARAM)0,(LPARAM)0)) |
| 1703 |
|
| 1704 |
#define capSetAudioFormat(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(s))) |
| 1705 |
#define capGetAudioFormat(hwnd,s,wSize) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(s))) |
| 1706 |
#define capGetAudioFormatSize(hwnd) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)0,(LPARAM)0)) |
| 1707 |
|
| 1708 |
#define capDlgVideoFormat(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOFORMAT,(WPARAM)0,(LPARAM)0)) |
| 1709 |
#define capDlgVideoSource(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOSOURCE,(WPARAM)0,(LPARAM)0)) |
| 1710 |
#define capDlgVideoDisplay(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEODISPLAY,(WPARAM)0,(LPARAM)0)) |
| 1711 |
#define capDlgVideoCompression(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOCOMPRESSION,(WPARAM)0,(LPARAM)0)) |
| 1712 |
|
| 1713 |
#define capGetVideoFormat(hwnd,s,wSize) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(s))) |
| 1714 |
#define capGetVideoFormatSize(hwnd) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)0,(LPARAM)0)) |
| 1715 |
#define capSetVideoFormat(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(s))) |
| 1716 |
|
| 1717 |
#define capPreview(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_PREVIEW,(WPARAM)(WINBOOL)(f),(LPARAM)0)) |
| 1718 |
#define capPreviewRate(hwnd,wMS) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_PREVIEWRATE,(WPARAM)(wMS),(LPARAM)0)) |
| 1719 |
#define capOverlay(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_OVERLAY,(WPARAM)(WINBOOL)(f),(LPARAM)0)) |
| 1720 |
#define capPreviewScale(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SCALE,(WPARAM)(WINBOOL)f,(LPARAM)0)) |
| 1721 |
#define capGetStatus(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_STATUS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPSTATUS)(s))) |
| 1722 |
#define capSetScrollPos(hwnd,lpP) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SCROLL,(WPARAM)0,(LPARAM)(LPPOINT)(lpP))) |
| 1723 |
|
| 1724 |
#define capGrabFrame(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GRAB_FRAME,(WPARAM)0,(LPARAM)0)) |
| 1725 |
#define capGrabFrameNoStop(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GRAB_FRAME_NOSTOP,(WPARAM)0,(LPARAM)0)) |
| 1726 |
|
| 1727 |
#define capCaptureSequence(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SEQUENCE,(WPARAM)0,(LPARAM)0)) |
| 1728 |
#define capCaptureSequenceNoFile(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SEQUENCE_NOFILE,(WPARAM)0,(LPARAM)0)) |
| 1729 |
#define capCaptureStop(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_STOP,(WPARAM)0,(LPARAM)0)) |
| 1730 |
#define capCaptureAbort(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_ABORT,(WPARAM)0,(LPARAM)0)) |
| 1731 |
|
| 1732 |
#define capCaptureSingleFrameOpen(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME_OPEN,(WPARAM)0,(LPARAM)0)) |
| 1733 |
#define capCaptureSingleFrameClose(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME_CLOSE,(WPARAM)0,(LPARAM)0)) |
| 1734 |
#define capCaptureSingleFrame(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME,(WPARAM)0,(LPARAM)0)) |
| 1735 |
|
| 1736 |
#define capCaptureGetSetup(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) |
| 1737 |
#define capCaptureSetSetup(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) |
| 1738 |
|
| 1739 |
#define capSetMCIDeviceName(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_MCI_DEVICE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1740 |
#define capGetMCIDeviceName(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_MCI_DEVICE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1741 |
|
| 1742 |
#define capPaletteOpen(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_OPEN,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1743 |
#define capPaletteSave(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_SAVE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) |
| 1744 |
#define capPalettePaste(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_PASTE,(WPARAM) 0,(LPARAM)0)) |
| 1745 |
#define capPaletteAuto(hwnd,iFrames,iColors) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_AUTOCREATE,(WPARAM)(iFrames),(LPARAM)(DWORD)(iColors))) |
| 1746 |
#define capPaletteManual(hwnd,fGrab,iColors) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_MANUALCREATE,(WPARAM)(fGrab),(LPARAM)(DWORD)(iColors))) |
| 1747 |
|
| 1748 |
typedef struct tagCapDriverCaps { |
| 1749 |
UINT wDeviceIndex; |
| 1750 |
WINBOOL fHasOverlay; |
| 1751 |
WINBOOL fHasDlgVideoSource; |
| 1752 |
WINBOOL fHasDlgVideoFormat; |
| 1753 |
WINBOOL fHasDlgVideoDisplay; |
| 1754 |
WINBOOL fCaptureInitialized; |
| 1755 |
WINBOOL fDriverSuppliesPalettes; |
| 1756 |
HANDLE hVideoIn; |
| 1757 |
HANDLE hVideoOut; |
| 1758 |
HANDLE hVideoExtIn; |
| 1759 |
HANDLE hVideoExtOut; |
| 1760 |
} CAPDRIVERCAPS,*PCAPDRIVERCAPS,*LPCAPDRIVERCAPS; |
| 1761 |
|
| 1762 |
typedef struct tagCapStatus { |
| 1763 |
UINT uiImageWidth; |
| 1764 |
UINT uiImageHeight; |
| 1765 |
WINBOOL fLiveWindow; |
| 1766 |
WINBOOL fOverlayWindow; |
| 1767 |
WINBOOL fScale; |
| 1768 |
POINT ptScroll; |
| 1769 |
WINBOOL fUsingDefaultPalette; |
| 1770 |
WINBOOL fAudioHardware; |
| 1771 |
WINBOOL fCapFileExists; |
| 1772 |
DWORD dwCurrentVideoFrame; |
| 1773 |
DWORD dwCurrentVideoFramesDropped; |
| 1774 |
DWORD dwCurrentWaveSamples; |
| 1775 |
DWORD dwCurrentTimeElapsedMS; |
| 1776 |
HPALETTE hPalCurrent; |
| 1777 |
WINBOOL fCapturingNow; |
| 1778 |
DWORD dwReturn; |
| 1779 |
UINT wNumVideoAllocated; |
| 1780 |
UINT wNumAudioAllocated; |
| 1781 |
} CAPSTATUS,*PCAPSTATUS,*LPCAPSTATUS; |
| 1782 |
|
| 1783 |
typedef struct tagCaptureParms { |
| 1784 |
DWORD dwRequestMicroSecPerFrame; |
| 1785 |
WINBOOL fMakeUserHitOKToCapture; |
| 1786 |
UINT wPercentDropForError; |
| 1787 |
WINBOOL fYield; |
| 1788 |
DWORD dwIndexSize; |
| 1789 |
UINT wChunkGranularity; |
| 1790 |
WINBOOL fUsingDOSMemory; |
| 1791 |
UINT wNumVideoRequested; |
| 1792 |
WINBOOL fCaptureAudio; |
| 1793 |
UINT wNumAudioRequested; |
| 1794 |
UINT vKeyAbort; |
| 1795 |
WINBOOL fAbortLeftMouse; |
| 1796 |
WINBOOL fAbortRightMouse; |
| 1797 |
WINBOOL fLimitEnabled; |
| 1798 |
UINT wTimeLimit; |
| 1799 |
WINBOOL fMCIControl; |
| 1800 |
WINBOOL fStepMCIDevice; |
| 1801 |
DWORD dwMCIStartTime; |
| 1802 |
DWORD dwMCIStopTime; |
| 1803 |
WINBOOL fStepCaptureAt2x; |
| 1804 |
UINT wStepCaptureAverageFrames; |
| 1805 |
DWORD dwAudioBufferSize; |
| 1806 |
WINBOOL fDisableWriteCache; |
| 1807 |
UINT AVStreamMaster; |
| 1808 |
} CAPTUREPARMS,*PCAPTUREPARMS,*LPCAPTUREPARMS; |
| 1809 |
|
| 1810 |
#define AVSTREAMMASTER_AUDIO 0 |
| 1811 |
#define AVSTREAMMASTER_NONE 1 |
| 1812 |
|
| 1813 |
typedef struct tagCapInfoChunk { |
| 1814 |
FOURCC fccInfoID; |
| 1815 |
LPVOID lpData; |
| 1816 |
LONG cbData; |
| 1817 |
} CAPINFOCHUNK,*PCAPINFOCHUNK,*LPCAPINFOCHUNK; |
| 1818 |
|
| 1819 |
typedef LRESULT (CALLBACK *CAPYIELDCALLBACK)(HWND hWnd); |
| 1820 |
typedef LRESULT (CALLBACK *CAPSTATUSCALLBACKW)(HWND hWnd,int nID,LPCWSTR lpsz); |
| 1821 |
typedef LRESULT (CALLBACK *CAPERRORCALLBACKW)(HWND hWnd,int nID,LPCWSTR lpsz); |
| 1822 |
typedef LRESULT (CALLBACK *CAPSTATUSCALLBACKA)(HWND hWnd,int nID,LPCSTR lpsz); |
| 1823 |
typedef LRESULT (CALLBACK *CAPERRORCALLBACKA)(HWND hWnd,int nID,LPCSTR lpsz); |
| 1824 |
|
| 1825 |
#define CAPSTATUSCALLBACK __MINGW_NAME_AW(CAPSTATUSCALLBACK) |
| 1826 |
#define CAPERRORCALLBACK __MINGW_NAME_AW(CAPERRORCALLBACK) |
| 1827 |
|
| 1828 |
typedef LRESULT (CALLBACK *CAPVIDEOCALLBACK)(HWND hWnd,LPVIDEOHDR lpVHdr); |
| 1829 |
typedef LRESULT (CALLBACK *CAPWAVECALLBACK)(HWND hWnd,LPWAVEHDR lpWHdr); |
| 1830 |
typedef LRESULT (CALLBACK *CAPCONTROLCALLBACK)(HWND hWnd,int nState); |
| 1831 |
|
| 1832 |
#define CONTROLCALLBACK_PREROLL 1 |
| 1833 |
#define CONTROLCALLBACK_CAPTURING 2 |
| 1834 |
|
| 1835 |
HWND WINAPI capCreateCaptureWindowA (LPCSTR lpszWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hwndParent,int nID); |
| 1836 |
WINBOOL WINAPI capGetDriverDescriptionA (UINT wDriverIndex,LPSTR lpszName,int cbName,LPSTR lpszVer,int cbVer); |
| 1837 |
HWND WINAPI capCreateCaptureWindowW (LPCWSTR lpszWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hwndParent,int nID); |
| 1838 |
WINBOOL WINAPI capGetDriverDescriptionW (UINT wDriverIndex,LPWSTR lpszName,int cbName,LPWSTR lpszVer,int cbVer); |
| 1839 |
|
| 1840 |
#define capCreateCaptureWindow __MINGW_NAME_AW(capCreateCaptureWindow) |
| 1841 |
#define capGetDriverDescription __MINGW_NAME_AW(capGetDriverDescription) |
| 1842 |
#endif |
| 1843 |
|
| 1844 |
#define infotypeDIGITIZATION_TIME mmioFOURCC ('I','D','I','T') |
| 1845 |
#define infotypeSMPTE_TIME mmioFOURCC ('I','S','M','P') |
| 1846 |
|
| 1847 |
#define IDS_CAP_BEGIN 300 |
| 1848 |
#define IDS_CAP_END 301 |
| 1849 |
|
| 1850 |
#define IDS_CAP_INFO 401 |
| 1851 |
#define IDS_CAP_OUTOFMEM 402 |
| 1852 |
#define IDS_CAP_FILEEXISTS 403 |
| 1853 |
#define IDS_CAP_ERRORPALOPEN 404 |
| 1854 |
#define IDS_CAP_ERRORPALSAVE 405 |
| 1855 |
#define IDS_CAP_ERRORDIBSAVE 406 |
| 1856 |
#define IDS_CAP_DEFAVIEXT 407 |
| 1857 |
#define IDS_CAP_DEFPALEXT 408 |
| 1858 |
#define IDS_CAP_CANTOPEN 409 |
| 1859 |
#define IDS_CAP_SEQ_MSGSTART 410 |
| 1860 |
#define IDS_CAP_SEQ_MSGSTOP 411 |
| 1861 |
|
| 1862 |
#define IDS_CAP_VIDEDITERR 412 |
| 1863 |
#define IDS_CAP_READONLYFILE 413 |
| 1864 |
#define IDS_CAP_WRITEERROR 414 |
| 1865 |
#define IDS_CAP_NODISKSPACE 415 |
| 1866 |
#define IDS_CAP_SETFILESIZE 416 |
| 1867 |
#define IDS_CAP_SAVEASPERCENT 417 |
| 1868 |
|
| 1869 |
#define IDS_CAP_DRIVER_ERROR 418 |
| 1870 |
|
| 1871 |
#define IDS_CAP_WAVE_OPEN_ERROR 419 |
| 1872 |
#define IDS_CAP_WAVE_ALLOC_ERROR 420 |
| 1873 |
#define IDS_CAP_WAVE_PREPARE_ERROR 421 |
| 1874 |
#define IDS_CAP_WAVE_ADD_ERROR 422 |
| 1875 |
#define IDS_CAP_WAVE_SIZE_ERROR 423 |
| 1876 |
|
| 1877 |
#define IDS_CAP_VIDEO_OPEN_ERROR 424 |
| 1878 |
#define IDS_CAP_VIDEO_ALLOC_ERROR 425 |
| 1879 |
#define IDS_CAP_VIDEO_PREPARE_ERROR 426 |
| 1880 |
#define IDS_CAP_VIDEO_ADD_ERROR 427 |
| 1881 |
#define IDS_CAP_VIDEO_SIZE_ERROR 428 |
| 1882 |
|
| 1883 |
#define IDS_CAP_FILE_OPEN_ERROR 429 |
| 1884 |
#define IDS_CAP_FILE_WRITE_ERROR 430 |
| 1885 |
#define IDS_CAP_RECORDING_ERROR 431 |
| 1886 |
#define IDS_CAP_RECORDING_ERROR2 432 |
| 1887 |
#define IDS_CAP_AVI_INIT_ERROR 433 |
| 1888 |
#define IDS_CAP_NO_FRAME_CAP_ERROR 434 |
| 1889 |
#define IDS_CAP_NO_PALETTE_WARN 435 |
| 1890 |
#define IDS_CAP_MCI_CONTROL_ERROR 436 |
| 1891 |
#define IDS_CAP_MCI_CANT_STEP_ERROR 437 |
| 1892 |
#define IDS_CAP_NO_AUDIO_CAP_ERROR 438 |
| 1893 |
#define IDS_CAP_AVI_DRAWDIB_ERROR 439 |
| 1894 |
#define IDS_CAP_COMPRESSOR_ERROR 440 |
| 1895 |
#define IDS_CAP_AUDIO_DROP_ERROR 441 |
| 1896 |
#define IDS_CAP_AUDIO_DROP_COMPERROR 442 |
| 1897 |
|
| 1898 |
#define IDS_CAP_STAT_LIVE_MODE 500 |
| 1899 |
#define IDS_CAP_STAT_OVERLAY_MODE 501 |
| 1900 |
#define IDS_CAP_STAT_CAP_INIT 502 |
| 1901 |
#define IDS_CAP_STAT_CAP_FINI 503 |
| 1902 |
#define IDS_CAP_STAT_PALETTE_BUILD 504 |
| 1903 |
#define IDS_CAP_STAT_OPTPAL_BUILD 505 |
| 1904 |
#define IDS_CAP_STAT_I_FRAMES 506 |
| 1905 |
#define IDS_CAP_STAT_L_FRAMES 507 |
| 1906 |
#define IDS_CAP_STAT_CAP_L_FRAMES 508 |
| 1907 |
#define IDS_CAP_STAT_CAP_AUDIO 509 |
| 1908 |
#define IDS_CAP_STAT_VIDEOCURRENT 510 |
| 1909 |
#define IDS_CAP_STAT_VIDEOAUDIO 511 |
| 1910 |
#define IDS_CAP_STAT_VIDEOONLY 512 |
| 1911 |
#define IDS_CAP_STAT_FRAMESDROPPED 513 |
| 1912 |
#endif |
| 1913 |
|
| 1914 |
#ifdef __cplusplus |
| 1915 |
} |
| 1916 |
#endif |
| 1917 |
|
| 1918 |
#ifndef NOMSACM |
| 1919 |
#include <msacm.h> |
| 1920 |
#endif |
| 1921 |
|
| 1922 |
#ifdef __cplusplus |
| 1923 |
extern "C" { |
| 1924 |
#endif |
| 1925 |
|
| 1926 |
#ifdef OFN_READONLY |
| 1927 |
WINBOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn); |
| 1928 |
WINBOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn); |
| 1929 |
WINBOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn); |
| 1930 |
WINBOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn); |
| 1931 |
|
| 1932 |
#define GetOpenFileNamePreview __MINGW_NAME_AW(GetOpenFileNamePreview) |
| 1933 |
#define GetSaveFileNamePreview __MINGW_NAME_AW(GetSaveFileNamePreview) |
| 1934 |
#endif |
| 1935 |
|
| 1936 |
#ifndef RC_INVOKED |
| 1937 |
#include "poppack.h" |
| 1938 |
#endif |
| 1939 |
|
| 1940 |
#ifdef __cplusplus |
| 1941 |
} |
| 1942 |
#endif |
| 1943 |
#endif |