| vfw.h (6.1.7600.16385-Windows_7.0) | | vfw.h (6.3.9600.17415-Windows_8.1) |
| | |
| skipping to change at line 43 | | skipping to change at line 43 |
| * NOMCIWND - dont include AVIWnd class. | | * NOMCIWND - dont include AVIWnd class. |
| * NOAVICAP - dont include AVICap class. | | * NOAVICAP - dont include AVICap class. |
| * | | * |
| * NOMSACM - dont include ACM stuff. | | * NOMSACM - dont include ACM stuff. |
| * | | * |
| ****************************************************************************/ | | ****************************************************************************/ |
| | |
| #ifndef _INC_VFW | | #ifndef _INC_VFW |
| #define _INC_VFW | | #define _INC_VFW |
| | |
|
| | #include <winapifamily.h> |
| | |
| | #pragma region Desktop Family |
| | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { /* Assume C declarations for C++ */ | | extern "C" { /* Assume C declarations for C++ */ |
| #endif /* __cplusplus */ | | #endif /* __cplusplus */ |
| | |
| /**************************************************************************** | | /**************************************************************************** |
| * | | * |
| * types | | * types |
| * | | * |
| ***************************************************************************/ | | ***************************************************************************/ |
| | |
| | |
| skipping to change at line 344 | | skipping to change at line 349 |
| | |
| /************************************************************************ | | /************************************************************************ |
| ************************************************************************/ | | ************************************************************************/ |
| | |
| #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 |
|
| __field_bcount(lpbiOutput->biSizeImage) LPVOID lpOutput;
// output data | | _Field_size_bytes_(lpbiOutput->biSizeImage) LPVOID lpOutput;
// output data |
| | |
| LPBITMAPINFOHEADER lpbiInput; // format of frame to compress | | LPBITMAPINFOHEADER lpbiInput; // format of frame to compress |
|
| __field_bcount(lpbiInput->biSizeImage) LPVOID lpInput; /
/ frame data to compress | | _Field_size_bytes_(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 |
|
| __field_bcount(lpbiPrev->biSizeImage) LPVOID lpPrev; //
previous frame | | _Field_size_bytes_(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 389 | | skipping to change at line 394 |
| 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)(__in LPARAM lInput, __in LONG lFrame, __out_bcount( | | LONG (CALLBACK *GetData)(_In_ LPARAM lInput, _In_ LONG lFrame, _Out_writes_b |
| len) LPVOID lpBits, __in LONG len); | | ytes_(len) LPVOID lpBits, _In_ LONG len); |
| LONG (CALLBACK *PutData)(__in LPARAM lOutput, __in LONG lFrame, __in_bcount( | | LONG (CALLBACK *PutData)(_In_ LPARAM lOutput, _In_ LONG lFrame, _In_reads_by |
| len) LPVOID lpBits, __in LONG len); | | tes_(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) (__in LPARAM lParam, __in UINT message, __in 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) | | _Field_size_bytes_(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) | | _Field_size_bytes_(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 541 | | skipping to change at line 546 |
| | |
| /************************************************************************ | | /************************************************************************ |
| | |
| 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) | | _Success_(return != 0) |
| LRESULT | | LRESULT |
| VFWAPI | | VFWAPI |
| ICGetInfo( | | ICGetInfo( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __out_bcount_part(cb,return) ICINFO FAR *picinfo, | | _Out_writes_bytes_to_(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 688 | | skipping to change at line 693 |
| ************************************************************************/ | | ************************************************************************/ |
| /* | | /* |
| * 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_bcount(lpbiOutput->biSizeImage) LPVOID lpData, | | _Out_writes_bytes_(lpbiOutput->biSizeImage) LPVOID lpData, |
| // output data | | // output data |
| __in LPBITMAPINFOHEADER lpbiInput, // format of frame to compres | | _In_ LPBITMAPINFOHEADER lpbiInput, // format of frame to compres |
| s | | s |
| __in_bcount(lpbiInput->biSizeImage) LPVOID lpBits, | | _In_reads_bytes_(lpbiInput->biSizeImage) LPVOID lpBits, |
| // frame data to compress | | // frame data to compress |
| __out_opt LPDWORD lpckid, // ckid for data in AVI file | | _Out_opt_ LPDWORD lpckid, // ckid for data in AVI file |
| __out_opt LPDWORD lpdwFlags, // flags in the AVI index. | | _Out_opt_ LPDWORD lpdwFlags, // flags in the AVI index. |
| __in LONG lFrameNum, // frame number of seq. | | _In_ LONG lFrameNum, // frame number of seq. |
| __in DWORD dwFrameSize, // reqested size in bytes. (i | | _In_ DWORD dwFrameSize, // reqested size in bytes. (i |
| f non zero) | | f non zero) |
| __in DWORD dwQuality, // quality within one frame | | _In_ DWORD dwQuality, // quality within one frame |
| __in_opt LPBITMAPINFOHEADER lpbiPrev, // format of previous frame | | _In_opt_ LPBITMAPINFOHEADER lpbiPrev, // format of previous frame |
| __in_bcount_opt(lpbiPrev->biSizeImage) LPVOID lpPrev | | _In_reads_bytes_opt_(lpbiPrev->biSizeImage) LPVOID lpPrev |
| // previous frame | | // 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 765 | | skipping to change at line 770 |
| * 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_bcount(lpbiFormat->biSizeImage) LPVOID lpData, // dat | | _In_reads_bytes_(lpbiFormat->biSizeImage) LPVOID lpData, / |
| a | | / data |
| __in LPBITMAPINFOHEADER lpbi, // DIB to decompress to | | _In_ LPBITMAPINFOHEADER lpbi, // DIB to decompress to |
| __out_bcount(lpbi->biSizeImage) LPVOID lpBits | | _Out_writes_bytes_(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 842 | | skipping to change at line 847 |
| // | | // |
| | |
| /* | | /* |
| * ICDecompressEx() | | * ICDecompressEx() |
| * | | * |
| * decompress a single frame | | * decompress a single frame |
| * | | * |
| */ | | */ |
| static __inline LRESULT VFWAPI_INLINE | | static __inline LRESULT VFWAPI_INLINE |
| ICDecompressEx( | | ICDecompressEx( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __in DWORD dwFlags, | | _In_ DWORD dwFlags, |
| __in LPBITMAPINFOHEADER lpbiSrc, | | _In_ LPBITMAPINFOHEADER lpbiSrc, |
| __in_bcount(lpbiSrc->biSizeImage) LPVOID lpSrc, | | _In_reads_bytes_(lpbiSrc->biSizeImage) LPVOID lpSrc, |
| __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 LPBITMAPINFOHEADER lpbiDst, | | _In_ LPBITMAPINFOHEADER lpbiDst, |
| __out_bcount(lpbiDst->biSizeImage) LPVOID lpDst, | | _Out_writes_bytes_(lpbiDst->biSizeImage) LPVOID lpDst, |
| __in int xDst, | | _In_ int xDst, |
| __in int yDst, | | _In_ int yDst, |
| __in int dxDst, | | _In_ int dxDst, |
| __in 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 887 | | skipping to change at line 892 |
| | |
| /* | | /* |
| * 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( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __in DWORD dwFlags, | | _In_ DWORD dwFlags, |
| __in LPBITMAPINFOHEADER lpbiSrc, | | _In_ LPBITMAPINFOHEADER lpbiSrc, |
| __in_opt LPVOID lpSrc, | | _In_opt_ LPVOID lpSrc, |
| __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 LPBITMAPINFOHEADER lpbiDst, | | _In_ LPBITMAPINFOHEADER lpbiDst, |
| __out_opt LPVOID lpDst, | | _Out_opt_ LPVOID lpDst, |
| __in int xDst, | | _In_ int xDst, |
| __in int yDst, | | _In_ int yDst, |
| __in int dxDst, | | _In_ int dxDst, |
| __in 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 929 | | skipping to change at line 934 |
| // 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( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __in DWORD dwFlags, | | _In_ DWORD dwFlags, |
| __in LPBITMAPINFOHEADER lpbiSrc, | | _In_ LPBITMAPINFOHEADER lpbiSrc, |
| __reserved LPVOID lpSrc, | | _Reserved_ LPVOID lpSrc, |
| __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_opt LPBITMAPINFOHEADER lpbiDst, | | _In_opt_ LPBITMAPINFOHEADER lpbiDst, |
| __out_opt LPVOID lpDst, | | _Out_opt_ LPVOID lpDst, |
| __in int xDst, | | _In_ int xDst, |
| __in int yDst, | | _In_ int yDst, |
| __in int dxDst, | | _In_ int dxDst, |
| __in 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 990 | | skipping to change at line 995 |
| * | | * |
| */ | | */ |
| | |
| #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_opt HPALETTE hpal, // palette to draw with | | _In_opt_ HPALETTE hpal, // palette to draw with |
| __in_opt HWND hwnd, // window to draw to | | _In_opt_ HWND hwnd, // window to draw to |
| __in_opt 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/dwSc | | _In_ DWORD dwRate, // frames/second = (dwRate/dwSc |
| ale) | | ale) |
| __in DWORD dwScale | | _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 | | _In_ LPVOID lpFormat, // format of frame |
| to decompress | | to decompress |
| __in_bcount_opt(cbData) LPVOID lpData, // frame data to d | | _In_reads_bytes_opt_(cbData) LPVOID lpData, // frame data |
| ecompress | | to decompress |
| __in DWORD cbData, // size of data | | _In_ DWORD cbData, // size of data |
| __in LONG lTime // time to draw th | | _In_ LONG lTime // time to draw th |
| is frame | | 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( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __in LPBITMAPINFOHEADER lpbiIn, | | _In_ LPBITMAPINFOHEADER lpbiIn, |
| __out LPBITMAPINFOHEADER lpbiOut, | | _Out_ LPBITMAPINFOHEADER lpbiOut, |
| __in int dxSrc, | | _In_ int dxSrc, |
| __in int dySrc, | | _In_ int dySrc, |
| __in int dxDst, | | _In_ int dxDst, |
| __in int dyDst, | | _In_ int dyDst, |
| __in 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 1118 | | skipping to change at line 1123 |
| /* | | /* |
| * 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( |
|
| __in HIC hic, | | _In_ HIC hic, |
| __in DWORD dwFlags, | | _In_ DWORD dwFlags, |
| __in LRESULT lParam, | | _In_ LRESULT lParam, |
| __in LONG (CALLBACK *fpfnStatus)(__in LPARAM, __in UINT, __in 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 1149 | | skipping to change at line 1154 |
| | |
| #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_opt LPBITMAPINFOHEADER lpbiOut, | | _In_opt_ LPBITMAPINFOHEADER lpbiOut, |
| __in WORD wFlags | | _In_ WORD wFlags |
| ); | | ); |
| | |
| HIC | | HIC |
| VFWAPI | | VFWAPI |
| ICGetDisplayFormat( | | ICGetDisplayFormat( |
|
| __in_opt 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_opt LPBITMAPINFO lpbiOut, // compress to this (NULL ==> d | | _In_opt_ LPBITMAPINFO lpbiOut, // compress to this (NULL ==> d |
| efault) | | efault) |
| __in LONG lQuality, // quality to use | | _In_ LONG lQuality, // quality to use |
| __inout_opt LONG FAR * plSize // compress to this size (0=wha | | _Inout_opt_ LONG FAR * plSize // compress to this size (0=wha |
| tever) | | tever) |
| ); | | ); |
| | |
| HANDLE | | HANDLE |
| VFWAPI | | VFWAPI |
| ICImageDecompress( | | ICImageDecompress( |
|
| __in_opt 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_opt LPBITMAPINFO lpbiOut // decompress to this (NULL ==> def | | _In_opt_ LPBITMAPINFO lpbiOut // decompress to this (NULL ==> def |
| ault) | | 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 1228 | | skipping to change at line 1233 |
| // 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_opt HWND hwnd, // parent window for dialog | | _In_opt_ HWND hwnd, // parent window for dialog |
| __in UINT uiFlags, // flags | | _In_ UINT uiFlags, // flags |
| __in_opt LPVOID pvIn, // input format (optional) | | _In_opt_ LPVOID pvIn, // input format (optional) |
| __in_opt LPVOID lpData, // input data (optional) | | _In_opt_ LPVOID lpData, // input data (optional) |
| __inout PCOMPVARS pc, // data about the compressor/dlg | | _Inout_ PCOMPVARS pc, // data about the compressor/dlg |
| __in_opt 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 |
| __reserved 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 | | _Out_ BOOL FAR *pfKey, // did it end up being a key |
| frame? | | frame? |
| __inout_opt LONG FAR *plSize // size to compress to/of ret | | _Inout_opt_ LONG FAR *plSize // size to compress to/of ret |
| urned image | | urned image |
| ); | | ); |
| | |
| void | | void |
| VFWAPI | | VFWAPI |
| ICCompressorFree( | | ICCompressorFree( |
|
| __in PCOMPVARS pc | | _In_ PCOMPVARS pc |
| ); | | ); |
| | |
| #endif /* NOCOMPMAN */ | | #endif /* NOCOMPMAN */ |
| | |
| /************************************************************************** | | /************************************************************************** |
| * | | * |
| * DRAWDIB - Routines for drawing to the display. | | * DRAWDIB - Routines for drawing to the display. |
| * | | * |
| *************************************************************************/ | | *************************************************************************/ |
| | |
| | |
| skipping to change at line 1334 | | skipping to change at line 1339 |
| 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_opt 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_ecount(iLen) LPPALETTEENTRY lppe | | _In_reads_(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_opt 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_opt LPBITMAPINFOHEADER lpbi, | | _In_opt_ LPBITMAPINFOHEADER lpbi, |
| __in_opt 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( |
|
| __in LPBITMAPINFOHEADER biDst, | | _In_ LPBITMAPINFOHEADER biDst, |
| __out LPVOID lpDst, | | _Out_ LPVOID lpDst, |
| __in int DstX, | | _In_ int DstX, |
| __in int DstY, | | _In_ int DstY, |
| __in int DstXE, | | _In_ int DstXE, |
| __in int DstYE, | | _In_ int DstYE, |
| __in LPBITMAPINFOHEADER biSrc, | | _In_ LPBITMAPINFOHEADER biSrc, |
| __in LPVOID lpSrc, | | _In_ LPVOID lpSrc, |
| __in int SrcX, | | _In_ int SrcX, |
| __in int SrcY, | | _In_ int SrcY, |
| __in int SrcXE, | | _In_ int SrcXE, |
| __in 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 2040 | | skipping to change at line 2045 |
| /* - - - - - - - - */ | | /* - - - - - - - - */ |
| | |
| /****** 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, __deref_out LPVOID FAR* ppvObj
) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, _Outptr_ LPVOID FAR* ppvObj) P
URE; |
| 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_ __out_bcount(lSize) AVISTREAMINFOW FAR * psi, | | STDMETHOD(Info) (THIS_ _Out_writes_bytes_(lSize) AVISTREAMINFOW FAR * |
| __in LONG lSize) PURE ; | | psi, _In_ LONG lSize) PURE ; |
| STDMETHOD_(LONG, FindSample)(THIS_ __in LONG lPos, __in LONG lFlags) PURE ; | | STDMETHOD_(LONG, FindSample)(THIS_ _In_ LONG lPos, _In_ LONG lFlags) PURE ; |
| STDMETHOD(ReadFormat) (THIS_ __in LONG lPos, | | STDMETHOD(ReadFormat) (THIS_ _In_ LONG lPos, |
| __out_bcount_part_opt(*lpcbFormat, *lpcbFormat) LPVOI | | _Out_writes_bytes_to_opt_(*lpcbFormat, *lpcbFormat) L |
| D lpFormat, __inout LONG FAR *lpcbFormat) PURE ; | | PVOID lpFormat, _Inout_ LONG FAR *lpcbFormat) PURE ; |
| STDMETHOD(SetFormat) (THIS_ __in LONG lPos, | | STDMETHOD(SetFormat) (THIS_ _In_ LONG lPos, |
| __in_bcount(cbFormat) LPVOID lpFormat, __in LONG cbFo | | _In_reads_bytes_(cbFormat) LPVOID lpFormat, _In_ LONG |
| rmat) PURE ; | | cbFormat) PURE ; |
| STDMETHOD(Read) (THIS_ __in LONG lStart, __in LONG lSamples, | | STDMETHOD(Read) (THIS_ _In_ LONG lStart, _In_ LONG lSamples, |
| __out_bcount_opt(cbBuffer) LPVOID lpBuffer, __in LONG | | _Out_writes_bytes_opt_(cbBuffer) LPVOID lpBuffer, _In |
| cbBuffer, | | _ LONG cbBuffer, |
| __out_opt LONG FAR * plBytes, __out_opt LONG FAR * pl | | _Out_opt_ LONG FAR * plBytes, _Out_opt_ LONG FAR * pl |
| Samples) PURE ; | | Samples) PURE ; |
| STDMETHOD(Write) (THIS_ __in LONG lStart, __in LONG lSamples, | | STDMETHOD(Write) (THIS_ _In_ LONG lStart, _In_ LONG lSamples, |
| __in_bcount(cbBuffer) LPVOID lpBuffer, __in LONG cbBu | | _In_reads_bytes_(cbBuffer) LPVOID lpBuffer, _In_ LONG |
| ffer, | | cbBuffer, |
| __in DWORD dwFlags, | | _In_ DWORD dwFlags, |
| __out_opt LONG FAR *plSampWritten, | | _Out_opt_ LONG FAR *plSampWritten, |
| __out_opt LONG FAR *plBytesWritten) PURE ; | | _Out_opt_ LONG FAR *plBytesWritten) PURE ; |
| STDMETHOD(Delete) (THIS_ __in LONG lStart, __in LONG lSamples) PURE; | | STDMETHOD(Delete) (THIS_ _In_ LONG lStart, _In_ LONG lSamples) PURE; |
| STDMETHOD(ReadData) (THIS_ __in DWORD fcc, __out_bcount_part_opt(*lpcb, * | | STDMETHOD(ReadData) (THIS_ _In_ DWORD fcc, _Out_writes_bytes_to_opt_(*lpc |
| lpcb) LPVOID lp, __inout LONG FAR *lpcb) PURE ; | | b, *lpcb) LPVOID lp, _Inout_ LONG FAR *lpcb) PURE ; |
| STDMETHOD(WriteData) (THIS_ __in DWORD fcc, __in_bcount(cb) LPVOID lp, __i | | STDMETHOD(WriteData) (THIS_ _In_ DWORD fcc, _In_reads_bytes_(cb) LPVOID lp |
| n LONG cb) PURE ; | | , _In_ LONG cb) PURE ; |
| #ifdef _WIN32 | | #ifdef _WIN32 |
|
| STDMETHOD(SetInfo) (THIS_ __in_bcount(cbInfo) AVISTREAMINFOW FAR * lpInfo, | | STDMETHOD(SetInfo) (THIS_ _In_reads_bytes_(cbInfo) AVISTREAMINFOW FAR * lpIn |
| __in LONG cbInfo) PURE; | | fo, |
| | _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, __deref_out LPVOID FAR* ppvObj
) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, _Outptr_ LPVOID FAR* ppvObj) P
URE; |
| 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_ |
|
| __in LONG lStart, // start of what we expect | | _In_ LONG lStart, // start of what we expect |
| // to play | | // to play |
|
| __in LONG lEnd, // expected end, or -1 | | _In_ LONG lEnd, // expected end, or -1 |
| __in 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, __deref_out LPVOID FAR* ppvObj
) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, _Outptr_ LPVOID FAR* ppvObj) P
URE; |
| 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_ __inout LONG FAR *plStart, | | STDMETHOD(Cut) (THIS_ _Inout_ LONG FAR *plStart, |
| __inout LONG FAR *plLength, | | _Inout_ LONG FAR *plLength, |
| __deref_out PAVISTREAM FAR * ppResult) PURE; | | _Outptr_ PAVISTREAM FAR * ppResult) PURE; |
| STDMETHOD(Copy) (THIS_ __inout LONG FAR *plStart, | | STDMETHOD(Copy) (THIS_ _Inout_ LONG FAR *plStart, |
| __inout LONG FAR *plLength, | | _Inout_ LONG FAR *plLength, |
| __deref_out PAVISTREAM FAR * ppResult) PURE; | | _Outptr_ PAVISTREAM FAR * ppResult) PURE; |
| STDMETHOD(Paste) (THIS_ __inout LONG FAR *plPos, | | STDMETHOD(Paste) (THIS_ _Inout_ LONG FAR *plPos, |
| __inout LONG FAR *plLength, | | _Inout_ LONG FAR *plLength, |
| __inout PAVISTREAM pstream, | | _Inout_ PAVISTREAM pstream, |
| __in LONG lStart, | | _In_ LONG lStart, |
| __in LONG lEnd) PURE; | | _In_ LONG lEnd) PURE; |
| STDMETHOD(Clone) (THIS_ __deref_out PAVISTREAM FAR *ppResult) PURE; | | STDMETHOD(Clone) (THIS_ _Outptr_ PAVISTREAM FAR *ppResult) PURE; |
| STDMETHOD(SetInfo) (THIS_ __in_bcount(cbInfo) AVISTREAMINFOW FAR * lpInfo, | | STDMETHOD(SetInfo) (THIS_ _In_reads_bytes_(cbInfo) AVISTREAMINFOW FAR * lpIn |
| __in LONG cbInfo) PURE; | | fo, |
| | _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 2146 | | skipping to change at line 2151 |
| | |
| 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, __deref_out LPVOID FAR* ppvObj
) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, _Outptr_ LPVOID FAR* ppvObj) P
URE; |
| 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_ |
|
| __out_bcount(lSize) AVIFILEINFOW FAR * pfi, | | _Out_writes_bytes_(lSize) AVIFILEINFOW FAR |
| __in LONG lSize) PURE; | | * pfi, |
| | _In_ LONG lSize) PURE; |
| STDMETHOD(GetStream) (THIS_ | | STDMETHOD(GetStream) (THIS_ |
|
| __deref_out PAVISTREAM FAR * ppStream, | | _Outptr_ PAVISTREAM FAR * ppStream, |
| __in DWORD fccType, | | _In_ DWORD fccType, |
| __in LONG lParam) PURE; | | _In_ LONG lParam) PURE; |
| STDMETHOD(CreateStream) (THIS_ | | STDMETHOD(CreateStream) (THIS_ |
|
| __deref_out PAVISTREAM FAR * ppStream, | | _Outptr_ PAVISTREAM FAR * ppStream, |
| __in AVISTREAMINFOW FAR * psi) PURE; | | _In_ AVISTREAMINFOW FAR * psi) PURE; |
| STDMETHOD(WriteData) (THIS_ | | STDMETHOD(WriteData) (THIS_ |
|
| __in DWORD ckid, | | _In_ DWORD ckid, |
| __in_bcount(cbData) LPVOID lpData, | | _In_reads_bytes_(cbData) LPVOID lpData, |
| __in LONG cbData) PURE; | | _In_ LONG cbData) PURE; |
| STDMETHOD(ReadData) (THIS_ | | STDMETHOD(ReadData) (THIS_ |
|
| __in DWORD ckid, | | _In_ DWORD ckid, |
| __out_bcount_part(*lpcbData, *lpcbData) LPV | | _Out_writes_bytes_to_(*lpcbData, *lpcbData) |
| OID lpData, | | LPVOID lpData, |
| __inout LONG FAR *lpcbData) PURE; | | _Inout_ LONG FAR *lpcbData) PURE; |
| STDMETHOD(EndRecord) (THIS) PURE; | | STDMETHOD(EndRecord) (THIS) PURE; |
| STDMETHOD(DeleteStream) (THIS_ | | STDMETHOD(DeleteStream) (THIS_ |
|
| __in DWORD fccType, | | _In_ DWORD fccType, |
| __in 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, __deref_out LPVOID FAR* ppvObj
) PURE; | | STDMETHOD(QueryInterface) (THIS_ REFIID riid, _Outptr_ LPVOID FAR* ppvObj) P
URE; |
| 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_ __in LONG lPos) PURE; | | STDMETHOD_(LPVOID,GetFrame) (THIS_ _In_ LONG lPos) PURE; |
| // STDMETHOD_(LPVOID,GetFrameData) (THIS_ __in LONG lPos) PURE; | | // STDMETHOD_(LPVOID,GetFrameData) (THIS_ _In_ LONG lPos) PURE; |
| | |
|
| STDMETHOD(Begin) (THIS_ __in LONG lStart, __in LONG lEnd, __in LONG lRate) P
URE; | | 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_ __in LPBITMAPINFOHEADER lpbi, __in_opt LPVOID lp
Bits, __in int x, __in int y, __in int dx, __in 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_ __in LONG lPos, HDC hdc, __in int x, __in int y,
__in int dx, __in 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 2241 | | skipping to change at line 2246 |
| // 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 (__deref_out PAVIFILE FAR * ppfile, __in LPCSTR szFile | | STDAPI AVIFileOpenA (_Outptr_ PAVIFILE FAR * ppfile, _In_ LPCSTR szFile, |
| , | | UINT uMode, _In_opt_ LPCLSID lpHandler); |
| UINT uMode, __in_opt LPCLSID lpHandler); | | STDAPI AVIFileOpenW (_Outptr_ PAVIFILE FAR * ppfile, _In_ LPCWSTR szFile, |
| STDAPI AVIFileOpenW (__deref_out PAVIFILE FAR * ppfile, __in LPCWSTR szFil | | UINT uMode, _In_opt_ LPCLSID lpHandler); |
| 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 (__in PAVIFILE pfile, __out_bcount(lSize) LPAVIFILEINFOW pfi | | STDAPI AVIFileInfoW (_In_ PAVIFILE pfile, _Out_writes_bytes_(lSize) LPAVIFILEINF |
| , __in LONG lSize); | | OW pfi, _In_ LONG lSize); |
| STDAPI AVIFileInfoA (__in PAVIFILE pfile, __out_bcount(lSize) LPAVIFILEINFOA pfi | | STDAPI AVIFileInfoA (_In_ PAVIFILE pfile, _Out_writes_bytes_(lSize) LPAVIFILEINF |
| , __in LONG lSize); | | OA 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 (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR * p
pavi, __in DWORD fccType, __in LONG lParam); | | STDAPI AVIFileGetStream (_In_ PAVIFILE pfile, _Outptr_ PAVISTREAM FAR * ppav
i, _In_ DWORD fccType, _In_ LONG lParam); |
| | |
| #ifdef _WIN32 | | #ifdef _WIN32 |
|
| STDAPI AVIFileCreateStreamW (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR *pp | | STDAPI AVIFileCreateStreamW (_In_ PAVIFILE pfile, _Outptr_ PAVISTREAM FAR *ppavi |
| avi, __in AVISTREAMINFOW FAR * psi); | | , _In_ AVISTREAMINFOW FAR * psi); |
| STDAPI AVIFileCreateStreamA (__in PAVIFILE pfile, __deref_out PAVISTREAM FAR *pp | | STDAPI AVIFileCreateStreamA (_In_ PAVIFILE pfile, _Outptr_ PAVISTREAM FAR *ppavi |
| avi, __in AVISTREAMINFOA FAR * psi); | | , _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 (__in PAVIFILE pfile, | | STDAPI AVIFileWriteData (_In_ PAVIFILE pfile, |
| __in DWORD ckid, | | _In_ DWORD ckid, |
| __in_bcount(cbData) LPVOID lpData, | | _In_reads_bytes_(cbData) LPVOID lpData, |
| __in LONG cbData); | | _In_ LONG cbData); |
| STDAPI AVIFileReadData (__in PAVIFILE pfile, | | STDAPI AVIFileReadData (_In_ PAVIFILE pfile, |
| __in DWORD ckid, | | _In_ DWORD ckid, |
| __out_bcount_part(*lpcbData, *lpcbData) | | _Out_writes_bytes_to_(*lpcbData, *lpcbDa |
| LPVOID lpData, | | ta) LPVOID lpData, |
| __inout LONG FAR *lpcbData); | | _Inout_ LONG FAR *lpcbData); |
| STDAPI AVIFileEndRecord (__in PAVIFILE pfile); | | 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 (__in PAVISTREAM pavi, __out_bcount(lSize) LPAVISTREAMINFO | | STDAPI AVIStreamInfoW (_In_ PAVISTREAM pavi, _Out_writes_bytes_(lSize) LPAVISTRE |
| W psi, __in LONG lSize); | | AMINFOW psi, _In_ LONG lSize); |
| STDAPI AVIStreamInfoA (__in PAVISTREAM pavi, __out_bcount(lSize) LPAVISTREAMINFO | | STDAPI AVIStreamInfoA (_In_ PAVISTREAM pavi, _Out_writes_bytes_(lSize) LPAVISTRE |
| A psi, __in LONG lSize); | | AMINFOA 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(__in PAVISTREAM pavi, __in LONG lPos, __in LON | | STDAPI_(LONG) AVIStreamFindSample(_In_ PAVISTREAM pavi, _In_ LONG lPos, _In_ LON |
| G lFlags); | | G lFlags); |
| STDAPI AVIStreamReadFormat (__in PAVISTREAM pavi, __in LONG lPos,__out_bcount_ | | STDAPI AVIStreamReadFormat (_In_ PAVISTREAM pavi, _In_ LONG lPos,_Out_writes_b |
| part_opt(*lpcbFormat,*lpcbFormat) LPVOID lpFormat,__inout LONG FAR *lpcbFormat); | | ytes_to_opt_(*lpcbFormat,*lpcbFormat) LPVOID lpFormat,_Inout_ LONG FAR *lpcbForm |
| STDAPI AVIStreamSetFormat (__in PAVISTREAM pavi, __in LONG lPos,__in_bcount(c | | at); |
| bFormat) LPVOID lpFormat, __in LONG cbFormat); | | STDAPI AVIStreamSetFormat (_In_ PAVISTREAM pavi, _In_ LONG lPos,_In_reads_byt |
| STDAPI AVIStreamReadData (__in PAVISTREAM pavi, __in DWORD fcc, __out_bcount | | es_(cbFormat) LPVOID lpFormat, _In_ LONG cbFormat); |
| _part_opt(*lpcb, *lpcb) LPVOID lp, __inout LONG FAR *lpcb); | | STDAPI AVIStreamReadData (_In_ PAVISTREAM pavi, _In_ DWORD fcc, _Out_writes_ |
| STDAPI AVIStreamWriteData (__in PAVISTREAM pavi, __in DWORD fcc, __in_bcount( | | bytes_to_opt_(*lpcb, *lpcb) LPVOID lp, _Inout_ LONG FAR *lpcb); |
| cb) LPVOID lp, __in LONG cb); | | STDAPI AVIStreamWriteData (_In_ PAVISTREAM pavi, _In_ DWORD fcc, _In_reads_by |
| | tes_(cb) LPVOID lp, _In_ LONG cb); |
| | |
|
| STDAPI AVIStreamRead (__in PAVISTREAM pavi, | | STDAPI AVIStreamRead (_In_ PAVISTREAM pavi, |
| __in LONG lStart, | | _In_ LONG lStart, |
| __in LONG lSamples, | | _In_ LONG lSamples, |
| __out_bcount_opt(cbBuffer) LPVOID lpBuffer, | | _Out_writes_bytes_opt_(cbBuffer) LPVOID lpBuffer, |
| __in LONG cbBuffer, | | _In_ LONG cbBuffer, |
| __out_opt LONG FAR * plBytes, | | _Out_opt_ LONG FAR * plBytes, |
| __out_opt LONG FAR * plSamples); | | _Out_opt_ LONG FAR * plSamples); |
| #define AVISTREAMREAD_CONVENIENT (-1L) | | #define AVISTREAMREAD_CONVENIENT (-1L) |
| | |
|
| STDAPI AVIStreamWrite (__in PAVISTREAM pavi, | | STDAPI AVIStreamWrite (_In_ PAVISTREAM pavi, |
| __in LONG lStart, __in LONG lSamples, | | _In_ LONG lStart, _In_ LONG lSamples, |
| __in_bcount(cbBuffer) LPVOID lpBuffer, __in LONG cb | | _In_reads_bytes_(cbBuffer) LPVOID lpBuffer, _In_ LO |
| Buffer, __in DWORD dwFlags, | | NG cbBuffer, _In_ DWORD dwFlags, |
| __out_opt LONG FAR *plSampWritten, | | _Out_opt_ LONG FAR *plSampWritten, |
| __out_opt LONG FAR *plBytesWritten); | | _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 (__in PAVISTREAM pavi); | | STDAPI_(LONG) AVIStreamStart (_In_ PAVISTREAM pavi); |
| STDAPI_(LONG) AVIStreamLength (__in PAVISTREAM pavi); | | STDAPI_(LONG) AVIStreamLength (_In_ PAVISTREAM pavi); |
| STDAPI_(LONG) AVIStreamTimeToSample (__in PAVISTREAM pavi, __in LONG lTime); | | STDAPI_(LONG) AVIStreamTimeToSample (_In_ PAVISTREAM pavi, _In_ LONG lTime); |
| STDAPI_(LONG) AVIStreamSampleToTime (__in PAVISTREAM pavi, __in LONG lSample); | | STDAPI_(LONG) AVIStreamSampleToTime (_In_ PAVISTREAM pavi, _In_ LONG lSample); |
| | |
|
| STDAPI AVIStreamBeginStreaming(__in PAVISTREAM pavi, __in LONG lStart, __in LONG | | STDAPI AVIStreamBeginStreaming(_In_ PAVISTREAM pavi, _In_ LONG lStart, _In_ LONG |
| lEnd, __in LONG lRate); | | lEnd, _In_ LONG lRate); |
| STDAPI AVIStreamEndStreaming(__in PAVISTREAM pavi); | | STDAPI AVIStreamEndStreaming(_In_ PAVISTREAM pavi); |
| | |
| // | | // |
| // helper functions for using IGetFrame | | // helper functions for using IGetFrame |
| // | | // |
|
| STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(__in PAVISTREAM pavi, | | STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(_In_ PAVISTREAM pavi, |
| __in_opt LPBITMAPINFOHEADER lpbiWanted); | | _In_opt_ LPBITMAPINFOHEADER lpbiWanted); |
| STDAPI_(LPVOID) AVIStreamGetFrame(__in PGETFRAME pg, __in LONG lPos); | | STDAPI_(LPVOID) AVIStreamGetFrame(_In_ PGETFRAME pg, _In_ LONG lPos); |
| STDAPI AVIStreamGetFrameClose(__in 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(__deref_out PAVISTREAM FAR *ppavi, __in LPCSTR szF | | STDAPI AVIStreamOpenFromFileA(_Outptr_ PAVISTREAM FAR *ppavi, _In_ LPCSTR szFile |
| ile, | | , |
| __in DWORD fccType, __in LONG lParam, | | _In_ DWORD fccType, _In_ LONG lParam, |
| __in UINT mode, __in_opt CLSID FAR *pclsidHandler); | | _In_ UINT mode, _In_opt_ CLSID FAR *pclsidHandler); |
| STDAPI AVIStreamOpenFromFileW(__deref_out PAVISTREAM FAR *ppavi, LPCWSTR szFile, | | STDAPI AVIStreamOpenFromFileW(_Outptr_ PAVISTREAM FAR *ppavi, LPCWSTR szFile, |
| __in DWORD fccType, __in LONG lParam, | | _In_ DWORD fccType, _In_ LONG lParam, |
| __in UINT mode, __in_opt CLSID FAR *pclsidHandler); | | _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(__deref_out PAVISTREAM FAR *ppavi, __in LONG lParam1, __i | | STDAPI AVIStreamCreate(_Outptr_ PAVISTREAM FAR *ppavi, _In_ LONG lParam1, _In_ L |
| n LONG lParam2, | | ONG lParam2, |
| __in_opt CLSID FAR *pclsidHandler); | | _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 2481 | | skipping to change at line 2486 |
| * | | * |
| * 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( |
|
| __deref_out PAVISTREAM FAR * ppsCompressed, | | _Outptr_ PAVISTREAM FAR * ppsCompressed, |
| __in PAVISTREAM ppsSource, | | _In_ PAVISTREAM ppsSource, |
| __in AVICOMPRESSOPTIONS FAR * lpOptions, | | _In_ AVICOMPRESSOPTIONS FAR * lpOptions, |
| __in_opt CLSID FAR *pclsidHandler); | | _In_opt_ CLSID FAR *pclsidHandler); |
| | |
| EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, | | EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, |
|
| __in_opt CLSID FAR *pclsidHandler, | | _In_opt_ CLSID FAR *pclsidHandler, |
| __in AVISAVECALLBACK lpfnCallback, | | _In_ AVISAVECALLBACK lpfnCallback, |
| __in int nStreams, | | _In_ int nStreams, |
| __in PAVISTREAM pfile, | | _In_ PAVISTREAM pfile, |
| __in LPAVICOMPRESSOPTIONS lpOptions, | | _In_ LPAVICOMPRESSOPTIONS lpOptions, |
| ...); | | ...); |
| | |
| STDAPI AVISaveVA(LPCSTR szFile, | | STDAPI AVISaveVA(LPCSTR szFile, |
|
| __in_opt CLSID FAR *pclsidHandler, | | _In_opt_ CLSID FAR *pclsidHandler, |
| __in AVISAVECALLBACK lpfnCallback, | | _In_ AVISAVECALLBACK lpfnCallback, |
| __in int nStreams, | | _In_ int nStreams, |
| __in_ecount(nStreams) PAVISTREAM FAR * ppavi, | | _In_reads_(nStreams) PAVISTREAM FAR * ppavi, |
| __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOptions); | | _In_reads_(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOptions); |
| EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, | | EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, |
|
| __in_opt CLSID FAR *pclsidHandler, | | _In_opt_ CLSID FAR *pclsidHandler, |
| __in AVISAVECALLBACK lpfnCallback, | | _In_ AVISAVECALLBACK lpfnCallback, |
| __in int nStreams, | | _In_ int nStreams, |
| __in PAVISTREAM pfile, | | _In_ PAVISTREAM pfile, |
| __in LPAVICOMPRESSOPTIONS lpOptions, | | _In_ LPAVICOMPRESSOPTIONS lpOptions, |
| ...); | | ...); |
| | |
| STDAPI AVISaveVW(LPCWSTR szFile, | | STDAPI AVISaveVW(LPCWSTR szFile, |
|
| __in_opt CLSID FAR *pclsidHandler, | | _In_opt_ CLSID FAR *pclsidHandler, |
| __in AVISAVECALLBACK lpfnCallback, | | _In_ AVISAVECALLBACK lpfnCallback, |
| __in int nStreams, | | _In_ int nStreams, |
| __in_ecount(nStreams) PAVISTREAM FAR * ppavi, | | _In_reads_(nStreams) PAVISTREAM FAR * ppavi, |
| __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOptions); | | _In_reads_(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(__in HWND hwnd, | | STDAPI_(INT_PTR) AVISaveOptions(_In_ HWND hwnd, |
| __in UINT uiFlags, | | _In_ UINT uiFlags, |
| __in int nStreams, | | _In_ int nStreams, |
| __in_ecount(nStreams) PAVISTREAM FAR *ppavi, | | _In_reads_(nStreams) PAVISTREAM FAR *ppavi, |
| __inout_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *p | | _Inout_updates_(nStreams) LPAVICOMPRESSOPTIONS FAR * |
| lpOptions); | | plpOptions); |
| | |
| STDAPI AVISaveOptionsFree(int nStreams, | | STDAPI AVISaveOptionsFree(int nStreams, |
|
| __in_ecount(nStreams) LPAVICOMPRESSOPTIONS FAR *plpO
ptions); | | _In_reads_(nStreams) LPAVICOMPRESSOPTIONS FAR *plpOp
tions); |
| | |
| // 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(__out_ecount(cbFilter) LPWSTR lpszFilter, __in LONG cbFil | | STDAPI AVIBuildFilterW(_Out_writes_(cbFilter) LPWSTR lpszFilter, _In_ LONG cbFil |
| ter, __in BOOL fSaving); | | ter, _In_ BOOL fSaving); |
| STDAPI AVIBuildFilterA(__out_ecount(cbFilter) LPSTR lpszFilter, __in LONG cbFilt | | STDAPI AVIBuildFilterA(_Out_writes_(cbFilter) LPSTR lpszFilter, _In_ LONG cbFilt |
| er, __in BOOL fSaving); | | 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(__deref_out PAVIFILE FAR * ppfile, | | STDAPI AVIMakeFileFromStreams(_Outptr_ PAVIFILE FAR * ppfile, |
| __in int nStreams, | | _In_ int nStreams, |
| __in_ecount(nStreams) PAVISTREAM FAR * papStream | | _In_reads_(nStreams) PAVISTREAM FAR * papStream |
| s); | | s); |
| | |
|
| STDAPI AVIMakeStreamFromClipboard(UINT cfFormat, __in HANDLE hGlobal, __deref_ou
t PAVISTREAM FAR *ppstream); | | STDAPI AVIMakeStreamFromClipboard(UINT cfFormat, _In_ HANDLE hGlobal, _Outptr_ P
AVISTREAM FAR *ppstream); |
| | |
| /**************************************************************************** | | /**************************************************************************** |
| * | | * |
| * Clipboard routines | | * Clipboard routines |
| * | | * |
| ***************************************************************************/ | | ***************************************************************************/ |
| | |
|
| STDAPI AVIPutFileOnClipboard(__in PAVIFILE pf); | | STDAPI AVIPutFileOnClipboard(_In_ PAVIFILE pf); |
| | |
|
| STDAPI AVIGetFromClipboard(__deref_out PAVIFILE FAR * lppf); | | STDAPI AVIGetFromClipboard(_Outptr_ PAVIFILE FAR * lppf); |
| | |
| STDAPI AVIClearClipboard(void); | | STDAPI AVIClearClipboard(void); |
| | |
| /**************************************************************************** | | /**************************************************************************** |
| * | | * |
| * Editing routines | | * Editing routines |
| * | | * |
| ***************************************************************************/ | | ***************************************************************************/ |
| STDAPI CreateEditableStream( | | STDAPI CreateEditableStream( |
|
| __deref_out PAVISTREAM FAR * ppsEditable, | | _Outptr_ PAVISTREAM FAR * ppsEditable, |
| __in PAVISTREAM psSource); | | _In_ PAVISTREAM psSource); |
| | |
|
| STDAPI EditStreamCut(__in PAVISTREAM pavi, __inout LONG FAR *plStart, __inout LO
NG FAR *plLength, __deref_out PAVISTREAM FAR * ppResult); | | STDAPI EditStreamCut(_In_ PAVISTREAM pavi, _Inout_ LONG FAR *plStart, _Inout_ LO
NG FAR *plLength, _Outptr_ PAVISTREAM FAR * ppResult); |
| | |
|
| STDAPI EditStreamCopy(__in PAVISTREAM pavi, __inout LONG FAR *plStart, __inout L
ONG FAR *plLength, __deref_out PAVISTREAM FAR * ppResult); | | STDAPI EditStreamCopy(_In_ PAVISTREAM pavi, _Inout_ LONG FAR *plStart, _Inout_ L
ONG FAR *plLength, _Outptr_ PAVISTREAM FAR * ppResult); |
| | |
|
| STDAPI EditStreamPaste(__in PAVISTREAM pavi, __inout LONG FAR *plPos, __inout LO
NG FAR *plLength, __in PAVISTREAM pstream, __in LONG lStart, __in 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(__in PAVISTREAM pavi, __deref_out PAVISTREAM FAR *ppResul
t); | | STDAPI EditStreamClone(_In_ PAVISTREAM pavi, _Outptr_ PAVISTREAM FAR *ppResult); |
| | |
|
| STDAPI EditStreamSetNameA(__in PAVISTREAM pavi, __in LPCSTR lpszName); | | STDAPI EditStreamSetNameA(_In_ PAVISTREAM pavi, _In_ LPCSTR lpszName); |
| STDAPI EditStreamSetNameW(__in PAVISTREAM pavi, __in LPCWSTR lpszName); | | STDAPI EditStreamSetNameW(_In_ PAVISTREAM pavi, _In_ LPCWSTR lpszName); |
| STDAPI EditStreamSetInfoW(__in PAVISTREAM pavi, __in_bcount(cbInfo) LPAVISTREAMI | | STDAPI EditStreamSetInfoW(_In_ PAVISTREAM pavi, _In_reads_bytes_(cbInfo) LPAVIST |
| NFOW lpInfo, __in LONG cbInfo); | | REAMINFOW lpInfo, _In_ LONG cbInfo); |
| STDAPI EditStreamSetInfoA(__in PAVISTREAM pavi, __in_bcount(cbInfo) LPAVISTREAMI | | STDAPI EditStreamSetInfoA(_In_ PAVISTREAM pavi, _In_reads_bytes_(cbInfo) LPAVIST |
| NFOA lpInfo, __in LONG cbInfo); | | REAMINFOA 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 2714 | | skipping to change at line 2719 |
| #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_opt HWND hwndParent, | | _In_opt_ HWND hwndParent, |
| __in_opt HINSTANCE hInstance, | | _In_opt_ HINSTANCE hInstance, |
| __in DWORD dwStyle, | | _In_ DWORD dwStyle, |
| __in_opt LPCSTR szFile | | _In_opt_ LPCSTR szFile |
| ); | | ); |
| | |
| HWND | | HWND |
| VFWAPIV | | VFWAPIV |
| MCIWndCreateW( | | MCIWndCreateW( |
|
| __in_opt HWND hwndParent, | | _In_opt_ HWND hwndParent, |
| __in_opt HINSTANCE hInstance, | | _In_opt_ HINSTANCE hInstance, |
| __in DWORD dwStyle, | | _In_ DWORD dwStyle, |
| __in_opt 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 3555 | | skipping to change at line 3560 |
| 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) (__in HWND hWnd); | | typedef LRESULT (CALLBACK* CAPYIELDCALLBACK) (_In_ HWND hWnd); |
| typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKW) (__in HWND hWnd, __in int nID, LP | | typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKW) (_In_ HWND hWnd, _In_ int nID, LP |
| CWSTR lpsz); | | CWSTR lpsz); |
| typedef LRESULT (CALLBACK* CAPERRORCALLBACKW) (__in HWND hWnd, __in int nID, LP | | typedef LRESULT (CALLBACK* CAPERRORCALLBACKW) (_In_ HWND hWnd, _In_ int nID, LP |
| CWSTR lpsz); | | CWSTR lpsz); |
| typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKA) (__in HWND hWnd, __in int nID, LP | | typedef LRESULT (CALLBACK* CAPSTATUSCALLBACKA) (_In_ HWND hWnd, _In_ int nID, LP |
| CSTR lpsz); | | CSTR lpsz); |
| typedef LRESULT (CALLBACK* CAPERRORCALLBACKA) (__in HWND hWnd, __in int nID, LP | | typedef LRESULT (CALLBACK* CAPERRORCALLBACKA) (_In_ HWND hWnd, _In_ int nID, LP |
| CSTR lpsz); | | 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) (__in HWND hWnd, __in LPVIDEOHDR l | | typedef LRESULT (CALLBACK* CAPVIDEOCALLBACK) (_In_ HWND hWnd, _In_ LPVIDEOHDR l |
| pVHdr); | | pVHdr); |
| typedef LRESULT (CALLBACK* CAPWAVECALLBACK) (__in HWND hWnd, __in LPWAVEHDR lp | | typedef LRESULT (CALLBACK* CAPWAVECALLBACK) (_In_ HWND hWnd, _In_ LPWAVEHDR lp |
| WHdr); | | WHdr); |
| typedef LRESULT (CALLBACK* CAPCONTROLCALLBACK)(__in HWND hWnd, __in int nState); | | 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, |
|
| __in DWORD dwStyle, | | _In_ DWORD dwStyle, |
| __in int x, __in int y, __in int nWidth, __in int nHeight, | | _In_ int x, _In_ int y, _In_ int nWidth, _In_ int nHeight, |
| __in_opt HWND hwndParent, __in int nID); | | _In_opt_ HWND hwndParent, _In_ int nID); |
| | |
| BOOL VFWAPI capGetDriverDescriptionA (UINT wDriverIndex, | | BOOL VFWAPI capGetDriverDescriptionA (UINT wDriverIndex, |
|
| __out_ecount(cbName) LPSTR lpszName, __in int cbName, | | _Out_writes_(cbName) LPSTR lpszName, _In_ int cbName, |
| __out_ecount(cbVer) LPSTR lpszVer, __in int cbVer); | | _Out_writes_(cbVer) LPSTR lpszVer, _In_ int cbVer); |
| | |
| HWND VFWAPI capCreateCaptureWindowW ( | | HWND VFWAPI capCreateCaptureWindowW ( |
| LPCWSTR lpszWindowName, | | LPCWSTR lpszWindowName, |
| DWORD dwStyle, | | DWORD dwStyle, |
|
| __in int x, __in int y, __in int nWidth, __in int nHeight, | | _In_ int x, _In_ int y, _In_ int nWidth, _In_ int nHeight, |
| __in_opt HWND hwndParent, __in int nID); | | _In_opt_ HWND hwndParent, _In_ int nID); |
| | |
| BOOL VFWAPI capGetDriverDescriptionW (UINT wDriverIndex, | | BOOL VFWAPI capGetDriverDescriptionW (UINT wDriverIndex, |
|
| __out_ecount(cbName) LPWSTR lpszName, __in int cbName, | | _Out_writes_(cbName) LPWSTR lpszName, _In_ int cbName, |
| __out_ecount(cbVer) LPWSTR lpszVer, __in int cbVer); | | _Out_writes_(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 3716 | | skipping to change at line 3721 |
| /**************************************************************************** | | /**************************************************************************** |
| * | | * |
| * FilePreview dialog. | | * FilePreview dialog. |
| * | | * |
| ***************************************************************************/ | | ***************************************************************************/ |
| #ifdef OFN_READONLY | | #ifdef OFN_READONLY |
| | |
| BOOL | | BOOL |
| VFWAPI | | VFWAPI |
| GetOpenFileNamePreviewA( | | GetOpenFileNamePreviewA( |
|
| __inout LPOPENFILENAMEA lpofn | | _Inout_ LPOPENFILENAMEA lpofn |
| ); | | ); |
| | |
| BOOL | | BOOL |
| VFWAPI | | VFWAPI |
| GetSaveFileNamePreviewA( | | GetSaveFileNamePreviewA( |
|
| __inout LPOPENFILENAMEA lpofn | | _Inout_ LPOPENFILENAMEA lpofn |
| ); | | ); |
| | |
| BOOL | | BOOL |
| VFWAPI | | VFWAPI |
| GetOpenFileNamePreviewW( | | GetOpenFileNamePreviewW( |
|
| __inout LPOPENFILENAMEW lpofn | | _Inout_ LPOPENFILENAMEW lpofn |
| ); | | ); |
| | |
| BOOL | | BOOL |
| VFWAPI | | VFWAPI |
| GetSaveFileNamePreviewW( | | GetSaveFileNamePreviewW( |
|
| __inout 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 |
| | |
| #endif // OFN_READONLY | | #endif // OFN_READONLY |
| | |
| #ifndef RC_INVOKED | | #ifndef RC_INVOKED |
| #include "poppack.h" | | #include "poppack.h" |
| #endif | | #endif |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } /* End of extern "C" { */ | | } /* End of extern "C" { */ |
| #endif /* __cplusplus */ | | #endif /* __cplusplus */ |
| | |
|
| | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ |
| | #pragma endregion |
| | |
| #endif /* _INC_VFW */ | | #endif /* _INC_VFW */ |
| | |
| End of changes. 115 change blocks. |
| 473 lines changed or deleted | | 483 lines changed or added |
|