vfw.h (5.2.3790.1830-Windows 5.0) | | vfw.h (6.0.6001.18000-Windows 6.0) |
| | |
skipping to change at line 55 | | skipping to change at line 55 |
#endif /* __cplusplus */ | | #endif /* __cplusplus */ |
| | |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* types | | * types |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
| | |
#define VFWAPI WINAPI | | #define VFWAPI WINAPI |
#define VFWAPIV WINAPIV | | #define VFWAPIV WINAPIV |
|
| | #if (_WIN32_WINNT >= _WIN32_WINNT_WS03) |
#define VFWAPI_INLINE WINAPI_INLINE | | #define VFWAPI_INLINE WINAPI_INLINE |
|
| | #else |
| | #define VFWAPI_INLINE WINAPI |
| | #endif |
| | |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* VideoForWindowsVersion() - returns version of VfW | | * VideoForWindowsVersion() - returns version of VfW |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
| | |
DWORD FAR PASCAL VideoForWindowsVersion(void); | | DWORD FAR PASCAL VideoForWindowsVersion(void); |
| | |
/**************************************************************************** | | /**************************************************************************** |
| | |
skipping to change at line 340 | | skipping to change at line 344 |
| | |
/************************************************************************ | | /************************************************************************ |
************************************************************************/ | | ************************************************************************/ |
| | |
#define ICCOMPRESS_KEYFRAME 0x00000001L | | #define ICCOMPRESS_KEYFRAME 0x00000001L |
| | |
typedef struct { | | typedef struct { |
DWORD dwFlags; // flags | | DWORD dwFlags; // flags |
| | |
LPBITMAPINFOHEADER lpbiOutput; // output format | | LPBITMAPINFOHEADER lpbiOutput; // output format |
|
LPVOID lpOutput; // output data | | __field_bcount(lpbiOutput->biSizeImage) LPVOID lpOutput;
// output data |
| | |
LPBITMAPINFOHEADER lpbiInput; // format of frame to compress | | LPBITMAPINFOHEADER lpbiInput; // format of frame to compress |
|
LPVOID lpInput; // frame data to compress | | __field_bcount(lpbiInput->biSizeImage) LPVOID lpInput; /
/ frame data to compress |
| | |
LPDWORD lpckid; // ckid for data in AVI file | | LPDWORD lpckid; // ckid for data in AVI file |
LPDWORD lpdwFlags; // flags in the AVI index. | | LPDWORD lpdwFlags; // flags in the AVI index. |
LONG lFrameNum; // frame number of seq. | | LONG lFrameNum; // frame number of seq. |
DWORD dwFrameSize; // reqested size in bytes. (if non zero) | | DWORD dwFrameSize; // reqested size in bytes. (if non zero) |
| | |
DWORD dwQuality; // quality | | DWORD dwQuality; // quality |
| | |
// these are new fields | | // these are new fields |
LPBITMAPINFOHEADER lpbiPrev; // format of previous frame | | LPBITMAPINFOHEADER lpbiPrev; // format of previous frame |
|
LPVOID lpPrev; // previous frame | | __field_bcount(lpbiPrev->biSizeImage) LPVOID lpPrev; //
previous frame |
| | |
} ICCOMPRESS; | | } ICCOMPRESS; |
| | |
/************************************************************************ | | /************************************************************************ |
************************************************************************/ | | ************************************************************************/ |
| | |
#define ICCOMPRESSFRAMES_PADDING 0x00000001 | | #define ICCOMPRESSFRAMES_PADDING 0x00000001 |
| | |
typedef struct { | | typedef struct { |
DWORD dwFlags; // flags | | DWORD dwFlags; // flags |
| | |
skipping to change at line 385 | | skipping to change at line 389 |
LONG lQuality; // quality | | LONG lQuality; // quality |
LONG lDataRate; // data rate | | LONG lDataRate; // data rate |
LONG lKeyRate; // key frame rate | | LONG lKeyRate; // key frame rate |
| | |
DWORD dwRate; // frame rate, as always | | DWORD dwRate; // frame rate, as always |
DWORD dwScale; | | DWORD dwScale; |
| | |
DWORD dwOverheadPerFrame; | | DWORD dwOverheadPerFrame; |
DWORD dwReserved2; | | DWORD dwReserved2; |
| | |
|
LONG (CALLBACK *GetData)(LPARAM lInput, LONG lFrame, LPVOID lpBits, LONG len | | LONG (CALLBACK *GetData)(__in LPARAM lInput, __in LONG lFrame, __out_bcount( |
); | | len) LPVOID lpBits, __in LONG len); |
LONG (CALLBACK *PutData)(LPARAM lOutput, LONG lFrame, LPVOID lpBits, LONG le | | LONG (CALLBACK *PutData)(__in LPARAM lOutput, __in LONG lFrame, __in_bcount( |
n); | | len) LPVOID lpBits, __in LONG len); |
} ICCOMPRESSFRAMES; | | } ICCOMPRESSFRAMES; |
| | |
typedef struct { | | typedef struct { |
DWORD dwFlags; | | DWORD dwFlags; |
LPARAM lParam; | | LPARAM lParam; |
| | |
// messages for Status callback | | // messages for Status callback |
#define ICSTATUS_START 0 | | #define ICSTATUS_START 0 |
#define ICSTATUS_STATUS 1 // l == % done | | #define ICSTATUS_STATUS 1 // l == % done |
#define ICSTATUS_END 2 | | #define ICSTATUS_END 2 |
#define ICSTATUS_ERROR 3 // l == error string (LPSTR) | | #define ICSTATUS_ERROR 3 // l == error string (LPSTR) |
#define ICSTATUS_YIELD 4 | | #define ICSTATUS_YIELD 4 |
// return nonzero means abort operation in progress | | // return nonzero means abort operation in progress |
| | |
|
LONG (CALLBACK *Status) (LPARAM lParam, UINT message, LONG l); | | LONG (CALLBACK *Status) (__in LPARAM lParam, __in UINT message, __in LONG l)
; |
} ICSETSTATUSPROC; | | } ICSETSTATUSPROC; |
| | |
/************************************************************************ | | /************************************************************************ |
************************************************************************/ | | ************************************************************************/ |
| | |
#define ICDECOMPRESS_HURRYUP 0x80000000L // don't draw just buffer (hurry
up!) | | #define ICDECOMPRESS_HURRYUP 0x80000000L // don't draw just buffer (hurry
up!) |
#define ICDECOMPRESS_UPDATE 0x40000000L // don't draw just update screen | | #define ICDECOMPRESS_UPDATE 0x40000000L // don't draw just update screen |
#define ICDECOMPRESS_PREROLL 0x20000000L // this frame is before real sta
rt | | #define ICDECOMPRESS_PREROLL 0x20000000L // this frame is before real sta
rt |
#define ICDECOMPRESS_NULLFRAME 0x10000000L // repeat last frame | | #define ICDECOMPRESS_NULLFRAME 0x10000000L // repeat last frame |
#define ICDECOMPRESS_NOTKEYFRAME 0x08000000L // this frame is not a key frame | | #define ICDECOMPRESS_NOTKEYFRAME 0x08000000L // this frame is not a key frame |
| | |
typedef struct { | | typedef struct { |
DWORD dwFlags; // flags (from AVI index...) | | DWORD dwFlags; // flags (from AVI index...) |
| | |
LPBITMAPINFOHEADER lpbiInput; // BITMAPINFO of compressed data | | LPBITMAPINFOHEADER lpbiInput; // BITMAPINFO of compressed data |
// biSizeImage has the chunk size | | // biSizeImage has the chunk size |
|
| | __field_bcount(lpbiInput->biSizeImage) |
LPVOID lpInput; // compressed data | | LPVOID lpInput; // compressed data |
| | |
LPBITMAPINFOHEADER lpbiOutput; // DIB to decompress to | | LPBITMAPINFOHEADER lpbiOutput; // DIB to decompress to |
|
| | __field_bcount(lpbiOutput->biSizeImage) |
LPVOID lpOutput; | | LPVOID lpOutput; |
DWORD ckid; // ckid from AVI file | | DWORD ckid; // ckid from AVI file |
} ICDECOMPRESS; | | } ICDECOMPRESS; |
| | |
typedef struct { | | typedef struct { |
// | | // |
// same as ICM_DECOMPRESS | | // same as ICM_DECOMPRESS |
// | | // |
DWORD dwFlags; | | DWORD dwFlags; |
| | |
| | |
skipping to change at line 535 | | skipping to change at line 541 |
| | |
/************************************************************************ | | /************************************************************************ |
| | |
ICM function declarations | | ICM function declarations |
| | |
************************************************************************/ | | ************************************************************************/ |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
ICInfo( | | ICInfo( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
OUT ICINFO FAR * lpicinfo | | __out ICINFO FAR * lpicinfo |
); | | ); |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
ICInstall( | | ICInstall( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
IN LPARAM lParam, | | __in LPARAM lParam, |
IN LPSTR szDesc, | | __in LPSTR szDesc, |
IN UINT wFlags | | __in UINT wFlags |
); | | ); |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
ICRemove( | | ICRemove( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
IN UINT wFlags | | __in UINT wFlags |
); | | ); |
| | |
|
| | __success(return != 0) |
LRESULT | | LRESULT |
VFWAPI | | VFWAPI |
ICGetInfo( | | ICGetInfo( |
|
IN HIC hic, | | __in HIC hic, |
OUT ICINFO FAR *picinfo, | | __out_bcount_part(cb,return) ICINFO FAR *picinfo, |
IN DWORD cb | | __in DWORD cb |
); | | ); |
| | |
HIC | | HIC |
VFWAPI | | VFWAPI |
ICOpen( | | ICOpen( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
IN UINT wMode | | __in UINT wMode |
); | | ); |
| | |
HIC | | HIC |
VFWAPI | | VFWAPI |
ICOpenFunction( | | ICOpenFunction( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
IN UINT wMode, | | __in UINT wMode, |
IN FARPROC lpfnHandler | | __in FARPROC lpfnHandler |
); | | ); |
| | |
LRESULT | | LRESULT |
VFWAPI | | VFWAPI |
ICClose( | | ICClose( |
|
IN HIC hic | | __in HIC hic |
); | | ); |
| | |
LRESULT | | LRESULT |
VFWAPI | | VFWAPI |
ICSendMessage( | | ICSendMessage( |
|
IN HIC hic, | | __in HIC hic, |
IN UINT msg, | | __in UINT msg, |
IN DWORD_PTR dw1, | | __in DWORD_PTR dw1, |
IN DWORD_PTR dw2 | | __in DWORD_PTR dw2 |
); | | ); |
#ifndef _WIN32 | | #ifndef _WIN32 |
//this function is unsupported on Win32 as it is non-portable. | | //this function is unsupported on Win32 as it is non-portable. |
LRESULT VFWAPIV ICMessage(HIC hic, UINT msg, UINT cb, ...); | | LRESULT VFWAPIV ICMessage(HIC hic, UINT msg, UINT cb, ...); |
#endif | | #endif |
| | |
/* Values for wFlags of ICInstall() */ | | /* Values for wFlags of ICInstall() */ |
#define ICINSTALL_UNICODE 0x8000 | | #define ICINSTALL_UNICODE 0x8000 |
| | |
#define ICINSTALL_FUNCTION 0x0001 // lParam is a DriverProc (function ptr) | | #define ICINSTALL_FUNCTION 0x0001 // lParam is a DriverProc (function ptr) |
| | |
skipping to change at line 681 | | skipping to change at line 688 |
************************************************************************/ | | ************************************************************************/ |
/* | | /* |
* ICCompress() | | * ICCompress() |
* | | * |
* compress a single frame | | * compress a single frame |
* | | * |
*/ | | */ |
DWORD | | DWORD |
VFWAPIV | | VFWAPIV |
ICCompress( | | ICCompress( |
|
IN HIC hic, | | __in HIC hic, |
IN DWORD dwFlags, // flags | | __in DWORD dwFlags, // flags |
IN LPBITMAPINFOHEADER lpbiOutput, // output format | | __in LPBITMAPINFOHEADER lpbiOutput, // output format |
OUT LPVOID lpData, // output data | | __out_bcount(lpbiOutput->biSizeImage) LPVOID lpData, |
IN LPBITMAPINFOHEADER lpbiInput, // format of frame to compress | | // output data |
IN LPVOID lpBits, // frame data to compress | | __in LPBITMAPINFOHEADER lpbiInput, // format of frame to compres |
OUT LPDWORD lpckid, // ckid for data in AVI file | | s |
OUT LPDWORD lpdwFlags, // flags in the AVI index. | | __in_bcount(lpbiInput->biSizeImage) LPVOID lpBits, |
IN LONG lFrameNum, // frame number of seq. | | // frame data to compress |
IN DWORD dwFrameSize, // reqested size in bytes. (if no | | __out_opt LPDWORD lpckid, // ckid for data in AVI file |
n zero) | | __out_opt LPDWORD lpdwFlags, // flags in the AVI index. |
IN DWORD dwQuality, // quality within one frame | | __in LONG lFrameNum, // frame number of seq. |
IN LPBITMAPINFOHEADER lpbiPrev, // format of previous frame | | __in DWORD dwFrameSize, // reqested size in bytes. (i |
IN LPVOID lpPrev // previous frame | | f non zero) |
| | __in DWORD dwQuality, // quality within one frame |
| | __in_opt LPBITMAPINFOHEADER lpbiPrev, // format of previous frame |
| | __in_bcount_opt(lpbiPrev->biSizeImage) LPVOID lpPrev |
| | // previous frame |
); | | ); |
| | |
/* | | /* |
* ICCompressBegin() | | * ICCompressBegin() |
* | | * |
* start compression from a source format (lpbiInput) to a dest | | * start compression from a source format (lpbiInput) to a dest |
* format (lpbiOuput) is supported. | | * format (lpbiOuput) is supported. |
* | | * |
*/ | | */ |
#define ICCompressBegin(hic, lpbiInput, lpbiOutput) \ | | #define ICCompressBegin(hic, lpbiInput, lpbiOutput) \ |
| | |
skipping to change at line 758 | | skipping to change at line 765 |
* ICDecompress() | | * ICDecompress() |
* | | * |
* decompress a single frame | | * decompress a single frame |
* | | * |
*/ | | */ |
#define ICDECOMPRESS_HURRYUP 0x80000000L // don't draw just buffer (hurry
up!) | | #define ICDECOMPRESS_HURRYUP 0x80000000L // don't draw just buffer (hurry
up!) |
| | |
DWORD | | DWORD |
VFWAPIV | | VFWAPIV |
ICDecompress( | | ICDecompress( |
|
IN HIC hic, | | __in HIC hic, |
IN DWORD dwFlags, // flags (from AVI index...) | | __in DWORD dwFlags, // flags (from AVI index...) |
IN LPBITMAPINFOHEADER lpbiFormat, // BITMAPINFO of compressed data | | __in LPBITMAPINFOHEADER lpbiFormat, // BITMAPINFO of compressed data |
// biSizeImage has the chunk size | | // biSizeImage has the chunk size |
|
IN LPVOID lpData, // data | | __in_bcount(lpbiFormat->biSizeImage) LPVOID lpData, // dat |
IN LPBITMAPINFOHEADER lpbi, // DIB to decompress to | | a |
OUT LPVOID lpBits | | __in LPBITMAPINFOHEADER lpbi, // DIB to decompress to |
| | __out_bcount(lpbi->biSizeImage) LPVOID lpBits |
); | | ); |
| | |
/* | | /* |
* ICDecompressBegin() | | * ICDecompressBegin() |
* | | * |
* start compression from a source format (lpbiInput) to a dest | | * start compression from a source format (lpbiInput) to a dest |
* format (lpbiOutput) is supported. | | * format (lpbiOutput) is supported. |
* | | * |
*/ | | */ |
#define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \ | | #define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \ |
| | |
skipping to change at line 835 | | skipping to change at line 842 |
// | | // |
| | |
/* | | /* |
* ICDecompressEx() | | * ICDecompressEx() |
* | | * |
* decompress a single frame | | * decompress a single frame |
* | | * |
*/ | | */ |
static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
ICDecompressEx( | | ICDecompressEx( |
|
HIC hic, | | __in HIC hic, |
DWORD dwFlags, | | __in DWORD dwFlags, |
LPBITMAPINFOHEADER lpbiSrc, | | __in LPBITMAPINFOHEADER lpbiSrc, |
LPVOID lpSrc, | | __in_bcount(lpbiSrc->biSizeImage) LPVOID lpSrc, |
int xSrc, | | __in int xSrc, |
int ySrc, | | __in int ySrc, |
int dxSrc, | | __in int dxSrc, |
int dySrc, | | __in int dySrc, |
LPBITMAPINFOHEADER lpbiDst, | | __in LPBITMAPINFOHEADER lpbiDst, |
LPVOID lpDst, | | __out_bcount(lpbiDst->biSizeImage) LPVOID lpDst, |
int xDst, | | __in int xDst, |
int yDst, | | __in int yDst, |
int dxDst, | | __in int dxDst, |
int dyDst) | | __in int dyDst) |
{ | | { |
ICDECOMPRESSEX ic; | | ICDECOMPRESSEX ic; |
| | |
ic.dwFlags = dwFlags; | | ic.dwFlags = dwFlags; |
ic.lpbiSrc = lpbiSrc; | | ic.lpbiSrc = lpbiSrc; |
ic.lpSrc = lpSrc; | | ic.lpSrc = lpSrc; |
ic.xSrc = xSrc; | | ic.xSrc = xSrc; |
ic.ySrc = ySrc; | | ic.ySrc = ySrc; |
ic.dxSrc = dxSrc; | | ic.dxSrc = dxSrc; |
ic.dySrc = dySrc; | | ic.dySrc = dySrc; |
| | |
skipping to change at line 880 | | skipping to change at line 887 |
| | |
/* | | /* |
* ICDecompressExBegin() | | * ICDecompressExBegin() |
* | | * |
* start compression from a source format (lpbiInput) to a dest | | * start compression from a source format (lpbiInput) to a dest |
* format (lpbiOutput) is supported. | | * format (lpbiOutput) is supported. |
* | | * |
*/ | | */ |
static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
ICDecompressExBegin( | | ICDecompressExBegin( |
|
HIC hic, | | __in HIC hic, |
DWORD dwFlags, | | __in DWORD dwFlags, |
LPBITMAPINFOHEADER lpbiSrc, | | __in LPBITMAPINFOHEADER lpbiSrc, |
LPVOID lpSrc, | | __in_opt LPVOID lpSrc, |
int xSrc, | | __in int xSrc, |
int ySrc, | | __in int ySrc, |
int dxSrc, | | __in int dxSrc, |
int dySrc, | | __in int dySrc, |
LPBITMAPINFOHEADER lpbiDst, | | __in LPBITMAPINFOHEADER lpbiDst, |
LPVOID lpDst, | | __out_opt LPVOID lpDst, |
int xDst, | | __in int xDst, |
int yDst, | | __in int yDst, |
int dxDst, | | __in int dxDst, |
int dyDst) | | __in int dyDst) |
{ | | { |
ICDECOMPRESSEX ic; | | ICDECOMPRESSEX ic; |
| | |
ic.dwFlags = dwFlags; | | ic.dwFlags = dwFlags; |
ic.lpbiSrc = lpbiSrc; | | ic.lpbiSrc = lpbiSrc; |
ic.lpSrc = lpSrc; | | ic.lpSrc = lpSrc; |
ic.xSrc = xSrc; | | ic.xSrc = xSrc; |
ic.ySrc = ySrc; | | ic.ySrc = ySrc; |
ic.dxSrc = dxSrc; | | ic.dxSrc = dxSrc; |
ic.dySrc = dySrc; | | ic.dySrc = dySrc; |
| | |
skipping to change at line 922 | | skipping to change at line 929 |
// length in lparam2, pointer in lparam1 | | // length in lparam2, pointer in lparam1 |
return ICSendMessage(hic, ICM_DECOMPRESSEX_BEGIN, (DWORD_PTR)&ic, sizeof(ic)
); | | return ICSendMessage(hic, ICM_DECOMPRESSEX_BEGIN, (DWORD_PTR)&ic, sizeof(ic)
); |
} | | } |
| | |
/* | | /* |
* ICDecompressExQuery() | | * ICDecompressExQuery() |
* | | * |
*/ | | */ |
static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
ICDecompressExQuery( | | ICDecompressExQuery( |
|
HIC hic, | | __in HIC hic, |
DWORD dwFlags, | | __in DWORD dwFlags, |
LPBITMAPINFOHEADER lpbiSrc, | | __in LPBITMAPINFOHEADER lpbiSrc, |
LPVOID lpSrc, | | __reserved LPVOID lpSrc, |
int xSrc, | | __in int xSrc, |
int ySrc, | | __in int ySrc, |
int dxSrc, | | __in int dxSrc, |
int dySrc, | | __in int dySrc, |
LPBITMAPINFOHEADER lpbiDst, | | __in_opt LPBITMAPINFOHEADER lpbiDst, |
LPVOID lpDst, | | __out_opt LPVOID lpDst, |
int xDst, | | __in int xDst, |
int yDst, | | __in int yDst, |
int dxDst, | | __in int dxDst, |
int dyDst) | | __in int dyDst) |
{ | | { |
ICDECOMPRESSEX ic; | | ICDECOMPRESSEX ic; |
| | |
ic.dwFlags = dwFlags; | | ic.dwFlags = dwFlags; |
ic.lpbiSrc = lpbiSrc; | | ic.lpbiSrc = lpbiSrc; |
ic.lpSrc = lpSrc; | | ic.lpSrc = lpSrc; |
ic.xSrc = xSrc; | | ic.xSrc = xSrc; |
ic.ySrc = ySrc; | | ic.ySrc = ySrc; |
ic.dxSrc = dxSrc; | | ic.dxSrc = dxSrc; |
ic.dySrc = dySrc; | | ic.dySrc = dySrc; |
| | |
skipping to change at line 983 | | skipping to change at line 990 |
* | | * |
*/ | | */ |
| | |
#define ICDRAW_QUERY 0x00000001L // test for support | | #define ICDRAW_QUERY 0x00000001L // test for support |
#define ICDRAW_FULLSCREEN 0x00000002L // draw to full screen | | #define ICDRAW_FULLSCREEN 0x00000002L // draw to full screen |
#define ICDRAW_HDC 0x00000004L // draw to a HDC/HWND | | #define ICDRAW_HDC 0x00000004L // draw to a HDC/HWND |
| | |
DWORD | | DWORD |
VFWAPIV | | VFWAPIV |
ICDrawBegin( | | ICDrawBegin( |
|
IN HIC hic, | | __in HIC hic, |
IN DWORD dwFlags, // flags | | __in DWORD dwFlags, // flags |
IN HPALETTE hpal, // palette to draw with | | __in_opt HPALETTE hpal, // palette to draw with |
IN HWND hwnd, // window to draw to | | __in_opt HWND hwnd, // window to draw to |
IN HDC hdc, // HDC to draw to | | __in_opt HDC hdc, // HDC to draw to |
IN int xDst, // destination rectangle | | __in int xDst, // destination rectangle |
IN int yDst, | | __in int yDst, |
IN int dxDst, | | __in int dxDst, |
IN int dyDst, | | __in int dyDst, |
IN LPBITMAPINFOHEADER lpbi, // format of frame to draw | | __in LPBITMAPINFOHEADER lpbi, // format of frame to draw |
IN int xSrc, // source rectangle | | __in int xSrc, // source rectangle |
IN int ySrc, | | __in int ySrc, |
IN int dxSrc, | | __in int dxSrc, |
IN int dySrc, | | __in int dySrc, |
IN DWORD dwRate, // frames/second = (dwRate/dwScale) | | __in DWORD dwRate, // frames/second = (dwRate/dwSc |
IN DWORD dwScale | | ale) |
| | __in DWORD dwScale |
); | | ); |
| | |
/* | | /* |
* ICDraw() | | * ICDraw() |
* | | * |
* decompress data directly to the screen | | * decompress data directly to the screen |
* | | * |
*/ | | */ |
| | |
#define ICDRAW_HURRYUP 0x80000000L // don't draw just buffer (hurry up!) | | #define ICDRAW_HURRYUP 0x80000000L // don't draw just buffer (hurry up!) |
#define ICDRAW_UPDATE 0x40000000L // don't draw just update screen | | #define ICDRAW_UPDATE 0x40000000L // don't draw just update screen |
| | |
DWORD | | DWORD |
VFWAPIV | | VFWAPIV |
ICDraw( | | ICDraw( |
|
IN HIC hic, | | __in HIC hic, |
IN DWORD dwFlags, // flags | | __in DWORD dwFlags, // flags |
IN LPVOID lpFormat, // format of frame to decompress | | __in LPVOID lpFormat, // format of frame |
IN LPVOID lpData, // frame data to decompress | | to decompress |
IN DWORD cbData, // size of data | | __in_bcount_opt(cbData) LPVOID lpData, // frame data to d |
IN LONG lTime // time to draw this frame | | ecompress |
| | __in DWORD cbData, // size of data |
| | __in LONG lTime // time to draw th |
| | is frame |
); | | ); |
| | |
// ICMessage is not supported on Win32, so provide a static inline function | | // ICMessage is not supported on Win32, so provide a static inline function |
// to do the same job | | // to do the same job |
static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
ICDrawSuggestFormat( | | ICDrawSuggestFormat( |
|
HIC hic, | | __in HIC hic, |
LPBITMAPINFOHEADER lpbiIn, | | __in LPBITMAPINFOHEADER lpbiIn, |
LPBITMAPINFOHEADER lpbiOut, | | __out LPBITMAPINFOHEADER lpbiOut, |
int dxSrc, | | __in int dxSrc, |
int dySrc, | | __in int dySrc, |
int dxDst, | | __in int dxDst, |
int dyDst, | | __in int dyDst, |
HIC hicDecomp) | | __in HIC hicDecomp) |
{ | | { |
ICDRAWSUGGEST ic; | | ICDRAWSUGGEST ic; |
| | |
ic.lpbiIn = lpbiIn; | | ic.lpbiIn = lpbiIn; |
ic.lpbiSuggest = lpbiOut; | | ic.lpbiSuggest = lpbiOut; |
ic.dxSrc = dxSrc; | | ic.dxSrc = dxSrc; |
ic.dySrc = dySrc; | | ic.dySrc = dySrc; |
ic.dxDst = dxDst; | | ic.dxDst = dxDst; |
ic.dyDst = dyDst; | | ic.dyDst = dyDst; |
ic.hicDecompressor = hicDecomp; | | ic.hicDecompressor = hicDecomp; |
| | |
skipping to change at line 1111 | | skipping to change at line 1118 |
/* | | /* |
* ICSetStatusProc() | | * ICSetStatusProc() |
* | | * |
* Set the status callback function | | * Set the status callback function |
* | | * |
*/ | | */ |
| | |
// ICMessage is not supported on NT | | // ICMessage is not supported on NT |
static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
ICSetStatusProc( | | ICSetStatusProc( |
|
HIC hic, | | __in HIC hic, |
DWORD dwFlags, | | __in DWORD dwFlags, |
LRESULT lParam, | | __in LRESULT lParam, |
LONG (CALLBACK *fpfnStatus)(LPARAM, UINT, LONG) ) | | __in LONG (CALLBACK *fpfnStatus)(__in LPARAM, __in UINT, __in LONG) |
| | ) |
{ | | { |
ICSETSTATUSPROC ic; | | ICSETSTATUSPROC ic; |
| | |
ic.dwFlags = dwFlags; | | ic.dwFlags = dwFlags; |
ic.lParam = lParam; | | ic.lParam = lParam; |
ic.Status = fpfnStatus; | | ic.Status = fpfnStatus; |
| | |
// note that ICM swaps round the length and pointer | | // note that ICM swaps round the length and pointer |
// length in lparam2, pointer in lparam1 | | // length in lparam2, pointer in lparam1 |
return ICSendMessage(hic, ICM_SET_STATUS_PROC, (DWORD_PTR)&ic, sizeof(ic)); | | return ICSendMessage(hic, ICM_SET_STATUS_PROC, (DWORD_PTR)&ic, sizeof(ic)); |
| | |
skipping to change at line 1142 | | skipping to change at line 1149 |
| | |
#define ICDecompressOpen(fccType, fccHandler, lpbiIn, lpbiOut) \ | | #define ICDecompressOpen(fccType, fccHandler, lpbiIn, lpbiOut) \ |
ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, ICMODE_DECOMPRESS) | | ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, ICMODE_DECOMPRESS) |
| | |
#define ICDrawOpen(fccType, fccHandler, lpbiIn) \ | | #define ICDrawOpen(fccType, fccHandler, lpbiIn) \ |
ICLocate(fccType, fccHandler, lpbiIn, NULL, ICMODE_DRAW) | | ICLocate(fccType, fccHandler, lpbiIn, NULL, ICMODE_DRAW) |
| | |
HIC | | HIC |
VFWAPI | | VFWAPI |
ICLocate( | | ICLocate( |
|
IN DWORD fccType, | | __in DWORD fccType, |
IN DWORD fccHandler, | | __in DWORD fccHandler, |
IN LPBITMAPINFOHEADER lpbiIn, | | __in LPBITMAPINFOHEADER lpbiIn, |
IN LPBITMAPINFOHEADER lpbiOut, | | __in_opt LPBITMAPINFOHEADER lpbiOut, |
IN WORD wFlags | | __in WORD wFlags |
); | | ); |
| | |
HIC | | HIC |
VFWAPI | | VFWAPI |
ICGetDisplayFormat( | | ICGetDisplayFormat( |
|
IN HIC hic, | | __in_opt HIC hic, |
IN LPBITMAPINFOHEADER lpbiIn, | | __in LPBITMAPINFOHEADER lpbiIn, |
OUT LPBITMAPINFOHEADER lpbiOut, | | __out LPBITMAPINFOHEADER lpbiOut, |
IN int BitDepth, | | __in int BitDepth, |
IN int dx, | | __in int dx, |
IN int dy | | __in int dy |
); | | ); |
| | |
/************************************************************************ | | /************************************************************************ |
Higher level functions | | Higher level functions |
************************************************************************/ | | ************************************************************************/ |
| | |
HANDLE | | HANDLE |
VFWAPI | | VFWAPI |
ICImageCompress( | | ICImageCompress( |
|
IN HIC hic, // compressor to use | | __in HIC hic, // compressor to use |
IN UINT uiFlags, // flags (none yet) | | __in UINT uiFlags, // flags (none yet) |
IN LPBITMAPINFO lpbiIn, // format to compress from | | __in LPBITMAPINFO lpbiIn, // format to compress from |
IN LPVOID lpBits, // data to compress | | __in LPVOID lpBits, // data to compress |
IN LPBITMAPINFO lpbiOut, // compress to this (NULL ==> default) | | __in_opt LPBITMAPINFO lpbiOut, // compress to this (NULL ==> d |
IN LONG lQuality, // quality to use | | efault) |
IN OUT LONG FAR * plSize // compress to this size (0=whatever) | | __in LONG lQuality, // quality to use |
| | __inout_opt LONG FAR * plSize // compress to this size (0=wha |
| | tever) |
); | | ); |
| | |
HANDLE | | HANDLE |
VFWAPI | | VFWAPI |
ICImageDecompress( | | ICImageDecompress( |
|
IN HIC hic, // compressor to use | | __in_opt HIC hic, // compressor to use |
IN UINT uiFlags, // flags (none yet) | | __in UINT uiFlags, // flags (none yet) |
IN LPBITMAPINFO lpbiIn, // format to decompress from | | __in LPBITMAPINFO lpbiIn, // format to decompress from |
IN LPVOID lpBits, // data to decompress | | __in LPVOID lpBits, // data to decompress |
IN LPBITMAPINFO lpbiOut // decompress to this (NULL ==> default) | | __in_opt LPBITMAPINFO lpbiOut // decompress to this (NULL ==> def |
| | ault) |
); | | ); |
| | |
// | | // |
// Structure used by ICSeqCompressFrame and ICCompressorChoose routines | | // Structure used by ICSeqCompressFrame and ICCompressorChoose routines |
// Make sure this matches the autodoc in icm.c! | | // Make sure this matches the autodoc in icm.c! |
// | | // |
typedef struct { | | typedef struct { |
LONG cbSize; // set to sizeof(COMPVARS) before | | LONG cbSize; // set to sizeof(COMPVARS) before |
// calling ICCompressorChoose | | // calling ICCompressorChoose |
DWORD dwFlags; // see below... | | DWORD dwFlags; // see below... |
| | |
skipping to change at line 1221 | | skipping to change at line 1228 |
// FLAGS for dwFlags element of COMPVARS structure: | | // FLAGS for dwFlags element of COMPVARS structure: |
// set this flag if you initialize COMPVARS before calling ICCompressorChoose | | // set this flag if you initialize COMPVARS before calling ICCompressorChoose |
#define ICMF_COMPVARS_VALID 0x00000001 // COMPVARS contains valid data | | #define ICMF_COMPVARS_VALID 0x00000001 // COMPVARS contains valid data |
| | |
// | | // |
// allows user to choose compressor, quality etc... | | // allows user to choose compressor, quality etc... |
// | | // |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
ICCompressorChoose( | | ICCompressorChoose( |
|
IN HWND hwnd, // parent window for dialog | | __in_opt HWND hwnd, // parent window for dialog |
IN UINT uiFlags, // flags | | __in UINT uiFlags, // flags |
IN LPVOID pvIn, // input format (optional) | | __in_opt LPVOID pvIn, // input format (optional) |
IN LPVOID lpData, // input data (optional) | | __in_opt LPVOID lpData, // input data (optional) |
IN OUT PCOMPVARS pc, // data about the compressor/dlg | | __inout PCOMPVARS pc, // data about the compressor/dlg |
IN LPSTR lpszTitle // dialog title (optional) | | __in_opt LPSTR lpszTitle // dialog title (optional) |
); | | ); |
| | |
// defines for uiFlags | | // defines for uiFlags |
#define ICMF_CHOOSE_KEYFRAME 0x0001 // show KeyFrame Every box | | #define ICMF_CHOOSE_KEYFRAME 0x0001 // show KeyFrame Every box |
#define ICMF_CHOOSE_DATARATE 0x0002 // show DataRate box | | #define ICMF_CHOOSE_DATARATE 0x0002 // show DataRate box |
#define ICMF_CHOOSE_PREVIEW 0x0004 // allow expanded preview dialog | | #define ICMF_CHOOSE_PREVIEW 0x0004 // allow expanded preview dialog |
#define ICMF_CHOOSE_ALLCOMPRESSORS 0x0008 // don't only show those that | | #define ICMF_CHOOSE_ALLCOMPRESSORS 0x0008 // don't only show those that |
// can handle the input format | | // can handle the input format |
// or input data | | // or input data |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
ICSeqCompressFrameStart( | | ICSeqCompressFrameStart( |
|
IN PCOMPVARS pc, | | __in PCOMPVARS pc, |
IN LPBITMAPINFO lpbiIn | | __in LPBITMAPINFO lpbiIn |
); | | ); |
| | |
void | | void |
VFWAPI | | VFWAPI |
ICSeqCompressFrameEnd( | | ICSeqCompressFrameEnd( |
|
IN PCOMPVARS pc | | __in PCOMPVARS pc |
); | | ); |
| | |
LPVOID | | LPVOID |
VFWAPI | | VFWAPI |
ICSeqCompressFrame( | | ICSeqCompressFrame( |
|
IN PCOMPVARS pc, // set by ICCompressorChoose | | __in PCOMPVARS pc, // set by ICCompressorChoose |
IN UINT uiFlags, // flags | | __reserved UINT uiFlags, // flags |
IN LPVOID lpBits, // input DIB bits | | __in LPVOID lpBits, // input DIB bits |
OUT BOOL FAR *pfKey, // did it end up being a key frame? | | __out BOOL FAR *pfKey, // did it end up being a key |
IN OUT LONG FAR *plSize // size to compress to/of returned i | | frame? |
mage | | __inout_opt LONG FAR *plSize // size to compress to/of ret |
| | urned image |
); | | ); |
| | |
void | | void |
VFWAPI | | VFWAPI |
ICCompressorFree( | | ICCompressorFree( |
IN PCOMPVARS pc | | IN PCOMPVARS pc |
); | | ); |
| | |
#endif /* NOCOMPMAN */ | | #endif /* NOCOMPMAN */ |
| | |
| | |
skipping to change at line 1327 | | skipping to change at line 1334 |
extern HDRAWDIB VFWAPI DrawDibOpen(void); | | extern HDRAWDIB VFWAPI DrawDibOpen(void); |
| | |
/* | | /* |
** DrawDibClose() | | ** DrawDibClose() |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibClose( | | DrawDibClose( |
|
IN HDRAWDIB hdd | | __in HDRAWDIB hdd |
); | | ); |
| | |
/* | | /* |
** DrawDibGetBuffer() | | ** DrawDibGetBuffer() |
** | | ** |
*/ | | */ |
extern | | extern |
LPVOID | | LPVOID |
VFWAPI | | VFWAPI |
DrawDibGetBuffer( | | DrawDibGetBuffer( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
OUT LPBITMAPINFOHEADER lpbi, | | __out LPBITMAPINFOHEADER lpbi, |
IN DWORD dwSize, | | __in DWORD dwSize, |
IN DWORD dwFlags | | __in DWORD dwFlags |
); | | ); |
| | |
/* // ;Internal | | /* // ;Internal |
** DrawDibError() // ;Internal | | ** DrawDibError() // ;Internal |
*/ // ;Internal | | */ // ;Internal |
extern UINT VFWAPI DrawDibError(HDRAWDIB hdd); // ;Internal | | extern UINT VFWAPI DrawDibError(HDRAWDIB hdd); // ;Internal |
// ;Internal | | // ;Internal |
/* | | /* |
** DrawDibGetPalette() | | ** DrawDibGetPalette() |
** | | ** |
** get the palette used for drawing DIBs | | ** get the palette used for drawing DIBs |
** | | ** |
*/ | | */ |
extern | | extern |
HPALETTE | | HPALETTE |
VFWAPI | | VFWAPI |
DrawDibGetPalette( | | DrawDibGetPalette( |
|
IN HDRAWDIB hdd | | __in HDRAWDIB hdd |
); | | ); |
| | |
/* | | /* |
** DrawDibSetPalette() | | ** DrawDibSetPalette() |
** | | ** |
** get the palette used for drawing DIBs | | ** get the palette used for drawing DIBs |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibSetPalette( | | DrawDibSetPalette( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN HPALETTE hpal | | __in_opt HPALETTE hpal |
); | | ); |
| | |
/* | | /* |
** DrawDibChangePalette() | | ** DrawDibChangePalette() |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibChangePalette( | | DrawDibChangePalette( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN int iStart, | | __in int iStart, |
IN int iLen, | | __in int iLen, |
IN LPPALETTEENTRY lppe | | __in_ecount(iLen) LPPALETTEENTRY lppe |
); | | ); |
| | |
/* | | /* |
** DrawDibRealize() | | ** DrawDibRealize() |
** | | ** |
** realize the palette in a HDD | | ** realize the palette in a HDD |
** | | ** |
*/ | | */ |
extern | | extern |
UINT | | UINT |
VFWAPI | | VFWAPI |
DrawDibRealize( | | DrawDibRealize( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN HDC hdc, | | __in HDC hdc, |
IN BOOL fBackground | | __in BOOL fBackground |
); | | ); |
| | |
/* | | /* |
** DrawDibStart() | | ** DrawDibStart() |
** | | ** |
** start of streaming playback | | ** start of streaming playback |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibStart( | | DrawDibStart( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN DWORD rate | | __in DWORD rate |
); | | ); |
| | |
/* | | /* |
** DrawDibStop() | | ** DrawDibStop() |
** | | ** |
** start of streaming playback | | ** start of streaming playback |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibStop( | | DrawDibStop( |
|
IN HDRAWDIB hdd | | __in HDRAWDIB hdd |
); | | ); |
| | |
/* | | /* |
** DrawDibBegin() | | ** DrawDibBegin() |
** | | ** |
** prepare to draw | | ** prepare to draw |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibBegin( | | DrawDibBegin( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN HDC hdc, | | __in_opt HDC hdc, |
IN int dxDst, | | __in int dxDst, |
IN int dyDst, | | __in int dyDst, |
IN LPBITMAPINFOHEADER lpbi, | | __in LPBITMAPINFOHEADER lpbi, |
IN int dxSrc, | | __in int dxSrc, |
IN int dySrc, | | __in int dySrc, |
IN UINT wFlags | | __in UINT wFlags |
); | | ); |
| | |
/* | | /* |
** DrawDibDraw() | | ** DrawDibDraw() |
** | | ** |
** actualy draw a DIB to the screen. | | ** actualy draw a DIB to the screen. |
** | | ** |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibDraw( | | DrawDibDraw( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
IN HDC hdc, | | __in HDC hdc, |
IN int xDst, | | __in int xDst, |
IN int yDst, | | __in int yDst, |
IN int dxDst, | | __in int dxDst, |
IN int dyDst, | | __in int dyDst, |
IN LPBITMAPINFOHEADER lpbi, | | __in_opt LPBITMAPINFOHEADER lpbi, |
IN LPVOID lpBits, | | __in_opt LPVOID lpBits, |
IN int xSrc, | | __in int xSrc, |
IN int ySrc, | | __in int ySrc, |
IN int dxSrc, | | __in int dxSrc, |
IN int dySrc, | | __in int dySrc, |
IN UINT wFlags | | __in UINT wFlags |
); | | ); |
| | |
/* | | /* |
** DrawDibUpdate() | | ** DrawDibUpdate() |
** | | ** |
** redraw the last image (may only be valid with DDF_BUFFER) | | ** redraw the last image (may only be valid with DDF_BUFFER) |
*/ | | */ |
#define DrawDibUpdate(hdd, hdc, x, y) \ | | #define DrawDibUpdate(hdd, hdc, x, y) \ |
DrawDibDraw(hdd, hdc, x, y, 0, 0, NULL, NULL, 0, 0, 0, 0, DDF_UPDATE) | | DrawDibDraw(hdd, hdc, x, y, 0, 0, NULL, NULL, 0, 0, 0, 0, DDF_UPDATE) |
| | |
/* | | /* |
** DrawDibEnd() | | ** DrawDibEnd() |
*/ | | */ |
extern | | extern |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibEnd( | | DrawDibEnd( |
|
IN HDRAWDIB hdd | | __in HDRAWDIB hdd |
); | | ); |
| | |
/* | | /* |
** DrawDibTime() [for debugging purposes only] | | ** DrawDibTime() [for debugging purposes only] |
*/ | | */ |
typedef struct { | | typedef struct { |
LONG timeCount; | | LONG timeCount; |
LONG timeDraw; | | LONG timeDraw; |
LONG timeDecompress; | | LONG timeDecompress; |
LONG timeDither; | | LONG timeDither; |
LONG timeStretch; | | LONG timeStretch; |
LONG timeBlt; | | LONG timeBlt; |
LONG timeSetDIBits; | | LONG timeSetDIBits; |
} DRAWDIBTIME, FAR *LPDRAWDIBTIME; | | } DRAWDIBTIME, FAR *LPDRAWDIBTIME; |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
DrawDibTime( | | DrawDibTime( |
|
IN HDRAWDIB hdd, | | __in HDRAWDIB hdd, |
OUT LPDRAWDIBTIME lpddtime | | __out LPDRAWDIBTIME lpddtime |
); | | ); |
| | |
/* display profiling */ | | /* display profiling */ |
#define PD_CAN_DRAW_DIB 0x0001 /* if you can draw at all */ | | #define PD_CAN_DRAW_DIB 0x0001 /* if you can draw at all */ |
#define PD_CAN_STRETCHDIB 0x0002 /* basicly RC_STRETCHDIB */ | | #define PD_CAN_STRETCHDIB 0x0002 /* basicly RC_STRETCHDIB */ |
#define PD_STRETCHDIB_1_1_OK 0x0004 /* is it fast? */ | | #define PD_STRETCHDIB_1_1_OK 0x0004 /* is it fast? */ |
#define PD_STRETCHDIB_1_2_OK 0x0008 /* ... */ | | #define PD_STRETCHDIB_1_2_OK 0x0008 /* ... */ |
#define PD_STRETCHDIB_1_N_OK 0x0010 /* ... */ | | #define PD_STRETCHDIB_1_N_OK 0x0010 /* ... */ |
| | |
LRESULT | | LRESULT |
VFWAPI | | VFWAPI |
DrawDibProfileDisplay( | | DrawDibProfileDisplay( |
|
IN LPBITMAPINFOHEADER lpbi | | __in LPBITMAPINFOHEADER lpbi |
); | | ); |
| | |
#ifdef DRAWDIB_INCLUDE_STRETCHDIB | | #ifdef DRAWDIB_INCLUDE_STRETCHDIB |
void WINAPI StretchDIB( | | void WINAPI StretchDIB( |
|
LPBITMAPINFOHEADER biDst, | | __in LPBITMAPINFOHEADER biDst, |
LPVOID lpDst, | | __out LPVOID lpDst, |
int DstX, | | __in int DstX, |
int DstY, | | __in int DstY, |
int DstXE, | | __in int DstXE, |
int DstYE, | | __in int DstYE, |
LPBITMAPINFOHEADER biSrc, | | __in LPBITMAPINFOHEADER biSrc, |
LPVOID lpSrc, | | __in LPVOID lpSrc, |
int SrcX, | | __in int SrcX, |
int SrcY, | | __in int SrcY, |
int SrcXE, | | __in int SrcXE, |
int SrcYE); | | __in int SrcYE); |
#endif | | #endif |
| | |
#endif /* NODRAWDIB */ | | #endif /* NODRAWDIB */ |
| | |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* AVIFMT - AVI file format definitions | | * AVIFMT - AVI file format definitions |
* | | * |
****************************************************************************/ | | ****************************************************************************/ |
| | |
| | |
skipping to change at line 2033 | | skipping to change at line 2040 |
/* - - - - - - - - */ | | /* - - - - - - - - */ |
| | |
/****** AVI Stream Interface *******************************************/ | | /****** AVI Stream Interface *******************************************/ |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IAVIStream | | #define INTERFACE IAVIStream |
| | |
DECLARE_INTERFACE_(IAVIStream, IUnknown) | | DECLARE_INTERFACE_(IAVIStream, IUnknown) |
{ | | { |
// *** IUnknown methods *** | | // *** IUnknown methods *** |
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, __deref_out LPVOID FAR* ppvObj
) PURE; |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | | STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
STDMETHOD_(ULONG,Release) (THIS) PURE; | | STDMETHOD_(ULONG,Release) (THIS) PURE; |
| | |
// *** IAVIStream methods *** | | // *** IAVIStream methods *** |
STDMETHOD(Create) (THIS_ LPARAM lParam1, LPARAM lParam2) PURE ; | | STDMETHOD(Create) (THIS_ LPARAM lParam1, LPARAM lParam2) PURE ; |
|
STDMETHOD(Info) (THIS_ AVISTREAMINFOW FAR * psi, LONG lSize) PURE ; | | STDMETHOD(Info) (THIS_ __out_bcount(lSize) AVISTREAMINFOW FAR * psi, |
STDMETHOD_(LONG, FindSample)(THIS_ LONG lPos, LONG lFlags) PURE ; | | __in LONG lSize) PURE ; |
STDMETHOD(ReadFormat) (THIS_ LONG lPos, | | STDMETHOD_(LONG, FindSample)(THIS_ __in LONG lPos, __in LONG lFlags) PURE ; |
LPVOID lpFormat, LONG FAR *lpcbFormat) PURE ; | | STDMETHOD(ReadFormat) (THIS_ __in LONG lPos, |
STDMETHOD(SetFormat) (THIS_ LONG lPos, | | __out_bcount_part_opt(*lpcbFormat, *lpcbFormat) LPVOI |
LPVOID lpFormat, LONG cbFormat) PURE ; | | D lpFormat, __inout LONG FAR *lpcbFormat) PURE ; |
STDMETHOD(Read) (THIS_ LONG lStart, LONG lSamples, | | STDMETHOD(SetFormat) (THIS_ __in LONG lPos, |
LPVOID lpBuffer, LONG cbBuffer, | | __in_bcount(cbFormat) LPVOID lpFormat, __in LONG cbFo |
LONG FAR * plBytes, LONG FAR * plSamples) PURE ; | | rmat) PURE ; |
STDMETHOD(Write) (THIS_ LONG lStart, LONG lSamples, | | STDMETHOD(Read) (THIS_ __in LONG lStart, __in LONG lSamples, |
LPVOID lpBuffer, LONG cbBuffer, | | __out_bcount_opt(cbBuffer) LPVOID lpBuffer, __in LONG |
DWORD dwFlags, | | cbBuffer, |
LONG FAR *plSampWritten, | | __out_opt LONG FAR * plBytes, __out_opt LONG FAR * pl |
LONG FAR *plBytesWritten) PURE ; | | Samples) PURE ; |
STDMETHOD(Delete) (THIS_ LONG lStart, LONG lSamples) PURE; | | STDMETHOD(Write) (THIS_ __in LONG lStart, __in LONG lSamples, |
STDMETHOD(ReadData) (THIS_ DWORD fcc, LPVOID lp, LONG FAR *lpcb) PURE ; | | __in_bcount(cbBuffer) LPVOID lpBuffer, __in LONG cbBu |
STDMETHOD(WriteData) (THIS_ DWORD fcc, LPVOID lp, LONG cb) PURE ; | | ffer, |
| | __in DWORD dwFlags, |
| | __out_opt LONG FAR *plSampWritten, |
| | __out_opt LONG FAR *plBytesWritten) PURE ; |
| | STDMETHOD(Delete) (THIS_ __in LONG lStart, __in LONG lSamples) PURE; |
| | STDMETHOD(ReadData) (THIS_ __in DWORD fcc, __out_bcount_part_opt(*lpcb, * |
| | lpcb) LPVOID lp, __inout LONG FAR *lpcb) PURE ; |
| | STDMETHOD(WriteData) (THIS_ __in DWORD fcc, __in_bcount(cb) LPVOID lp, __i |
| | n LONG cb) PURE ; |
#ifdef _WIN32 | | #ifdef _WIN32 |
|
STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, | | STDMETHOD(SetInfo) (THIS_ __in_bcount(cbInfo) AVISTREAMINFOW FAR * lpInfo, |
LONG cbInfo) PURE; | | __in LONG cbInfo) PURE; |
#else | | #else |
STDMETHOD(Reserved1) (THIS) PURE; | | STDMETHOD(Reserved1) (THIS) PURE; |
STDMETHOD(Reserved2) (THIS) PURE; | | STDMETHOD(Reserved2) (THIS) PURE; |
STDMETHOD(Reserved3) (THIS) PURE; | | STDMETHOD(Reserved3) (THIS) PURE; |
STDMETHOD(Reserved4) (THIS) PURE; | | STDMETHOD(Reserved4) (THIS) PURE; |
STDMETHOD(Reserved5) (THIS) PURE; | | STDMETHOD(Reserved5) (THIS) PURE; |
#endif | | #endif |
}; | | }; |
| | |
typedef IAVIStream FAR* PAVISTREAM; | | typedef IAVIStream FAR* PAVISTREAM; |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IAVIStreaming | | #define INTERFACE IAVIStreaming |
| | |
DECLARE_INTERFACE_(IAVIStreaming, IUnknown) | | DECLARE_INTERFACE_(IAVIStreaming, IUnknown) |
{ | | { |
// *** IUnknown methods *** | | // *** IUnknown methods *** |
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, __deref_out LPVOID FAR* ppvObj
) PURE; |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | | STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
STDMETHOD_(ULONG,Release) (THIS) PURE; | | STDMETHOD_(ULONG,Release) (THIS) PURE; |
| | |
// *** IAVIStreaming methods *** | | // *** IAVIStreaming methods *** |
STDMETHOD(Begin) (THIS_ | | STDMETHOD(Begin) (THIS_ |
|
LONG lStart, // start of what we expect | | __in LONG lStart, // start of what we expect |
// to play | | // to play |
|
LONG lEnd, // expected end, or -1 | | __in LONG lEnd, // expected end, or -1 |
LONG lRate) PURE; // Should this be a float? | | __in LONG lRate) PURE; // Should this be a float? |
STDMETHOD(End) (THIS) PURE; | | STDMETHOD(End) (THIS) PURE; |
}; | | }; |
| | |
typedef IAVIStreaming FAR* PAVISTREAMING; | | typedef IAVIStreaming FAR* PAVISTREAMING; |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IAVIEditStream | | #define INTERFACE IAVIEditStream |
| | |
DECLARE_INTERFACE_(IAVIEditStream, IUnknown) | | DECLARE_INTERFACE_(IAVIEditStream, IUnknown) |
{ | | { |
// *** IUnknown methods *** | | // *** IUnknown methods *** |
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, __deref_out LPVOID FAR* ppvObj
) PURE; |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | | STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
STDMETHOD_(ULONG,Release) (THIS) PURE; | | STDMETHOD_(ULONG,Release) (THIS) PURE; |
| | |
// *** IAVIEditStream methods *** | | // *** IAVIEditStream methods *** |
|
STDMETHOD(Cut) (THIS_ LONG FAR *plStart, | | STDMETHOD(Cut) (THIS_ __inout LONG FAR *plStart, |
LONG FAR *plLength, | | __inout LONG FAR *plLength, |
PAVISTREAM FAR * ppResult) PURE; | | __deref_out PAVISTREAM FAR * ppResult) PURE; |
STDMETHOD(Copy) (THIS_ LONG FAR *plStart, | | STDMETHOD(Copy) (THIS_ __inout LONG FAR *plStart, |
LONG FAR *plLength, | | __inout LONG FAR *plLength, |
PAVISTREAM FAR * ppResult) PURE; | | __deref_out PAVISTREAM FAR * ppResult) PURE; |
STDMETHOD(Paste) (THIS_ LONG FAR *plPos, | | STDMETHOD(Paste) (THIS_ __inout LONG FAR *plPos, |
LONG FAR *plLength, | | __inout LONG FAR *plLength, |
PAVISTREAM pstream, | | __inout PAVISTREAM pstream, |
LONG lStart, | | __in LONG lStart, |
LONG lEnd) PURE; | | __in LONG lEnd) PURE; |
STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; | | STDMETHOD(Clone) (THIS_ __deref_out PAVISTREAM FAR *ppResult) PURE; |
STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, | | STDMETHOD(SetInfo) (THIS_ __in_bcount(cbInfo) AVISTREAMINFOW FAR * lpInfo, |
LONG cbInfo) PURE; | | __in LONG cbInfo) PURE; |
}; | | }; |
| | |
typedef IAVIEditStream FAR* PAVIEDITSTREAM; | | typedef IAVIEditStream FAR* PAVIEDITSTREAM; |
| | |
/****** AVI File Interface *******************************************/ | | /****** AVI File Interface *******************************************/ |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IAVIPersistFile | | #define INTERFACE IAVIPersistFile |
| | |
DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) | | DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) |
| | |
skipping to change at line 2139 | | skipping to change at line 2146 |
| | |
typedef IAVIPersistFile FAR* PAVIPERSISTFILE; | | typedef IAVIPersistFile FAR* PAVIPERSISTFILE; |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IAVIFile | | #define INTERFACE IAVIFile |
#define PAVIFILE IAVIFile FAR* | | #define PAVIFILE IAVIFile FAR* |
| | |
DECLARE_INTERFACE_(IAVIFile, IUnknown) | | DECLARE_INTERFACE_(IAVIFile, IUnknown) |
{ | | { |
// *** IUnknown methods *** | | // *** IUnknown methods *** |
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, __deref_out LPVOID FAR* ppvObj
) PURE; |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | | STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
STDMETHOD_(ULONG,Release) (THIS) PURE; | | STDMETHOD_(ULONG,Release) (THIS) PURE; |
| | |
// *** IAVIFile methods *** | | // *** IAVIFile methods *** |
STDMETHOD(Info) (THIS_ | | STDMETHOD(Info) (THIS_ |
|
AVIFILEINFOW FAR * pfi, | | __out_bcount(lSize) AVIFILEINFOW FAR * pfi, |
LONG lSize) PURE; | | __in LONG lSize) PURE; |
STDMETHOD(GetStream) (THIS_ | | STDMETHOD(GetStream) (THIS_ |
|
PAVISTREAM FAR * ppStream, | | __deref_out PAVISTREAM FAR * ppStream, |
DWORD fccType, | | __in DWORD fccType, |
LONG lParam) PURE; | | __in LONG lParam) PURE; |
STDMETHOD(CreateStream) (THIS_ | | STDMETHOD(CreateStream) (THIS_ |
|
PAVISTREAM FAR * ppStream, | | __deref_out PAVISTREAM FAR * ppStream, |
AVISTREAMINFOW FAR * psi) PURE; | | __in AVISTREAMINFOW FAR * psi) PURE; |
STDMETHOD(WriteData) (THIS_ | | STDMETHOD(WriteData) (THIS_ |
|
DWORD ckid, | | __in DWORD ckid, |
LPVOID lpData, | | __in_bcount(cbData) LPVOID lpData, |
LONG cbData) PURE; | | __in LONG cbData) PURE; |
STDMETHOD(ReadData) (THIS_ | | STDMETHOD(ReadData) (THIS_ |
|
DWORD ckid, | | __in DWORD ckid, |
LPVOID lpData, | | __out_bcount_part(*lpcbData, *lpcbData) LPV |
LONG FAR *lpcbData) PURE; | | OID lpData, |
| | __inout LONG FAR *lpcbData) PURE; |
STDMETHOD(EndRecord) (THIS) PURE; | | STDMETHOD(EndRecord) (THIS) PURE; |
STDMETHOD(DeleteStream) (THIS_ | | STDMETHOD(DeleteStream) (THIS_ |
|
DWORD fccType, | | __in DWORD fccType, |
LONG lParam) PURE; | | __in LONG lParam) PURE; |
}; | | }; |
| | |
#undef PAVIFILE | | #undef PAVIFILE |
typedef IAVIFile FAR* PAVIFILE; | | typedef IAVIFile FAR* PAVIFILE; |
| | |
/****** GetFrame Interface *******************************************/ | | /****** GetFrame Interface *******************************************/ |
| | |
#undef INTERFACE | | #undef INTERFACE |
#define INTERFACE IGetFrame | | #define INTERFACE IGetFrame |
#define PGETFRAME IGetFrame FAR* | | #define PGETFRAME IGetFrame FAR* |
| | |
DECLARE_INTERFACE_(IGetFrame, IUnknown) | | DECLARE_INTERFACE_(IGetFrame, IUnknown) |
{ | | { |
// *** IUnknown methods *** | | // *** IUnknown methods *** |
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, __deref_out LPVOID FAR* ppvObj
) PURE; |
STDMETHOD_(ULONG,AddRef) (THIS) PURE; | | STDMETHOD_(ULONG,AddRef) (THIS) PURE; |
STDMETHOD_(ULONG,Release) (THIS) PURE; | | STDMETHOD_(ULONG,Release) (THIS) PURE; |
| | |
// *** IGetFrame methods *** | | // *** IGetFrame methods *** |
| | |
|
STDMETHOD_(LPVOID,GetFrame) (THIS_ LONG lPos) PURE; | | STDMETHOD_(LPVOID,GetFrame) (THIS_ __in LONG lPos) PURE; |
// STDMETHOD_(LPVOID,GetFrameData) (THIS_ LONG lPos) PURE; | | // STDMETHOD_(LPVOID,GetFrameData) (THIS_ __in LONG lPos) PURE; |
| | |
|
STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; | | STDMETHOD(Begin) (THIS_ __in LONG lStart, __in LONG lEnd, __in LONG lRate) P
URE; |
STDMETHOD(End) (THIS) PURE; | | STDMETHOD(End) (THIS) PURE; |
| | |
|
STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, i
nt y, int dx, int dy) PURE; | | STDMETHOD(SetFormat) (THIS_ __in LPBITMAPINFOHEADER lpbi, __in_opt LPVOID lp
Bits, __in int x, __in int y, __in int dx, __in int dy) PURE; |
| | |
// STDMETHOD(DrawFrameStart) (THIS) PURE; | | // STDMETHOD(DrawFrameStart) (THIS) PURE; |
|
// STDMETHOD(DrawFrame) (THIS_ LONG lPos, HDC hdc, int x, int y, int dx, int dy
) PURE; | | // STDMETHOD(DrawFrame) (THIS_ __in LONG lPos, HDC hdc, __in int x, __in int y,
__in int dx, __in int dy) PURE; |
// STDMETHOD(DrawFrameEnd) (THIS) PURE; | | // STDMETHOD(DrawFrameEnd) (THIS) PURE; |
}; | | }; |
| | |
#undef PGETFRAME | | #undef PGETFRAME |
typedef IGetFrame FAR* PGETFRAME; | | typedef IGetFrame FAR* PGETFRAME; |
| | |
/****** GUIDs *******************************************/ | | /****** GUIDs *******************************************/ |
| | |
#define DEFINE_AVIGUID(name, l, w1, w2) \ | | #define DEFINE_AVIGUID(name, l, w1, w2) \ |
DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46) | | DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46) |
| | |
skipping to change at line 2234 | | skipping to change at line 2241 |
// functions | | // functions |
// | | // |
| | |
STDAPI_(void) AVIFileInit(void); // Call this first! | | STDAPI_(void) AVIFileInit(void); // Call this first! |
STDAPI_(void) AVIFileExit(void); | | STDAPI_(void) AVIFileExit(void); |
| | |
STDAPI_(ULONG) AVIFileAddRef (PAVIFILE pfile); | | STDAPI_(ULONG) AVIFileAddRef (PAVIFILE pfile); |
STDAPI_(ULONG) AVIFileRelease (PAVIFILE pfile); | | STDAPI_(ULONG) AVIFileRelease (PAVIFILE pfile); |
| | |
#ifdef _WIN32 | | #ifdef _WIN32 |
|
STDAPI AVIFileOpenA (PAVIFILE FAR * ppfile, LPCSTR szFile, | | STDAPI AVIFileOpenA (__deref_out PAVIFILE FAR * ppfile, __in LPCSTR szFile |
UINT uMode, LPCLSID lpHandler); | | , |
STDAPI AVIFileOpenW (PAVIFILE FAR * ppfile, LPCWSTR szFile, | | UINT uMode, __in_opt LPCLSID lpHandler); |
UINT uMode, LPCLSID lpHandler); | | STDAPI AVIFileOpenW (__deref_out PAVIFILE FAR * ppfile, __in LPCWSTR szFil |
| | e, |
| | UINT uMode, __in_opt LPCLSID lpHandler); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIFileOpen AVIFileOpenW | | #define AVIFileOpen AVIFileOpenW |
#else | | #else |
#define AVIFileOpen AVIFileOpenA | | #define AVIFileOpen AVIFileOpenA |
#endif | | #endif |
#else // win16 | | #else // win16 |
STDAPI AVIFileOpen (PAVIFILE FAR * ppfile, LPCSTR szFile, | | STDAPI AVIFileOpen (PAVIFILE FAR * ppfile, LPCSTR szFile, |
UINT uMode, LPCLSID lpHandler); | | UINT uMode, LPCLSID lpHandler); |
#define AVIFileOpenW AVIFileOpen /* ;Internal */ | | #define AVIFileOpenW AVIFileOpen /* ;Internal */ |
#endif | | #endif |
| | |
#ifdef _WIN32 | | #ifdef _WIN32 |
|
STDAPI AVIFileInfoW (PAVIFILE pfile, LPAVIFILEINFOW pfi, LONG lSize); | | STDAPI AVIFileInfoW (__in PAVIFILE pfile, __out_bcount(lSize) LPAVIFILEINFOW pfi |
STDAPI AVIFileInfoA (PAVIFILE pfile, LPAVIFILEINFOA pfi, LONG lSize); | | , __in LONG lSize); |
| | STDAPI AVIFileInfoA (__in PAVIFILE pfile, __out_bcount(lSize) LPAVIFILEINFOA pfi |
| | , __in LONG lSize); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIFileInfo AVIFileInfoW | | #define AVIFileInfo AVIFileInfoW |
#else | | #else |
#define AVIFileInfo AVIFileInfoA | | #define AVIFileInfo AVIFileInfoA |
#endif | | #endif |
#else //win16 version | | #else //win16 version |
STDAPI AVIFileInfo (PAVIFILE pfile, LPAVIFILEINFO pfi, LONG lSize); | | STDAPI AVIFileInfo (PAVIFILE pfile, LPAVIFILEINFO pfi, LONG lSize); |
#define AVIFileInfoW AVIFileInfo /* ;Internal */ | | #define AVIFileInfoW AVIFileInfo /* ;Internal */ |
#endif | | #endif |
| | |
|
STDAPI AVIFileGetStream (PAVIFILE pfile, PAVISTREAM FAR * ppavi, DWORD fccTy
pe, LONG lParam); | | STDAPI AVIFileGetStream (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR * p
pavi, __in DWORD fccType, __in LONG lParam); |
| | |
#ifdef _WIN32 | | #ifdef _WIN32 |
|
STDAPI AVIFileCreateStreamW (PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINF | | STDAPI AVIFileCreateStreamW (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR *pp |
OW FAR * psi); | | avi, __in AVISTREAMINFOW FAR * psi); |
STDAPI AVIFileCreateStreamA (PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINF | | STDAPI AVIFileCreateStreamA (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR *pp |
OA FAR * psi); | | avi, __in AVISTREAMINFOA FAR * psi); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIFileCreateStream AVIFileCreateStreamW | | #define AVIFileCreateStream AVIFileCreateStreamW |
#else | | #else |
#define AVIFileCreateStream AVIFileCreateStreamA | | #define AVIFileCreateStream AVIFileCreateStreamA |
#endif | | #endif |
#else //win16 version | | #else //win16 version |
STDAPI AVIFileCreateStream(PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFO
FAR * psi); | | STDAPI AVIFileCreateStream(PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFO
FAR * psi); |
#define AVIFileCreateStreamW AVIFileCreateStream /* ;Internal */ | | #define AVIFileCreateStreamW AVIFileCreateStream /* ;Internal */ |
#endif | | #endif |
| | |
|
STDAPI AVIFileWriteData (PAVIFILE pfile, | | STDAPI AVIFileWriteData (__in PAVIFILE pfile, |
DWORD ckid, | | __in DWORD ckid, |
LPVOID lpData, | | __in_bcount(cbData) LPVOID lpData, |
LONG cbData); | | __in LONG cbData); |
STDAPI AVIFileReadData (PAVIFILE pfile, | | STDAPI AVIFileReadData (__in PAVIFILE pfile, |
DWORD ckid, | | __in DWORD ckid, |
LPVOID lpData, | | __out_bcount_part(*lpcbData, *lpcbData) |
LONG FAR *lpcbData); | | LPVOID lpData, |
STDAPI AVIFileEndRecord (PAVIFILE pfile); | | __inout LONG FAR *lpcbData); |
| | STDAPI AVIFileEndRecord (__in PAVIFILE pfile); |
| | |
STDAPI_(ULONG) AVIStreamAddRef (PAVISTREAM pavi); | | STDAPI_(ULONG) AVIStreamAddRef (PAVISTREAM pavi); |
STDAPI_(ULONG) AVIStreamRelease (PAVISTREAM pavi); | | STDAPI_(ULONG) AVIStreamRelease (PAVISTREAM pavi); |
| | |
|
STDAPI AVIStreamInfoW (PAVISTREAM pavi, LPAVISTREAMINFOW psi, LONG lSize); | | STDAPI AVIStreamInfoW (__in PAVISTREAM pavi, __out_bcount(lSize) LPAVISTREAMINFO |
STDAPI AVIStreamInfoA (PAVISTREAM pavi, LPAVISTREAMINFOA psi, LONG lSize); | | W psi, __in LONG lSize); |
| | STDAPI AVIStreamInfoA (__in PAVISTREAM pavi, __out_bcount(lSize) LPAVISTREAMINFO |
| | A psi, __in LONG lSize); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIStreamInfo AVIStreamInfoW | | #define AVIStreamInfo AVIStreamInfoW |
#else | | #else |
#define AVIStreamInfo AVIStreamInfoA | | #define AVIStreamInfo AVIStreamInfoA |
#endif | | #endif |
| | |
|
STDAPI_(LONG) AVIStreamFindSample(PAVISTREAM pavi, LONG lPos, LONG lFlags); | | STDAPI_(LONG) AVIStreamFindSample(__in PAVISTREAM pavi, __in LONG lPos, __in LON |
STDAPI AVIStreamReadFormat (PAVISTREAM pavi, LONG lPos,LPVOID lpFormat,LONG FA | | G lFlags); |
R *lpcbFormat); | | STDAPI AVIStreamReadFormat (__in PAVISTREAM pavi, __in LONG lPos,__out_bcount_ |
STDAPI AVIStreamSetFormat (PAVISTREAM pavi, LONG lPos,LPVOID lpFormat,LONG cb | | part_opt(*lpcbFormat,*lpcbFormat) LPVOID lpFormat,__inout LONG FAR *lpcbFormat); |
Format); | | STDAPI AVIStreamSetFormat (__in PAVISTREAM pavi, __in LONG lPos,__in_bcount(c |
STDAPI AVIStreamReadData (PAVISTREAM pavi, DWORD fcc, LPVOID lp, LONG FAR *l | | bFormat) LPVOID lpFormat, __in LONG cbFormat); |
pcb); | | STDAPI AVIStreamReadData (__in PAVISTREAM pavi, __in DWORD fcc, __out_bcount |
STDAPI AVIStreamWriteData (PAVISTREAM pavi, DWORD fcc, LPVOID lp, LONG cb); | | _part_opt(*lpcb, *lpcb) LPVOID lp, __inout LONG FAR *lpcb); |
| | STDAPI AVIStreamWriteData (__in PAVISTREAM pavi, __in DWORD fcc, __in_bcount( |
| | cb) LPVOID lp, __in LONG cb); |
| | |
|
STDAPI AVIStreamRead (PAVISTREAM pavi, | | STDAPI AVIStreamRead (__in PAVISTREAM pavi, |
LONG lStart, | | __in LONG lStart, |
LONG lSamples, | | __in LONG lSamples, |
LPVOID lpBuffer, | | __out_bcount_opt(cbBuffer) LPVOID lpBuffer, |
LONG cbBuffer, | | __in LONG cbBuffer, |
LONG FAR * plBytes, | | __out_opt LONG FAR * plBytes, |
LONG FAR * plSamples); | | __out_opt LONG FAR * plSamples); |
#define AVISTREAMREAD_CONVENIENT (-1L) | | #define AVISTREAMREAD_CONVENIENT (-1L) |
| | |
|
STDAPI AVIStreamWrite (PAVISTREAM pavi, | | STDAPI AVIStreamWrite (__in PAVISTREAM pavi, |
LONG lStart, LONG lSamples, | | __in LONG lStart, __in LONG lSamples, |
LPVOID lpBuffer, LONG cbBuffer, DWORD dwFlags, | | __in_bcount(cbBuffer) LPVOID lpBuffer, __in LONG cb |
LONG FAR *plSampWritten, | | Buffer, __in DWORD dwFlags, |
LONG FAR *plBytesWritten); | | __out_opt LONG FAR *plSampWritten, |
| | __out_opt LONG FAR *plBytesWritten); |
| | |
// Right now, these just use AVIStreamInfo() to get information, then | | // Right now, these just use AVIStreamInfo() to get information, then |
// return some of it. Can they be more efficient? | | // return some of it. Can they be more efficient? |
|
STDAPI_(LONG) AVIStreamStart (PAVISTREAM pavi); | | STDAPI_(LONG) AVIStreamStart (__in PAVISTREAM pavi); |
STDAPI_(LONG) AVIStreamLength (PAVISTREAM pavi); | | STDAPI_(LONG) AVIStreamLength (__in PAVISTREAM pavi); |
STDAPI_(LONG) AVIStreamTimeToSample (PAVISTREAM pavi, LONG lTime); | | STDAPI_(LONG) AVIStreamTimeToSample (__in PAVISTREAM pavi, __in LONG lTime); |
STDAPI_(LONG) AVIStreamSampleToTime (PAVISTREAM pavi, LONG lSample); | | STDAPI_(LONG) AVIStreamSampleToTime (__in PAVISTREAM pavi, __in LONG lSample); |
| | |
|
STDAPI AVIStreamBeginStreaming(PAVISTREAM pavi, LONG lStart, LONG lEnd, LONG lRa | | STDAPI AVIStreamBeginStreaming(__in PAVISTREAM pavi, __in LONG lStart, __in LONG |
te); | | lEnd, __in LONG lRate); |
STDAPI AVIStreamEndStreaming(PAVISTREAM pavi); | | STDAPI AVIStreamEndStreaming(__in PAVISTREAM pavi); |
| | |
// | | // |
// helper functions for using IGetFrame | | // helper functions for using IGetFrame |
// | | // |
|
STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(PAVISTREAM pavi, | | STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(__in PAVISTREAM pavi, |
LPBITMAPINFOHEADER lpbiWanted); | | __in_opt LPBITMAPINFOHEADER lpbiWanted); |
STDAPI_(LPVOID) AVIStreamGetFrame(PGETFRAME pg, LONG lPos); | | STDAPI_(LPVOID) AVIStreamGetFrame(__in PGETFRAME pg, __in LONG lPos); |
STDAPI AVIStreamGetFrameClose(PGETFRAME pg); | | STDAPI AVIStreamGetFrameClose(__in PGETFRAME pg); |
| | |
// !!! We need some way to place an advise on a stream.... | | // !!! We need some way to place an advise on a stream.... |
// STDAPI AVIStreamHasChanged (PAVISTREAM pavi); | | // STDAPI AVIStreamHasChanged (PAVISTREAM pavi); |
| | |
// Shortcut function | | // Shortcut function |
|
STDAPI AVIStreamOpenFromFileA(PAVISTREAM FAR *ppavi, LPCSTR szFile, | | STDAPI AVIStreamOpenFromFileA(__deref_out PAVISTREAM FAR *ppavi, __in LPCSTR szF |
DWORD fccType, LONG lParam, | | ile, |
UINT mode, CLSID FAR *pclsidHandler); | | __in DWORD fccType, __in LONG lParam, |
STDAPI AVIStreamOpenFromFileW(PAVISTREAM FAR *ppavi, LPCWSTR szFile, | | __in UINT mode, __in_opt CLSID FAR *pclsidHandler); |
DWORD fccType, LONG lParam, | | STDAPI AVIStreamOpenFromFileW(__deref_out PAVISTREAM FAR *ppavi, LPCWSTR szFile, |
UINT mode, CLSID FAR *pclsidHandler); | | __in DWORD fccType, __in LONG lParam, |
| | __in UINT mode, __in_opt CLSID FAR *pclsidHandler); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIStreamOpenFromFile AVIStreamOpenFromFileW | | #define AVIStreamOpenFromFile AVIStreamOpenFromFileW |
#else | | #else |
#define AVIStreamOpenFromFile AVIStreamOpenFromFileA | | #define AVIStreamOpenFromFile AVIStreamOpenFromFileA |
#endif | | #endif |
| | |
// Use to create disembodied streams | | // Use to create disembodied streams |
|
STDAPI AVIStreamCreate(PAVISTREAM FAR *ppavi, LONG lParam1, LONG lParam2, | | STDAPI AVIStreamCreate(__deref_out PAVISTREAM FAR *ppavi, __in LONG lParam1, __i |
CLSID FAR *pclsidHandler); | | n LONG lParam2, |
| | __in_opt CLSID FAR *pclsidHandler); |
| | |
// PHANDLER AVIAPI AVIGetHandler (PAVISTREAM pavi, PAVISTREAMHANDLER
psh); | | // PHANDLER AVIAPI AVIGetHandler (PAVISTREAM pavi, PAVISTREAMHANDLER
psh); |
// PAVISTREAM AVIAPI AVIGetStream (PHANDLER p); | | // PAVISTREAM AVIAPI AVIGetStream (PHANDLER p); |
| | |
// | | // |
// flags for AVIStreamFindSample | | // flags for AVIStreamFindSample |
// | | // |
#define FIND_DIR 0x0000000FL // direction | | #define FIND_DIR 0x0000000FL // direction |
#define FIND_NEXT 0x00000001L // go forward | | #define FIND_NEXT 0x00000001L // go forward |
#define FIND_PREV 0x00000004L // go backward | | #define FIND_PREV 0x00000004L // go backward |
| | |
skipping to change at line 2474 | | skipping to change at line 2481 |
* | | * |
* AVISave routines and structures | | * AVISave routines and structures |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
| | |
#ifndef comptypeDIB | | #ifndef comptypeDIB |
#define comptypeDIB mmioFOURCC('D', 'I', 'B', ' ') | | #define comptypeDIB mmioFOURCC('D', 'I', 'B', ' ') |
#endif | | #endif |
| | |
STDAPI AVIMakeCompressedStream( | | STDAPI AVIMakeCompressedStream( |
|
PAVISTREAM FAR * ppsCompressed, | | __deref_out PAVISTREAM FAR * ppsCompressed, |
PAVISTREAM ppsSource, | | __in PAVISTREAM ppsSource, |
AVICOMPRESSOPTIONS FAR * lpOptions, | | __in AVICOMPRESSOPTIONS FAR * lpOptions, |
CLSID FAR *pclsidHandler); | | __in_opt CLSID FAR *pclsidHandler); |
| | |
EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, | | EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, |
|
CLSID FAR *pclsidHandler, | | __in_opt CLSID FAR *pclsidHandler, |
AVISAVECALLBACK lpfnCallback, | | __in AVISAVECALLBACK lpfnCallback, |
int nStreams, | | __in int nStreams, |
PAVISTREAM pfile, | | __in PAVISTREAM pfile, |
LPAVICOMPRESSOPTIONS lpOptions, | | __in LPAVICOMPRESSOPTIONS lpOptions, |
...); | | ...); |
| | |
STDAPI AVISaveVA(LPCSTR szFile, | | STDAPI AVISaveVA(LPCSTR szFile, |
|
CLSID FAR *pclsidHandler, | | __in_opt CLSID FAR *pclsidHandler, |
AVISAVECALLBACK lpfnCallback, | | __in AVISAVECALLBACK lpfnCallback, |
int nStreams, | | __in int nStreams, |
PAVISTREAM FAR * ppavi, | | __in_ecount(nStreams) PAVISTREAM FAR * ppavi, |
LPAVICOMPRESSOPTIONS FAR *plpOptions); | | __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOptions); |
EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, | | EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, |
|
CLSID FAR *pclsidHandler, | | __in_opt CLSID FAR *pclsidHandler, |
AVISAVECALLBACK lpfnCallback, | | __in AVISAVECALLBACK lpfnCallback, |
int nStreams, | | __in int nStreams, |
PAVISTREAM pfile, | | __in PAVISTREAM pfile, |
LPAVICOMPRESSOPTIONS lpOptions, | | __in LPAVICOMPRESSOPTIONS lpOptions, |
...); | | ...); |
| | |
STDAPI AVISaveVW(LPCWSTR szFile, | | STDAPI AVISaveVW(LPCWSTR szFile, |
|
CLSID FAR *pclsidHandler, | | __in_opt CLSID FAR *pclsidHandler, |
AVISAVECALLBACK lpfnCallback, | | __in AVISAVECALLBACK lpfnCallback, |
int nStreams, | | __in int nStreams, |
PAVISTREAM FAR * ppavi, | | __in_ecount(nStreams) PAVISTREAM FAR * ppavi, |
LPAVICOMPRESSOPTIONS FAR *plpOptions); | | __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOptions); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVISave AVISaveW | | #define AVISave AVISaveW |
#define AVISaveV AVISaveVW | | #define AVISaveV AVISaveVW |
#else | | #else |
#define AVISave AVISaveA | | #define AVISave AVISaveA |
#define AVISaveV AVISaveVA | | #define AVISaveV AVISaveVA |
#endif | | #endif |
| | |
|
STDAPI_(INT_PTR) AVISaveOptions(HWND hwnd, | | STDAPI_(INT_PTR) AVISaveOptions(__in HWND hwnd, |
UINT uiFlags, | | __in UINT uiFlags, |
int nStreams, | | __in int nStreams, |
PAVISTREAM FAR *ppavi, | | __in_ecount(nStreams) PAVISTREAM FAR *ppavi, |
LPAVICOMPRESSOPTIONS FAR *plpOptions); | | __inout_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *p |
| | lpOptions); |
| | |
STDAPI AVISaveOptionsFree(int nStreams, | | STDAPI AVISaveOptionsFree(int nStreams, |
|
LPAVICOMPRESSOPTIONS FAR *plpOptions); | | __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpO
ptions); |
| | |
// FLAGS FOR uiFlags: | | // FLAGS FOR uiFlags: |
// | | // |
// Same as the flags for ICCompressorChoose (see compman.h) | | // Same as the flags for ICCompressorChoose (see compman.h) |
// These determine what the compression options dialog for video streams | | // These determine what the compression options dialog for video streams |
// will look like. | | // will look like. |
| | |
|
STDAPI AVIBuildFilterW(LPWSTR lpszFilter, LONG cbFilter, BOOL fSaving); | | STDAPI AVIBuildFilterW(__out_ecount(cbFilter) LPWSTR lpszFilter, __in LONG cbFil |
STDAPI AVIBuildFilterA(LPSTR lpszFilter, LONG cbFilter, BOOL fSaving); | | ter, __in BOOL fSaving); |
| | STDAPI AVIBuildFilterA(__out_ecount(cbFilter) LPSTR lpszFilter, __in LONG cbFilt |
| | er, __in BOOL fSaving); |
#ifdef UNICODE | | #ifdef UNICODE |
#define AVIBuildFilter AVIBuildFilterW | | #define AVIBuildFilter AVIBuildFilterW |
#else | | #else |
#define AVIBuildFilter AVIBuildFilterA | | #define AVIBuildFilter AVIBuildFilterA |
#endif | | #endif |
|
STDAPI AVIMakeFileFromStreams(PAVIFILE FAR * ppfile, | | STDAPI AVIMakeFileFromStreams(__deref_out PAVIFILE FAR * ppfile, |
int nStreams, | | __in int nStreams, |
PAVISTREAM FAR * papStreams); | | __in_ecount(nStreams) PAVISTREAM FAR * papStream |
| | s); |
| | |
|
STDAPI AVIMakeStreamFromClipboard(UINT cfFormat, HANDLE hGlobal, PAVISTREAM FAR
*ppstream); | | STDAPI AVIMakeStreamFromClipboard(UINT cfFormat, __in HANDLE hGlobal, __deref_ou
t PAVISTREAM FAR *ppstream); |
| | |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* Clipboard routines | | * Clipboard routines |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
| | |
|
STDAPI AVIPutFileOnClipboard(PAVIFILE pf); | | STDAPI AVIPutFileOnClipboard(__in PAVIFILE pf); |
| | |
|
STDAPI AVIGetFromClipboard(PAVIFILE FAR * lppf); | | STDAPI AVIGetFromClipboard(__deref_out PAVIFILE FAR * lppf); |
| | |
STDAPI AVIClearClipboard(void); | | STDAPI AVIClearClipboard(void); |
| | |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* Editing routines | | * Editing routines |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
STDAPI CreateEditableStream( | | STDAPI CreateEditableStream( |
|
PAVISTREAM FAR * ppsEditable, | | __deref_out PAVISTREAM FAR * ppsEditable, |
PAVISTREAM psSource); | | __in PAVISTREAM psSource); |
| | |
|
STDAPI EditStreamCut(PAVISTREAM pavi, LONG FAR *plStart, LONG FAR *plLength, PAV
ISTREAM FAR * ppResult); | | STDAPI EditStreamCut(__in PAVISTREAM pavi, __inout LONG FAR *plStart, __inout LO
NG FAR *plLength, __deref_out PAVISTREAM FAR * ppResult); |
| | |
|
STDAPI EditStreamCopy(PAVISTREAM pavi, LONG FAR *plStart, LONG FAR *plLength, PA
VISTREAM FAR * ppResult); | | STDAPI EditStreamCopy(__in PAVISTREAM pavi, __inout LONG FAR *plStart, __inout L
ONG FAR *plLength, __deref_out PAVISTREAM FAR * ppResult); |
| | |
|
STDAPI EditStreamPaste(PAVISTREAM pavi, LONG FAR *plPos, LONG FAR *plLength, PAV
ISTREAM pstream, LONG lStart, LONG lEnd); | | STDAPI EditStreamPaste(__in PAVISTREAM pavi, __inout LONG FAR *plPos, __inout LO
NG FAR *plLength, __in PAVISTREAM pstream, __in LONG lStart, __in LONG lEnd); |
| | |
|
STDAPI EditStreamClone(PAVISTREAM pavi, PAVISTREAM FAR *ppResult); | | STDAPI EditStreamClone(__in PAVISTREAM pavi, __deref_out PAVISTREAM FAR *ppResul
t); |
| | |
|
STDAPI EditStreamSetNameA(PAVISTREAM pavi, LPCSTR lpszName); | | STDAPI EditStreamSetNameA(__in PAVISTREAM pavi, __in LPCSTR lpszName); |
STDAPI EditStreamSetNameW(PAVISTREAM pavi, LPCWSTR lpszName); | | STDAPI EditStreamSetNameW(__in PAVISTREAM pavi, __in LPCWSTR lpszName); |
STDAPI EditStreamSetInfoW(PAVISTREAM pavi, LPAVISTREAMINFOW lpInfo, LONG cbInfo) | | STDAPI EditStreamSetInfoW(__in PAVISTREAM pavi, __in_bcount(cbInfo) LPAVISTREAMI |
; | | NFOW lpInfo, __in LONG cbInfo); |
STDAPI EditStreamSetInfoA(PAVISTREAM pavi, LPAVISTREAMINFOA lpInfo, LONG cbInfo) | | STDAPI EditStreamSetInfoA(__in PAVISTREAM pavi, __in_bcount(cbInfo) LPAVISTREAMI |
; | | NFOA lpInfo, __in LONG cbInfo); |
#ifdef UNICODE | | #ifdef UNICODE |
#define EditStreamSetInfo EditStreamSetInfoW | | #define EditStreamSetInfo EditStreamSetInfoW |
#define EditStreamSetName EditStreamSetNameW | | #define EditStreamSetName EditStreamSetNameW |
#else | | #else |
#define EditStreamSetInfo EditStreamSetInfoA | | #define EditStreamSetInfo EditStreamSetInfoA |
#define EditStreamSetName EditStreamSetNameA | | #define EditStreamSetName EditStreamSetNameA |
#endif | | #endif |
| | |
/* - - - - - - - - */ | | /* - - - - - - - - */ |
| | |
| | |
skipping to change at line 2707 | | skipping to change at line 2714 |
#ifdef __cplusplus | | #ifdef __cplusplus |
// MFC Redefines SendMessage, so make sure we get the global one.... | | // MFC Redefines SendMessage, so make sure we get the global one.... |
#define MCIWndSM ::SendMessage /* SendMessage in C++*/ | | #define MCIWndSM ::SendMessage /* SendMessage in C++*/ |
#else | | #else |
#define MCIWndSM SendMessage /* SendMessage in C */ | | #define MCIWndSM SendMessage /* SendMessage in C */ |
#endif /* __cplusplus */ | | #endif /* __cplusplus */ |
#define MCIWND_WINDOW_CLASS TEXT("MCIWndClass") | | #define MCIWND_WINDOW_CLASS TEXT("MCIWndClass") |
HWND | | HWND |
VFWAPIV | | VFWAPIV |
MCIWndCreateA( | | MCIWndCreateA( |
|
IN HWND hwndParent, | | __in_opt HWND hwndParent, |
IN HINSTANCE hInstance, | | __in_opt HINSTANCE hInstance, |
IN DWORD dwStyle, | | __in DWORD dwStyle, |
IN LPCSTR szFile | | __in_opt LPCSTR szFile |
); | | ); |
| | |
HWND | | HWND |
VFWAPIV | | VFWAPIV |
MCIWndCreateW( | | MCIWndCreateW( |
|
IN HWND hwndParent, | | __in_opt HWND hwndParent, |
IN HINSTANCE hInstance, | | __in_opt HINSTANCE hInstance, |
IN DWORD dwStyle, | | __in DWORD dwStyle, |
IN LPCWSTR szFile | | __in_opt LPCWSTR szFile |
); | | ); |
| | |
#ifdef UNICODE | | #ifdef UNICODE |
#define MCIWndCreate MCIWndCreateW | | #define MCIWndCreate MCIWndCreateW |
#else | | #else |
#define MCIWndCreate MCIWndCreateA | | #define MCIWndCreate MCIWndCreateA |
#endif | | #endif |
BOOL VFWAPIV MCIWndRegisterClass(void); | | BOOL VFWAPIV MCIWndRegisterClass(void); |
| | |
// Flags for the MCIWndOpen command | | // Flags for the MCIWndOpen command |
| | |
skipping to change at line 3548 | | skipping to change at line 3555 |
typedef struct tagCapInfoChunk { | | typedef struct tagCapInfoChunk { |
FOURCC fccInfoID; // Chunk ID, "ICOP" for copyright | | FOURCC fccInfoID; // Chunk ID, "ICOP" for copyright |
LPVOID lpData; // pointer to data | | LPVOID lpData; // pointer to data |
LONG cbData; // size of lpData | | LONG cbData; // size of lpData |
} CAPINFOCHUNK, *PCAPINFOCHUNK, FAR *LPCAPINFOCHUNK; | | } CAPINFOCHUNK, *PCAPINFOCHUNK, FAR *LPCAPINFOCHUNK; |
| | |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
// Callback Definitions | | // Callback Definitions |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
| | |
|
typedef LRESULT (CALLBACK* CAPYIELDCALLBACK) (HWND hWnd); | | typedef LRESULT (CALLBACK* CAPYIELDCALLBACK) (__in HWND hWnd); |
typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKW) (HWND hWnd, int nID, LPCWSTR lpsz | | typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKW) (__in HWND hWnd, __in int nID, LP |
); | | CWSTR lpsz); |
typedef LRESULT (CALLBACK* CAPERRORCALLBACKW) (HWND hWnd, int nID, LPCWSTR lpsz | | typedef LRESULT (CALLBACK* CAPERRORCALLBACKW) (__in HWND hWnd, __in int nID, LP |
); | | CWSTR lpsz); |
typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKA) (HWND hWnd, int nID, LPCSTR lpsz) | | typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKA) (__in HWND hWnd, __in int nID, LP |
; | | CSTR lpsz); |
typedef LRESULT (CALLBACK* CAPERRORCALLBACKA) (HWND hWnd, int nID, LPCSTR lpsz) | | typedef LRESULT (CALLBACK* CAPERRORCALLBACKA) (__in HWND hWnd, __in int nID, LP |
; | | CSTR lpsz); |
#ifdef UNICODE | | #ifdef UNICODE |
#define CAPSTATUSCALLBACK CAPSTATUSCALLBACKW | | #define CAPSTATUSCALLBACK CAPSTATUSCALLBACKW |
#define CAPERRORCALLBACK CAPERRORCALLBACKW | | #define CAPERRORCALLBACK CAPERRORCALLBACKW |
#else | | #else |
#define CAPSTATUSCALLBACK CAPSTATUSCALLBACKA | | #define CAPSTATUSCALLBACK CAPSTATUSCALLBACKA |
#define CAPERRORCALLBACK CAPERRORCALLBACKA | | #define CAPERRORCALLBACK CAPERRORCALLBACKA |
#endif | | #endif |
|
typedef LRESULT (CALLBACK* CAPVIDEOCALLBACK) (HWND hWnd, LPVIDEOHDR lpVHdr); | | typedef LRESULT (CALLBACK* CAPVIDEOCALLBACK) (__in HWND hWnd, __in LPVIDEOHDR l |
typedef LRESULT (CALLBACK* CAPWAVECALLBACK) (HWND hWnd, LPWAVEHDR lpWHdr); | | pVHdr); |
typedef LRESULT (CALLBACK* CAPCONTROLCALLBACK)(HWND hWnd, int nState); | | typedef LRESULT (CALLBACK* CAPWAVECALLBACK) (__in HWND hWnd, __in LPWAVEHDR lp |
| | WHdr); |
| | typedef LRESULT (CALLBACK* CAPCONTROLCALLBACK)(__in HWND hWnd, __in int nState); |
| | |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
// CapControlCallback states | | // CapControlCallback states |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
#define CONTROLCALLBACK_PREROLL 1 /* Waiting to start capture */ | | #define CONTROLCALLBACK_PREROLL 1 /* Waiting to start capture */ |
#define CONTROLCALLBACK_CAPTURING 2 /* Now capturing */ | | #define CONTROLCALLBACK_CAPTURING 2 /* Now capturing */ |
| | |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
// The only exported functions from AVICAP.DLL | | // The only exported functions from AVICAP.DLL |
// ------------------------------------------------------------------ | | // ------------------------------------------------------------------ |
| | |
HWND VFWAPI capCreateCaptureWindowA ( | | HWND VFWAPI capCreateCaptureWindowA ( |
LPCSTR lpszWindowName, | | LPCSTR lpszWindowName, |
|
DWORD dwStyle, | | __in DWORD dwStyle, |
int x, int y, int nWidth, int nHeight, | | __in int x, __in int y, __in int nWidth, __in int nHeight, |
HWND hwndParent, int nID); | | __in_opt HWND hwndParent, __in int nID); |
| | |
BOOL VFWAPI capGetDriverDescriptionA (UINT wDriverIndex, | | BOOL VFWAPI capGetDriverDescriptionA (UINT wDriverIndex, |
|
LPSTR lpszName, int cbName, | | __out_ecount(cbName) LPSTR lpszName, __in int cbName, |
LPSTR lpszVer, int cbVer); | | __out_ecount(cbVer) LPSTR lpszVer, __in int cbVer); |
| | |
HWND VFWAPI capCreateCaptureWindowW ( | | HWND VFWAPI capCreateCaptureWindowW ( |
LPCWSTR lpszWindowName, | | LPCWSTR lpszWindowName, |
DWORD dwStyle, | | DWORD dwStyle, |
|
int x, int y, int nWidth, int nHeight, | | __in int x, __in int y, __in int nWidth, __in int nHeight, |
HWND hwndParent, int nID); | | __in_opt HWND hwndParent, __in int nID); |
| | |
BOOL VFWAPI capGetDriverDescriptionW (UINT wDriverIndex, | | BOOL VFWAPI capGetDriverDescriptionW (UINT wDriverIndex, |
|
LPWSTR lpszName, int cbName, | | __out_ecount(cbName) LPWSTR lpszName, __in int cbName, |
LPWSTR lpszVer, int cbVer); | | __out_ecount(cbVer) LPWSTR lpszVer, __in int cbVer); |
#ifdef UNICODE | | #ifdef UNICODE |
#define capCreateCaptureWindow capCreateCaptureWindowW | | #define capCreateCaptureWindow capCreateCaptureWindowW |
#define capGetDriverDescription capGetDriverDescriptionW | | #define capGetDriverDescription capGetDriverDescriptionW |
#else | | #else |
#define capCreateCaptureWindow capCreateCaptureWindowA | | #define capCreateCaptureWindow capCreateCaptureWindowA |
#define capGetDriverDescription capGetDriverDescriptionA | | #define capGetDriverDescription capGetDriverDescriptionA |
#endif | | #endif |
| | |
#endif /* RC_INVOKED */ | | #endif /* RC_INVOKED */ |
| | |
| | |
skipping to change at line 3709 | | skipping to change at line 3716 |
/**************************************************************************** | | /**************************************************************************** |
* | | * |
* FilePreview dialog. | | * FilePreview dialog. |
* | | * |
***************************************************************************/ | | ***************************************************************************/ |
#ifdef OFN_READONLY | | #ifdef OFN_READONLY |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
GetOpenFileNamePreviewA( | | GetOpenFileNamePreviewA( |
|
IN OUT LPOPENFILENAMEA lpofn | | __inout LPOPENFILENAMEA lpofn |
); | | ); |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
GetSaveFileNamePreviewA( | | GetSaveFileNamePreviewA( |
|
IN OUT LPOPENFILENAMEA lpofn | | __inout LPOPENFILENAMEA lpofn |
); | | ); |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
GetOpenFileNamePreviewW( | | GetOpenFileNamePreviewW( |
|
IN OUT LPOPENFILENAMEW lpofn | | __inout LPOPENFILENAMEW lpofn |
); | | ); |
| | |
BOOL | | BOOL |
VFWAPI | | VFWAPI |
GetSaveFileNamePreviewW( | | GetSaveFileNamePreviewW( |
|
IN OUT LPOPENFILENAMEW lpofn | | __inout LPOPENFILENAMEW lpofn |
); | | ); |
| | |
#ifdef UNICODE | | #ifdef UNICODE |
#define GetOpenFileNamePreview GetOpenFileNamePreviewW | | #define GetOpenFileNamePreview GetOpenFileNamePreviewW |
#define GetSaveFileNamePreview GetSaveFileNamePreviewW | | #define GetSaveFileNamePreview GetSaveFileNamePreviewW |
#else | | #else |
#define GetOpenFileNamePreview GetOpenFileNamePreviewA | | #define GetOpenFileNamePreview GetOpenFileNamePreviewA |
#define GetSaveFileNamePreview GetSaveFileNamePreviewA | | #define GetSaveFileNamePreview GetSaveFileNamePreviewA |
#endif | | #endif |
| | |
| | |
End of changes. 114 change blocks. |
428 lines changed or deleted | | 476 lines changed or added |
|