Updated msvideo. New program 'icinfo [-about] [-configure]' to
query installed (win32) compressors. Started on AVIFILE support.
This commit is contained in:
parent
3fb3da29a1
commit
32b32d8f3d
|
@ -4156,6 +4156,7 @@ ole/Makefile
|
||||||
programs/Makefile
|
programs/Makefile
|
||||||
programs/clock/Makefile
|
programs/clock/Makefile
|
||||||
programs/control/Makefile
|
programs/control/Makefile
|
||||||
|
programs/avitools/Makefile
|
||||||
programs/notepad/Makefile
|
programs/notepad/Makefile
|
||||||
programs/progman/Makefile
|
programs/progman/Makefile
|
||||||
programs/regtest/Makefile
|
programs/regtest/Makefile
|
||||||
|
@ -4310,6 +4311,7 @@ ole/Makefile
|
||||||
programs/Makefile
|
programs/Makefile
|
||||||
programs/clock/Makefile
|
programs/clock/Makefile
|
||||||
programs/control/Makefile
|
programs/control/Makefile
|
||||||
|
programs/avitools/Makefile
|
||||||
programs/notepad/Makefile
|
programs/notepad/Makefile
|
||||||
programs/progman/Makefile
|
programs/progman/Makefile
|
||||||
programs/regtest/Makefile
|
programs/regtest/Makefile
|
||||||
|
|
|
@ -600,6 +600,7 @@ ole/Makefile
|
||||||
programs/Makefile
|
programs/Makefile
|
||||||
programs/clock/Makefile
|
programs/clock/Makefile
|
||||||
programs/control/Makefile
|
programs/control/Makefile
|
||||||
|
programs/avitools/Makefile
|
||||||
programs/notepad/Makefile
|
programs/notepad/Makefile
|
||||||
programs/progman/Makefile
|
programs/progman/Makefile
|
||||||
programs/regtest/Makefile
|
programs/regtest/Makefile
|
||||||
|
|
129
include/debug.h
129
include/debug.h
|
@ -89,70 +89,71 @@
|
||||||
#define dbch_mpr 81
|
#define dbch_mpr 81
|
||||||
#define dbch_msacm 82
|
#define dbch_msacm 82
|
||||||
#define dbch_msg 83
|
#define dbch_msg 83
|
||||||
#define dbch_nativefont 84
|
#define dbch_msvideo 84
|
||||||
#define dbch_nonclient 85
|
#define dbch_nativefont 85
|
||||||
#define dbch_ntdll 86
|
#define dbch_nonclient 86
|
||||||
#define dbch_ole 87
|
#define dbch_ntdll 87
|
||||||
#define dbch_pager 88
|
#define dbch_ole 88
|
||||||
#define dbch_palette 89
|
#define dbch_pager 89
|
||||||
#define dbch_pidl 90
|
#define dbch_palette 90
|
||||||
#define dbch_print 91
|
#define dbch_pidl 91
|
||||||
#define dbch_process 92
|
#define dbch_print 92
|
||||||
#define dbch_profile 93
|
#define dbch_process 93
|
||||||
#define dbch_progress 94
|
#define dbch_profile 94
|
||||||
#define dbch_prop 95
|
#define dbch_progress 95
|
||||||
#define dbch_propsheet 96
|
#define dbch_prop 96
|
||||||
#define dbch_psapi 97
|
#define dbch_propsheet 97
|
||||||
#define dbch_psdrv 98
|
#define dbch_psapi 98
|
||||||
#define dbch_ras 99
|
#define dbch_psdrv 99
|
||||||
#define dbch_rebar 100
|
#define dbch_ras 100
|
||||||
#define dbch_reg 101
|
#define dbch_rebar 101
|
||||||
#define dbch_region 102
|
#define dbch_reg 102
|
||||||
#define dbch_relay 103
|
#define dbch_region 103
|
||||||
#define dbch_resource 104
|
#define dbch_relay 104
|
||||||
#define dbch_scroll 105
|
#define dbch_resource 105
|
||||||
#define dbch_security 106
|
#define dbch_scroll 106
|
||||||
#define dbch_segment 107
|
#define dbch_security 107
|
||||||
#define dbch_selector 108
|
#define dbch_segment 108
|
||||||
#define dbch_sem 109
|
#define dbch_selector 109
|
||||||
#define dbch_sendmsg 110
|
#define dbch_sem 110
|
||||||
#define dbch_server 111
|
#define dbch_sendmsg 111
|
||||||
#define dbch_shell 112
|
#define dbch_server 112
|
||||||
#define dbch_shm 113
|
#define dbch_shell 113
|
||||||
#define dbch_snoop 114
|
#define dbch_shm 114
|
||||||
#define dbch_sound 115
|
#define dbch_snoop 115
|
||||||
#define dbch_static 116
|
#define dbch_sound 116
|
||||||
#define dbch_statusbar 117
|
#define dbch_static 117
|
||||||
#define dbch_stress 118
|
#define dbch_statusbar 118
|
||||||
#define dbch_string 119
|
#define dbch_stress 119
|
||||||
#define dbch_syscolor 120
|
#define dbch_string 120
|
||||||
#define dbch_system 121
|
#define dbch_syscolor 121
|
||||||
#define dbch_tab 122
|
#define dbch_system 122
|
||||||
#define dbch_task 123
|
#define dbch_tab 123
|
||||||
#define dbch_text 124
|
#define dbch_task 124
|
||||||
#define dbch_thread 125
|
#define dbch_text 125
|
||||||
#define dbch_thunk 126
|
#define dbch_thread 126
|
||||||
#define dbch_timer 127
|
#define dbch_thunk 127
|
||||||
#define dbch_toolbar 128
|
#define dbch_timer 128
|
||||||
#define dbch_toolhelp 129
|
#define dbch_toolbar 129
|
||||||
#define dbch_tooltips 130
|
#define dbch_toolhelp 130
|
||||||
#define dbch_trackbar 131
|
#define dbch_tooltips 131
|
||||||
#define dbch_treeview 132
|
#define dbch_trackbar 132
|
||||||
#define dbch_tweak 133
|
#define dbch_treeview 133
|
||||||
#define dbch_uitools 134
|
#define dbch_tweak 134
|
||||||
#define dbch_updown 135
|
#define dbch_uitools 135
|
||||||
#define dbch_ver 136
|
#define dbch_updown 136
|
||||||
#define dbch_virtual 137
|
#define dbch_ver 137
|
||||||
#define dbch_vxd 138
|
#define dbch_virtual 138
|
||||||
#define dbch_wave 139
|
#define dbch_vxd 139
|
||||||
#define dbch_win 140
|
#define dbch_wave 140
|
||||||
#define dbch_win16drv 141
|
#define dbch_win 141
|
||||||
#define dbch_win32 142
|
#define dbch_win16drv 142
|
||||||
#define dbch_wing 143
|
#define dbch_win32 143
|
||||||
#define dbch_winsock 144
|
#define dbch_wing 144
|
||||||
#define dbch_wnet 145
|
#define dbch_winsock 145
|
||||||
#define dbch_x11 146
|
#define dbch_wnet 146
|
||||||
#define dbch_x11drv 147
|
#define dbch_x11 147
|
||||||
|
#define dbch_x11drv 148
|
||||||
/* Definitions for classes identifiers */
|
/* Definitions for classes identifiers */
|
||||||
#define dbcl_fixme 0
|
#define dbcl_fixme 0
|
||||||
#define dbcl_err 1
|
#define dbcl_err 1
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include "debugtools.h"
|
#include "debugtools.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEBUG_CHANNEL_COUNT 148
|
#define DEBUG_CHANNEL_COUNT 149
|
||||||
#ifdef DEBUG_RUNTIME
|
#ifdef DEBUG_RUNTIME
|
||||||
short debug_msg_enabled[][DEBUG_CLASS_COUNT] = {
|
short debug_msg_enabled[][DEBUG_CLASS_COUNT] = {
|
||||||
{1, 1, 0, 0},
|
{1, 1, 0, 0},
|
||||||
|
@ -155,6 +155,7 @@ short debug_msg_enabled[][DEBUG_CLASS_COUNT] = {
|
||||||
{1, 1, 0, 0},
|
{1, 1, 0, 0},
|
||||||
{1, 1, 0, 0},
|
{1, 1, 0, 0},
|
||||||
{1, 1, 0, 0},
|
{1, 1, 0, 0},
|
||||||
|
{1, 1, 0, 0},
|
||||||
};
|
};
|
||||||
const char* debug_ch_name[] = {
|
const char* debug_ch_name[] = {
|
||||||
"accel",
|
"accel",
|
||||||
|
@ -241,6 +242,7 @@ const char* debug_ch_name[] = {
|
||||||
"mpr",
|
"mpr",
|
||||||
"msacm",
|
"msacm",
|
||||||
"msg",
|
"msg",
|
||||||
|
"msvideo",
|
||||||
"nativefont",
|
"nativefont",
|
||||||
"nonclient",
|
"nonclient",
|
||||||
"ntdll",
|
"ntdll",
|
||||||
|
|
|
@ -158,8 +158,6 @@ typedef short VARIANT_BOOL;
|
||||||
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
|
#define VARIANT_TRUE ((VARIANT_BOOL)0xFFFF)
|
||||||
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
|
#define VARIANT_FALSE ((VARIANT_BOOL)0x0000)
|
||||||
|
|
||||||
typedef LONG SCODE;
|
|
||||||
|
|
||||||
enum VARENUM {
|
enum VARENUM {
|
||||||
VT_EMPTY = 0,
|
VT_EMPTY = 0,
|
||||||
VT_NULL = 1,
|
VT_NULL = 1,
|
||||||
|
|
434
include/vfw.h
434
include/vfw.h
|
@ -3,12 +3,19 @@
|
||||||
|
|
||||||
#include <wintypes.h>
|
#include <wintypes.h>
|
||||||
#include <driver.h>
|
#include <driver.h>
|
||||||
|
#include <objbase.h>
|
||||||
|
|
||||||
#define VFWAPI WINAPI
|
#define VFWAPI WINAPI
|
||||||
#define VFWAPIV WINAPIV
|
#define VFWAPIV WINAPIV
|
||||||
|
|
||||||
DWORD VFWAPI VideoForWindowsVersion(void);
|
DWORD VFWAPI VideoForWindowsVersion(void);
|
||||||
|
|
||||||
|
#ifndef mmioFOURCC
|
||||||
|
#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \
|
||||||
|
( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \
|
||||||
|
( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) )
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef aviTWOCC
|
#ifndef aviTWOCC
|
||||||
#define aviTWOCC(ch0, ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8))
|
#define aviTWOCC(ch0, ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8))
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,7 +23,6 @@ DWORD VFWAPI VideoForWindowsVersion(void);
|
||||||
#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
|
#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
|
||||||
#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
|
#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
|
||||||
|
|
||||||
|
|
||||||
/* Installable Compressor M? */
|
/* Installable Compressor M? */
|
||||||
|
|
||||||
/* HIC32 struct (same layout as Win95 one) */
|
/* HIC32 struct (same layout as Win95 one) */
|
||||||
|
@ -146,7 +152,87 @@ typedef struct {
|
||||||
/* 24: */
|
/* 24: */
|
||||||
} ICOPEN,*LPICOPEN;
|
} ICOPEN,*LPICOPEN;
|
||||||
|
|
||||||
/* Values for dwFlags of ICOpen() */
|
#define ICCOMPRESS_KEYFRAME 0x00000001L
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
DWORD dwFlags;
|
||||||
|
LPBITMAPINFOHEADER lpbiOutput;
|
||||||
|
LPVOID lpOutput;
|
||||||
|
LPBITMAPINFOHEADER lpbiInput;
|
||||||
|
LPVOID lpInput;
|
||||||
|
LPDWORD lpckid;
|
||||||
|
LPDWORD lpdwFlags;
|
||||||
|
LONG lFrameNum;
|
||||||
|
DWORD dwFrameSize;
|
||||||
|
DWORD dwQuality;
|
||||||
|
LPBITMAPINFOHEADER lpbiPrev;
|
||||||
|
LPVOID lpPrev;
|
||||||
|
} ICCOMPRESS;
|
||||||
|
|
||||||
|
DWORD VFWAPIV ICCompress32(
|
||||||
|
HIC32 hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData,
|
||||||
|
LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid,
|
||||||
|
LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality,
|
||||||
|
LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev
|
||||||
|
);
|
||||||
|
|
||||||
|
#define ICCompressGetFormat32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICCompressGetFormat WINELIB_NAME(ICCompressGetFormat)
|
||||||
|
|
||||||
|
#define ICCompressGetFormatSize32(hic,lpbi) ICCompressGetFormat32(hic,lpbi,NULL)
|
||||||
|
#define ICCompressGetFormatSize WINELIB_NAME(ICCompressGetFormatSize)
|
||||||
|
|
||||||
|
#define ICCompressBegin32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic, ICM_COMPRESS_BEGIN, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICCompressBegin WINELIB_NAME(ICCompressBegin)
|
||||||
|
|
||||||
|
#define ICCompressGetSize32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic, ICM_COMPRESS_GET_SIZE, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICCompressGetSize WINELIB_NAME(ICCompressGetSize)
|
||||||
|
|
||||||
|
#define ICCompressQuery32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic, ICM_COMPRESS_QUERY, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICCompressQuery WINELIB_NAME(ICCompressQuery)
|
||||||
|
|
||||||
|
|
||||||
|
#define ICCompressEnd32(hic) ICSendMessage32(hic, ICM_COMPRESS_END, 0, 0)
|
||||||
|
#define ICCompressEnd WINELIB_NAME(ICCompressEnd)
|
||||||
|
|
||||||
|
/* ICCOMPRESSFRAMES.dwFlags */
|
||||||
|
#define ICCOMPRESSFRAMES_PADDING 0x00000001
|
||||||
|
typedef struct {
|
||||||
|
DWORD dwFlags;
|
||||||
|
LPBITMAPINFOHEADER lpbiOutput;
|
||||||
|
LPARAM lOutput;
|
||||||
|
LPBITMAPINFOHEADER lpbiInput;
|
||||||
|
LPARAM lInput;
|
||||||
|
LONG lStartFrame;
|
||||||
|
LONG lFrameCount;
|
||||||
|
LONG lQuality;
|
||||||
|
LONG lDataRate;
|
||||||
|
LONG lKeyRate;
|
||||||
|
DWORD dwRate;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwOverheadPerFrame;
|
||||||
|
DWORD dwReserved2;
|
||||||
|
LONG (CALLBACK *GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len);
|
||||||
|
LONG (CALLBACK *PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len);
|
||||||
|
} ICCOMPRESSFRAMES;
|
||||||
|
|
||||||
|
/* Values for wMode of ICOpen() */
|
||||||
#define ICMODE_COMPRESS 1
|
#define ICMODE_COMPRESS 1
|
||||||
#define ICMODE_DECOMPRESS 2
|
#define ICMODE_DECOMPRESS 2
|
||||||
#define ICMODE_FASTDECOMPRESS 3
|
#define ICMODE_FASTDECOMPRESS 3
|
||||||
|
@ -174,9 +260,9 @@ typedef struct {
|
||||||
WCHAR szDriver[128]; /* 138:driver that contains compressor*/
|
WCHAR szDriver[128]; /* 138:driver that contains compressor*/
|
||||||
/* 238: */
|
/* 238: */
|
||||||
} ICINFO32;
|
} ICINFO32;
|
||||||
|
DECL_WINELIB_TYPE(ICINFO);
|
||||||
|
|
||||||
|
/* ICINFO.dwFlags */
|
||||||
/* Flags for the <dwFlags> field of the <ICINFO> structure. */
|
|
||||||
#define VIDCF_QUALITY 0x0001 /* supports quality */
|
#define VIDCF_QUALITY 0x0001 /* supports quality */
|
||||||
#define VIDCF_CRUNCH 0x0002 /* supports crunching to a frame size */
|
#define VIDCF_CRUNCH 0x0002 /* supports crunching to a frame size */
|
||||||
#define VIDCF_TEMPORAL 0x0004 /* supports inter-frame compress */
|
#define VIDCF_TEMPORAL 0x0004 /* supports inter-frame compress */
|
||||||
|
@ -193,19 +279,22 @@ typedef struct {
|
||||||
/* ICM_ABOUT */
|
/* ICM_ABOUT */
|
||||||
#define ICMF_ABOUT_QUERY 0x00000001
|
#define ICMF_ABOUT_QUERY 0x00000001
|
||||||
|
|
||||||
#define ICQueryAbout(hic) \
|
#define ICQueryAbout32(hic) \
|
||||||
(ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
|
(ICSendMessage32(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
|
||||||
|
#define ICQueryAbout WINELIB_NAME(ICQueryAbout)
|
||||||
|
|
||||||
#define ICAbout(hic, hwnd) \
|
#define ICAbout32(hic, hwnd) ICSendMessage32(hic,ICM_ABOUT,(DWORD)(UINT)(hwnd),0)
|
||||||
ICSendMessage(hic,ICM_ABOUT,(DWORD)(UINT)(hwnd),0)
|
#define ICAbout WINELIB_NAME(ICAbout)
|
||||||
|
|
||||||
/* ICM_CONFIGURE */
|
/* ICM_CONFIGURE */
|
||||||
#define ICMF_CONFIGURE_QUERY 0x00000001
|
#define ICMF_CONFIGURE_QUERY 0x00000001
|
||||||
#define ICQueryConfigure(hic) \
|
#define ICQueryConfigure32(hic) \
|
||||||
(ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
|
(ICSendMessage32(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
|
||||||
|
#define ICQueryConfigure WINELIB_NAME(ICQueryConfigure)
|
||||||
|
|
||||||
#define ICConfigure(hic,hwnd) \
|
#define ICConfigure32(hic,hwnd) \
|
||||||
ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(UINT)(hwnd),0)
|
ICSendMessage32(hic,ICM_CONFIGURE,(DWORD)(UINT)(hwnd),0)
|
||||||
|
#define ICConfigure WINELIB_NAME(ICConfigure)
|
||||||
|
|
||||||
/* Decompression stuff */
|
/* Decompression stuff */
|
||||||
#define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */
|
#define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */
|
||||||
|
@ -242,15 +331,67 @@ typedef struct {
|
||||||
INT32 dySrc;
|
INT32 dySrc;
|
||||||
} ICDECOMPRESSEX;
|
} ICDECOMPRESSEX;
|
||||||
|
|
||||||
|
DWORD VFWAPIV ICDecompress32(HIC32 hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits);
|
||||||
|
#define ICDecompress WINELIB_NAME(ICDecompress)
|
||||||
|
|
||||||
|
|
||||||
|
#define ICDecompressBegin32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic, ICM_DECOMPRESS_BEGIN, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICDecompressBegin WINELIB_NAME(ICDecompressBegin)
|
||||||
|
|
||||||
|
#define ICDecompressQuery32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic,ICM_DECOMPRESS_QUERY, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD) (LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICDecompressQuery WINELIB_NAME(ICDecompressQuery)
|
||||||
|
|
||||||
|
#define ICDecompressGetFormat32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
((LONG)ICSendMessage32( \
|
||||||
|
hic,ICM_DECOMPRESS_GET_FORMAT, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
))
|
||||||
|
#define ICDecompressGetFormat WINELIB_NAME(ICDecompressGetFormat)
|
||||||
|
|
||||||
|
#define ICDecompressGetFormatSize32(hic, lpbi) \
|
||||||
|
ICDecompressGetFormat32(hic, lpbi, NULL)
|
||||||
|
#define ICDecompressGetFormatSize WINELIB_NAME(ICDecompressGetFormatSize)
|
||||||
|
|
||||||
|
#define ICDecompressGetPalette32(hic, lpbiInput, lpbiOutput) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic, ICM_DECOMPRESS_GET_PALETTE, (DWORD)(LPVOID)(lpbiInput), \
|
||||||
|
(DWORD)(LPVOID)(lpbiOutput) \
|
||||||
|
)
|
||||||
|
#define ICDecompressGetPalette WINELIB_NAME(ICDecompressGetPalette)
|
||||||
|
|
||||||
|
#define ICDecompressSetPalette32(hic,lpbiPalette) \
|
||||||
|
ICSendMessage32( \
|
||||||
|
hic,ICM_DECOMPRESS_SET_PALETTE, \
|
||||||
|
(DWORD)(LPVOID)(lpbiPalette),0 \
|
||||||
|
)
|
||||||
|
#define ICDecompressSetPalette WINELIB_NAME(ICDecompressSetPalette)
|
||||||
|
|
||||||
|
#define ICDecompressEnd32(hic) ICSendMessage32(hic, ICM_DECOMPRESS_END, 0, 0)
|
||||||
|
#define ICDecompressEnd WINELIB_NAME(ICDecompressEnd)
|
||||||
|
|
||||||
|
|
||||||
#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 */
|
||||||
|
|
||||||
|
|
||||||
BOOL32 VFWAPI ICInfo32(DWORD fccType, DWORD fccHandler, ICINFO32 * lpicinfo);
|
BOOL32 VFWAPI ICInfo32(DWORD fccType, DWORD fccHandler, ICINFO32 * lpicinfo);
|
||||||
|
#define ICInfo WINELIB_NAME(ICInfo)
|
||||||
LRESULT VFWAPI ICGetInfo32(HIC32 hic,ICINFO32 *picinfo, DWORD cb);
|
LRESULT VFWAPI ICGetInfo32(HIC32 hic,ICINFO32 *picinfo, DWORD cb);
|
||||||
|
#define ICGetInfo WINELIB_NAME(ICGetInfo)
|
||||||
HIC32 VFWAPI ICOpen32(DWORD fccType, DWORD fccHandler, UINT32 wMode);
|
HIC32 VFWAPI ICOpen32(DWORD fccType, DWORD fccHandler, UINT32 wMode);
|
||||||
|
#define ICOpen WINELIB_NAME(ICOpen)
|
||||||
|
LRESULT VFWAPI ICClose32(HIC32 hic);
|
||||||
|
#define ICClose WINELIB_NAME(ICClose)
|
||||||
LRESULT VFWAPI ICSendMessage32(HIC32 hic, UINT32 msg, DWORD dw1, DWORD dw2);
|
LRESULT VFWAPI ICSendMessage32(HIC32 hic, UINT32 msg, DWORD dw1, DWORD dw2);
|
||||||
|
#define ICSendMessage WINELIB_NAME(ICSendMessage)
|
||||||
DWORD VFWAPIV ICDrawBegin32(
|
DWORD VFWAPIV ICDrawBegin32(
|
||||||
HIC32 hic,
|
HIC32 hic,
|
||||||
DWORD dwFlags,/* flags */
|
DWORD dwFlags,/* flags */
|
||||||
|
@ -267,6 +408,271 @@ DWORD VFWAPIV ICDrawBegin32(
|
||||||
INT32 dxSrc,
|
INT32 dxSrc,
|
||||||
INT32 dySrc,
|
INT32 dySrc,
|
||||||
DWORD dwRate, /* frames/second = (dwRate/dwScale) */
|
DWORD dwRate, /* frames/second = (dwRate/dwScale) */
|
||||||
DWORD dwScale);
|
DWORD dwScale
|
||||||
|
);
|
||||||
|
#define ICDrawBegin WINELIB_NAME(ICDrawBegin)
|
||||||
|
|
||||||
|
/********************* AVIFILE function declarations *************************/
|
||||||
|
|
||||||
|
/* AVIFileHdr.dwFlags */
|
||||||
|
#define AVIF_HASINDEX 0x00000010 /* Index at end of file? */
|
||||||
|
#define AVIF_MUSTUSEINDEX 0x00000020
|
||||||
|
#define AVIF_ISINTERLEAVED 0x00000100
|
||||||
|
#define AVIF_TRUSTCKTYPE 0x00000800 /* Use CKType to find key frames*/
|
||||||
|
#define AVIF_WASCAPTUREFILE 0x00010000
|
||||||
|
#define AVIF_COPYRIGHTED 0x00020000
|
||||||
|
|
||||||
|
#define AVI_HEADERSIZE 2048
|
||||||
|
|
||||||
|
/* AVIStreamHeader.dwFlags */
|
||||||
|
#define AVISF_DISABLED 0x00000001
|
||||||
|
#define AVISF_VIDEO_PALCHANGES 0x00010000
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
FOURCC fccType;
|
||||||
|
FOURCC fccHandler;
|
||||||
|
DWORD dwFlags; /* AVISF_* */
|
||||||
|
WORD wPriority;
|
||||||
|
WORD wLanguage;
|
||||||
|
DWORD dwInitialFrames;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwRate; /* dwRate / dwScale == samples/second */
|
||||||
|
DWORD dwStart;
|
||||||
|
DWORD dwLength; /* In units above... */
|
||||||
|
DWORD dwSuggestedBufferSize;
|
||||||
|
DWORD dwQuality;
|
||||||
|
DWORD dwSampleSize;
|
||||||
|
RECT32 rcFrame;
|
||||||
|
} AVIStreamHeader;
|
||||||
|
|
||||||
|
/* AVIINDEXENTRY.dwFlags */
|
||||||
|
#define AVIIF_LIST 0x00000001 /* chunk is a 'LIST' */
|
||||||
|
#define AVIIF_KEYFRAME 0x00000010 /* this frame is a key frame. */
|
||||||
|
|
||||||
|
#define AVIIF_NOTIME 0x00000100 /* this frame doesn't take any time */
|
||||||
|
#define AVIIF_COMPUSE 0x0FFF0000
|
||||||
|
|
||||||
|
typedef struct _AVIINDEXENTRY {
|
||||||
|
DWORD ckid;
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwChunkOffset;
|
||||||
|
DWORD dwChunkLength;
|
||||||
|
} AVIINDEXENTRY;
|
||||||
|
|
||||||
|
typedef struct _AVIPALCHANGE {
|
||||||
|
BYTE bFirstEntry;
|
||||||
|
BYTE bNumEntries;
|
||||||
|
WORD wFlags; /* pad */
|
||||||
|
PALETTEENTRY peNew[1];
|
||||||
|
} AVIPALCHANGE;
|
||||||
|
|
||||||
|
#define AVIIF_KEYFRAME 0x00000010 /* this frame is a key frame. */
|
||||||
|
|
||||||
|
#define AVIGETFRAMEF_BESTDISPLAYFMT 1
|
||||||
|
|
||||||
|
typedef struct _AVISTREAMINFO32A {
|
||||||
|
DWORD fccType;
|
||||||
|
DWORD fccHandler;
|
||||||
|
DWORD dwFlags; /* AVIIF_* */
|
||||||
|
DWORD dwCaps;
|
||||||
|
WORD wPriority;
|
||||||
|
WORD wLanguage;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwRate; /* dwRate / dwScale == samples/second */
|
||||||
|
DWORD dwStart;
|
||||||
|
DWORD dwLength; /* In units above... */
|
||||||
|
DWORD dwInitialFrames;
|
||||||
|
DWORD dwSuggestedBufferSize;
|
||||||
|
DWORD dwQuality;
|
||||||
|
DWORD dwSampleSize;
|
||||||
|
RECT32 rcFrame;
|
||||||
|
DWORD dwEditCount;
|
||||||
|
DWORD dwFormatChangeCount;
|
||||||
|
CHAR szName[64];
|
||||||
|
} AVISTREAMINFO32A, * LPAVISTREAMINFO32A, *PAVISTREAMINFO32A;
|
||||||
|
|
||||||
|
typedef struct _AVISTREAMINFO32W {
|
||||||
|
DWORD fccType;
|
||||||
|
DWORD fccHandler;
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwCaps;
|
||||||
|
WORD wPriority;
|
||||||
|
WORD wLanguage;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwRate; /* dwRate / dwScale == samples/second */
|
||||||
|
DWORD dwStart;
|
||||||
|
DWORD dwLength; /* In units above... */
|
||||||
|
DWORD dwInitialFrames;
|
||||||
|
DWORD dwSuggestedBufferSize;
|
||||||
|
DWORD dwQuality;
|
||||||
|
DWORD dwSampleSize;
|
||||||
|
RECT32 rcFrame;
|
||||||
|
DWORD dwEditCount;
|
||||||
|
DWORD dwFormatChangeCount;
|
||||||
|
WCHAR szName[64];
|
||||||
|
} AVISTREAMINFO32W, * LPAVISTREAMINFO32W, *PAVISTREAMINFO32W;
|
||||||
|
DECL_WINELIB_TYPE_AW(AVISTREAMINFO);
|
||||||
|
DECL_WINELIB_TYPE_AW(LPAVISTREAMINFO);
|
||||||
|
DECL_WINELIB_TYPE_AW(PAVISTREAMINFO);
|
||||||
|
|
||||||
|
#define AVISTREAMINFO_DISABLED 0x00000001
|
||||||
|
#define AVISTREAMINFO_FORMATCHANGES 0x00010000
|
||||||
|
|
||||||
|
/* AVIFILEINFO.dwFlags */
|
||||||
|
#define AVIFILEINFO_HASINDEX 0x00000010
|
||||||
|
#define AVIFILEINFO_MUSTUSEINDEX 0x00000020
|
||||||
|
#define AVIFILEINFO_ISINTERLEAVED 0x00000100
|
||||||
|
#define AVIFILEINFO_WASCAPTUREFILE 0x00010000
|
||||||
|
#define AVIFILEINFO_COPYRIGHTED 0x00020000
|
||||||
|
|
||||||
|
/* AVIFILEINFO.dwCaps */
|
||||||
|
#define AVIFILECAPS_CANREAD 0x00000001
|
||||||
|
#define AVIFILECAPS_CANWRITE 0x00000002
|
||||||
|
#define AVIFILECAPS_ALLKEYFRAMES 0x00000010
|
||||||
|
#define AVIFILECAPS_NOCOMPRESSION 0x00000020
|
||||||
|
|
||||||
|
typedef struct _AVIFILEINFO32W {
|
||||||
|
DWORD dwMaxBytesPerSec;
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwCaps;
|
||||||
|
DWORD dwStreams;
|
||||||
|
DWORD dwSuggestedBufferSize;
|
||||||
|
DWORD dwWidth;
|
||||||
|
DWORD dwHeight;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwRate;
|
||||||
|
DWORD dwLength;
|
||||||
|
DWORD dwEditCount;
|
||||||
|
WCHAR szFileType[64];
|
||||||
|
} AVIFILEINFO32W, * LPAVIFILEINFO32W, *PAVIFILEINFO32W;
|
||||||
|
typedef struct _AVIFILEINFO32A {
|
||||||
|
DWORD dwMaxBytesPerSec;
|
||||||
|
DWORD dwFlags;
|
||||||
|
DWORD dwCaps;
|
||||||
|
DWORD dwStreams;
|
||||||
|
DWORD dwSuggestedBufferSize;
|
||||||
|
DWORD dwWidth;
|
||||||
|
DWORD dwHeight;
|
||||||
|
DWORD dwScale;
|
||||||
|
DWORD dwRate;
|
||||||
|
DWORD dwLength;
|
||||||
|
DWORD dwEditCount;
|
||||||
|
CHAR szFileType[64];
|
||||||
|
} AVIFILEINFO32A, * LPAVIFILEINFO32A, *PAVIFILEINFO32A;
|
||||||
|
DECL_WINELIB_TYPE_AW(AVIFILEINFO);
|
||||||
|
DECL_WINELIB_TYPE_AW(PAVIFILEINFO);
|
||||||
|
DECL_WINELIB_TYPE_AW(LPAVIFILEINFO);
|
||||||
|
|
||||||
|
/* AVICOMPRESSOPTIONS.dwFlags. determines presence of fields in below struct */
|
||||||
|
#define AVICOMPRESSF_INTERLEAVE 0x00000001
|
||||||
|
#define AVICOMPRESSF_DATARATE 0x00000002
|
||||||
|
#define AVICOMPRESSF_KEYFRAMES 0x00000004
|
||||||
|
#define AVICOMPRESSF_VALID 0x00000008
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
DWORD fccType; /* stream type, for consistency */
|
||||||
|
DWORD fccHandler; /* compressor */
|
||||||
|
DWORD dwKeyFrameEvery; /* keyframe rate */
|
||||||
|
DWORD dwQuality; /* compress quality 0-10,000 */
|
||||||
|
DWORD dwBytesPerSecond; /* bytes per second */
|
||||||
|
DWORD dwFlags; /* flags... see below */
|
||||||
|
LPVOID lpFormat; /* save format */
|
||||||
|
DWORD cbFormat;
|
||||||
|
LPVOID lpParms; /* compressor options */
|
||||||
|
DWORD cbParms;
|
||||||
|
DWORD dwInterleaveEvery; /* for non-video streams only */
|
||||||
|
} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define DEFINE_AVIGUID(name, l, w1, w2) \
|
||||||
|
DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46)
|
||||||
|
|
||||||
|
DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0);
|
||||||
|
DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0);
|
||||||
|
DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0);
|
||||||
|
DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0);
|
||||||
|
DEFINE_AVIGUID(IID_IAVIEditStream, 0x00020024, 0, 0);
|
||||||
|
|
||||||
|
DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
|
/* IAVIStream32 interface. */
|
||||||
|
#define ICOM_INTERFACE IAVIStream32
|
||||||
|
typedef struct IAVIStream32 IAVIStream32,*PAVISTREAM32;
|
||||||
|
ICOM_BEGIN(IAVIStream32, IUnknown)
|
||||||
|
ICOM_METHOD2(HRESULT,Create,LPARAM,,LPARAM,);
|
||||||
|
ICOM_METHOD2(HRESULT,Info,AVISTREAMINFO32W*,,LONG,);
|
||||||
|
ICOM_METHOD2(LONG,FindSample,LONG,,LONG,);
|
||||||
|
ICOM_METHOD3(HRESULT,ReadFormat,LONG,,LPVOID,,LONG*,);
|
||||||
|
ICOM_METHOD3(HRESULT,SetFormat,LONG,,LPVOID,,LONG,);
|
||||||
|
ICOM_METHOD6(HRESULT,Read,LONG,,LONG,,LPVOID,,LONG,,LONG*,,LONG*,);
|
||||||
|
ICOM_METHOD7(HRESULT,Write,LONG,,LONG,,LPVOID,,LONG,,DWORD,,LONG*,,LONG*,);
|
||||||
|
ICOM_METHOD2(HRESULT,Delete,LONG,,LONG,);
|
||||||
|
ICOM_METHOD3(HRESULT,ReadData,DWORD,,LPVOID,,LONG*,);
|
||||||
|
ICOM_METHOD3(HRESULT,WriteData,DWORD,,LPVOID,,LONG,);
|
||||||
|
ICOM_METHOD2(HRESULT,SetInfo,AVISTREAMINFO32W*,,LONG,);
|
||||||
|
ICOM_END(IAVIStream32)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
/* IAVIFile32 interface. In Win32 this interface uses UNICODE only */
|
||||||
|
#define ICOM_INTERFACE IAVIFile32
|
||||||
|
typedef struct IAVIFile32 IAVIFile32,*PAVIFILE32;
|
||||||
|
ICOM_BEGIN(IAVIFile32,IUnknown)
|
||||||
|
ICOM_METHOD2(HRESULT,Info,AVIFILEINFO32W*,,LONG,);
|
||||||
|
ICOM_METHOD3(HRESULT,GetStream,PAVISTREAM32*,,DWORD,,LONG,);
|
||||||
|
ICOM_METHOD2(HRESULT,CreateStream,PAVISTREAM32*,,AVISTREAMINFO32W*,);
|
||||||
|
ICOM_METHOD3(HRESULT,WriteData,DWORD,,LPVOID,,LONG,);
|
||||||
|
ICOM_METHOD3(HRESULT,ReadData,DWORD,,LPVOID,,LONG*,);
|
||||||
|
ICOM_METHOD (HRESULT,EndRecord);
|
||||||
|
ICOM_METHOD2(HRESULT,DeleteStream,DWORD,,LONG,);
|
||||||
|
ICOM_END(IAVIFile32)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
#define AVIERR_OK 0
|
||||||
|
#define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+error)
|
||||||
|
|
||||||
|
#define AVIERR_UNSUPPORTED MAKE_AVIERR(101)
|
||||||
|
#define AVIERR_BADFORMAT MAKE_AVIERR(102)
|
||||||
|
#define AVIERR_MEMORY MAKE_AVIERR(103)
|
||||||
|
#define AVIERR_INTERNAL MAKE_AVIERR(104)
|
||||||
|
#define AVIERR_BADFLAGS MAKE_AVIERR(105)
|
||||||
|
#define AVIERR_BADPARAM MAKE_AVIERR(106)
|
||||||
|
#define AVIERR_BADSIZE MAKE_AVIERR(107)
|
||||||
|
#define AVIERR_BADHANDLE MAKE_AVIERR(108)
|
||||||
|
#define AVIERR_FILEREAD MAKE_AVIERR(109)
|
||||||
|
#define AVIERR_FILEWRITE MAKE_AVIERR(110)
|
||||||
|
#define AVIERR_FILEOPEN MAKE_AVIERR(111)
|
||||||
|
#define AVIERR_COMPRESSOR MAKE_AVIERR(112)
|
||||||
|
#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113)
|
||||||
|
#define AVIERR_READONLY MAKE_AVIERR(114)
|
||||||
|
#define AVIERR_NODATA MAKE_AVIERR(115)
|
||||||
|
#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116)
|
||||||
|
#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117)
|
||||||
|
#define AVIERR_USERABORT MAKE_AVIERR(198)
|
||||||
|
#define AVIERR_ERROR MAKE_AVIERR(199)
|
||||||
|
|
||||||
|
void WINAPI AVIFileInit32(void);
|
||||||
|
#define AVIFileInit WINELIB_NAME(AVIFileInit)
|
||||||
|
|
||||||
|
HRESULT WINAPI AVIFileOpen32A(PAVIFILE32 * ppfile,LPCSTR szFile,UINT32 uMode,LPCLSID lpHandler);
|
||||||
|
#define AVIFileOpen WINELIB_NAME_AW(AVIFileOpen)
|
||||||
|
|
||||||
|
HRESULT WINAPI AVIFileCreateStream32A(PAVIFILE32 pfile,PAVISTREAM32 *ppavi,AVISTREAMINFO32A * psi);
|
||||||
|
HRESULT WINAPI AVIFileCreateStream32W(PAVIFILE32 pfile,PAVISTREAM32 *ppavi,AVISTREAMINFO32W * psi);
|
||||||
|
#define AVIFileCreateStream WINELIB_NAME_AW(AVIFileCreateStream)
|
||||||
|
HRESULT WINAPI AVIMakeCompressedStream32(PAVISTREAM32*ppsCompressed,PAVISTREAM32 ppsSource,AVICOMPRESSOPTIONS *lpOptions,CLSID*pclsidHandler);
|
||||||
|
#define AVIMakeCompressedStream WINELIB_NAME_AW(AVIMakeCompressedStream)
|
||||||
|
HRESULT WINAPI AVIStreamSetFormat32(PAVISTREAM32 iface,LONG pos,LPVOID format,LONG formatsize);
|
||||||
|
#define AVIStreamSetFormat WINELIB_NAME(AVIStreamSetFormat)
|
||||||
|
HRESULT WINAPI AVIStreamWrite32(PAVISTREAM32 iface,LONG start,LONG samples,LPVOID buffer,LONG buffersize,DWORD flags,LONG *sampwritten,LONG *byteswritten);
|
||||||
|
#define AVIStreamWrite WINELIB_NAME(AVIStreamWrite)
|
||||||
|
ULONG WINAPI AVIStreamRelease32(PAVISTREAM32 iface);
|
||||||
|
#define AVIStreamRelease WINELIB_NAME(AVIStreamRelease)
|
||||||
|
ULONG WINAPI AVIFileRelease32(PAVIFILE32 iface);
|
||||||
|
#define AVIFileRelease WINELIB_NAME(AVIFileRelease)
|
||||||
|
void WINAPI AVIFileExit32(void);
|
||||||
|
#define AVIFileExit WINELIB_NAME(AVIFileExit)
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
extern int WIN32_LastError;
|
extern int WIN32_LastError;
|
||||||
|
|
||||||
|
#define FACILITY_ITF 4
|
||||||
#define FACILITY_WIN32 7
|
#define FACILITY_WIN32 7
|
||||||
|
|
||||||
#define SEVERITY_ERROR 1
|
#define SEVERITY_ERROR 1
|
||||||
|
|
|
@ -89,6 +89,7 @@ typedef unsigned short WCHAR;
|
||||||
typedef unsigned short BOOL16;
|
typedef unsigned short BOOL16;
|
||||||
typedef int BOOL32;
|
typedef int BOOL32;
|
||||||
typedef double DATE;
|
typedef double DATE;
|
||||||
|
typedef long SCODE;
|
||||||
typedef long LONG_PTR;
|
typedef long LONG_PTR;
|
||||||
typedef unsigned long ULONG_PTR;
|
typedef unsigned long ULONG_PTR;
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
|
@ -301,6 +302,7 @@ DECL_WINELIB_TYPE(HFILE)
|
||||||
DECL_WINELIB_TYPE(HFONT)
|
DECL_WINELIB_TYPE(HFONT)
|
||||||
DECL_WINELIB_TYPE(HGDIOBJ)
|
DECL_WINELIB_TYPE(HGDIOBJ)
|
||||||
DECL_WINELIB_TYPE(HGLOBAL)
|
DECL_WINELIB_TYPE(HGLOBAL)
|
||||||
|
DECL_WINELIB_TYPE(HIC)
|
||||||
DECL_WINELIB_TYPE(HICON)
|
DECL_WINELIB_TYPE(HICON)
|
||||||
DECL_WINELIB_TYPE(HINSTANCE)
|
DECL_WINELIB_TYPE(HINSTANCE)
|
||||||
DECL_WINELIB_TYPE(HLOCAL)
|
DECL_WINELIB_TYPE(HLOCAL)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
* Copyright 1998 Marcus Meissner
|
* Copyright 1998 Marcus Meissner
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <strings.h>
|
||||||
|
|
||||||
#include "windows.h"
|
#include "windows.h"
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
|
@ -36,7 +37,7 @@ ICInfo32(
|
||||||
char type[5],buf[2000];
|
char type[5],buf[2000];
|
||||||
|
|
||||||
memcpy(type,&fccType,4);type[4]=0;
|
memcpy(type,&fccType,4);type[4]=0;
|
||||||
TRACE(mmsys,"(%s,%ld,%p).\n",type,fccHandler,lpicinfo);
|
TRACE(msvideo,"(%s,%ld,%p).\n",type,fccHandler,lpicinfo);
|
||||||
/* does OpenDriver/CloseDriver */
|
/* does OpenDriver/CloseDriver */
|
||||||
lpicinfo->dwSize = sizeof(ICINFO32);
|
lpicinfo->dwSize = sizeof(ICINFO32);
|
||||||
lpicinfo->fccType = fccType;
|
lpicinfo->fccType = fccType;
|
||||||
|
@ -69,8 +70,13 @@ ICOpen32(DWORD fccType,DWORD fccHandler,UINT32 wMode) {
|
||||||
|
|
||||||
memcpy(type,&fccType,4);type[4]=0;
|
memcpy(type,&fccType,4);type[4]=0;
|
||||||
memcpy(handler,&fccHandler,4);handler[4]=0;
|
memcpy(handler,&fccHandler,4);handler[4]=0;
|
||||||
TRACE(mmsys,"(%s,%s,0x%08lx)\n",type,handler,(DWORD)wMode);
|
TRACE(msvideo,"(%s,%s,0x%08lx)\n",type,handler,(DWORD)wMode);
|
||||||
sprintf(codecname,"%s.%s",type,handler);
|
/* FIXME: When do we use 'vids' , when 'vidc'? Unclear */
|
||||||
|
if (!strcasecmp(type,"vids")) {
|
||||||
|
sprintf(codecname,"vidc.%s",handler);
|
||||||
|
fccType = mmioFOURCC('v','i','d','c');
|
||||||
|
} else
|
||||||
|
sprintf(codecname,"%s.%s",type,handler);
|
||||||
hdrv=OpenDriver32A(codecname,"drivers32",0);
|
hdrv=OpenDriver32A(codecname,"drivers32",0);
|
||||||
if (!hdrv)
|
if (!hdrv)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -83,7 +89,8 @@ ICOpen32(DWORD fccType,DWORD fccHandler,UINT32 wMode) {
|
||||||
icopen.fccType = fccType;
|
icopen.fccType = fccType;
|
||||||
icopen.fccHandler = fccHandler;
|
icopen.fccHandler = fccHandler;
|
||||||
icopen.dwSize = sizeof(ICOPEN);
|
icopen.dwSize = sizeof(ICOPEN);
|
||||||
/* FIXME: fill out rest too... */
|
icopen.dwFlags = wMode;
|
||||||
|
/* FIXME: do we need to fill out the rest too? */
|
||||||
whic->private = whic->driverproc(0,hdrv,DRV_OPEN,0,&icopen);
|
whic->private = whic->driverproc(0,hdrv,DRV_OPEN,0,&icopen);
|
||||||
return (HIC32)whic;
|
return (HIC32)whic;
|
||||||
}
|
}
|
||||||
|
@ -91,20 +98,60 @@ ICOpen32(DWORD fccType,DWORD fccHandler,UINT32 wMode) {
|
||||||
LRESULT WINAPI
|
LRESULT WINAPI
|
||||||
ICGetInfo32(HIC32 hic,ICINFO32 *picinfo,DWORD cb) {
|
ICGetInfo32(HIC32 hic,ICINFO32 *picinfo,DWORD cb) {
|
||||||
LRESULT ret;
|
LRESULT ret;
|
||||||
WINE_HIC *whic = (WINE_HIC*)hic;
|
|
||||||
|
|
||||||
TRACE(mmsys,"(0x%08lx,%p,%ld)\n",(DWORD)hic,picinfo,cb);
|
TRACE(msvideo,"(0x%08lx,%p,%ld)\n",(DWORD)hic,picinfo,cb);
|
||||||
ret = ICSendMessage32(whic,ICM_GETINFO,(DWORD)picinfo,cb);
|
ret = ICSendMessage32(hic,ICM_GETINFO,(DWORD)picinfo,cb);
|
||||||
TRACE(mmsys," -> 0x%08lx\n",ret);
|
TRACE(msvideo," -> 0x%08lx\n",ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DWORD VFWAPIV
|
||||||
|
ICCompress32(
|
||||||
|
HIC32 hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData,
|
||||||
|
LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid,
|
||||||
|
LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality,
|
||||||
|
LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev
|
||||||
|
) {
|
||||||
|
ICCOMPRESS iccmp;
|
||||||
|
|
||||||
|
iccmp.dwFlags = dwFlags;
|
||||||
|
|
||||||
|
iccmp.lpbiOutput = lpbiOutput;
|
||||||
|
iccmp.lpOutput = lpData;
|
||||||
|
iccmp.lpbiInput = lpbiInput;
|
||||||
|
iccmp.lpInput = lpBits;
|
||||||
|
|
||||||
|
iccmp.lpckid = lpckid;
|
||||||
|
iccmp.lpdwFlags = lpdwFlags;
|
||||||
|
iccmp.lFrameNum = lFrameNum;
|
||||||
|
iccmp.dwFrameSize = dwFrameSize;
|
||||||
|
iccmp.dwQuality = dwQuality;
|
||||||
|
iccmp.lpbiPrev = lpbiPrev;
|
||||||
|
iccmp.lpPrev = lpPrev;
|
||||||
|
return ICSendMessage32(hic,ICM_COMPRESS,(LPARAM)&iccmp,sizeof(iccmp));
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD VFWAPIV
|
||||||
|
ICDecompress32(HIC32 hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits) {
|
||||||
|
ICDECOMPRESS icd;
|
||||||
|
|
||||||
|
icd.dwFlags = dwFlags;
|
||||||
|
icd.lpbiInput = lpbiFormat;
|
||||||
|
icd.lpInput = lpData;
|
||||||
|
|
||||||
|
icd.lpbiOutput = lpbi;
|
||||||
|
icd.lpOutput = lpBits;
|
||||||
|
/*
|
||||||
|
icd.ckid = ??? ckid from AVI file? how do we get it? ;
|
||||||
|
*/
|
||||||
|
return ICSendMessage32(hic,ICM_DECOMPRESS,(LPARAM)&icd,sizeof(icd));
|
||||||
|
}
|
||||||
|
|
||||||
HIC32 WINAPI
|
HIC32 WINAPI
|
||||||
ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn,
|
ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn,
|
||||||
LPBITMAPINFOHEADER lpbiOut, WORD wFlags
|
LPBITMAPINFOHEADER lpbiOut, WORD wFlags
|
||||||
) {
|
) {
|
||||||
FIXME(mmsys,"stub!\n");
|
FIXME(msvideo,"stub!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,19 +160,57 @@ ICSendMessage32(HIC32 hic,UINT32 msg,DWORD lParam1,DWORD lParam2) {
|
||||||
LRESULT ret;
|
LRESULT ret;
|
||||||
WINE_HIC *whic = (WINE_HIC*)hic;
|
WINE_HIC *whic = (WINE_HIC*)hic;
|
||||||
|
|
||||||
|
#define XX(x) case x: TRACE(msvideo,"(0x%08lx,"#x",0x%08lx,0x%08lx)\n",(DWORD)hic,lParam1,lParam2);break;
|
||||||
|
|
||||||
switch (msg) {
|
switch (msg) {
|
||||||
case ICM_GETINFO:
|
XX(ICM_ABOUT)
|
||||||
FIXME(mmsys,"(0x%08lx,ICM_GETINFO,0x%08lx,0x%08lx)\n",(DWORD)hic,lParam1,lParam2);
|
XX(ICM_GETINFO)
|
||||||
break;
|
XX(ICM_COMPRESS_FRAMES_INFO)
|
||||||
|
XX(ICM_COMPRESS_GET_FORMAT)
|
||||||
|
XX(ICM_COMPRESS_GET_SIZE)
|
||||||
|
XX(ICM_COMPRESS_QUERY)
|
||||||
|
XX(ICM_COMPRESS_BEGIN)
|
||||||
|
XX(ICM_COMPRESS)
|
||||||
|
XX(ICM_COMPRESS_END)
|
||||||
|
XX(ICM_DECOMPRESS_GET_FORMAT)
|
||||||
|
XX(ICM_DECOMPRESS_QUERY)
|
||||||
|
XX(ICM_DECOMPRESS_BEGIN)
|
||||||
|
XX(ICM_DECOMPRESS)
|
||||||
|
XX(ICM_DECOMPRESS_END)
|
||||||
|
XX(ICM_DECOMPRESS_SET_PALETTE)
|
||||||
|
XX(ICM_DECOMPRESS_GET_PALETTE)
|
||||||
|
XX(ICM_DRAW_QUERY)
|
||||||
|
XX(ICM_DRAW_BEGIN)
|
||||||
|
XX(ICM_DRAW_GET_PALETTE)
|
||||||
|
XX(ICM_DRAW_START)
|
||||||
|
XX(ICM_DRAW_STOP)
|
||||||
|
XX(ICM_DRAW_END)
|
||||||
|
XX(ICM_DRAW_GETTIME)
|
||||||
|
XX(ICM_DRAW)
|
||||||
|
XX(ICM_DRAW_WINDOW)
|
||||||
|
XX(ICM_DRAW_SETTIME)
|
||||||
|
XX(ICM_DRAW_REALIZE)
|
||||||
|
XX(ICM_DRAW_FLUSH)
|
||||||
|
XX(ICM_DRAW_RENDERBUFFER)
|
||||||
|
XX(ICM_DRAW_START_PLAY)
|
||||||
|
XX(ICM_DRAW_STOP_PLAY)
|
||||||
|
XX(ICM_DRAW_SUGGESTFORMAT)
|
||||||
|
XX(ICM_DRAW_CHANGEPALETTE)
|
||||||
|
XX(ICM_GETBUFFERSWANTED)
|
||||||
|
XX(ICM_GETDEFAULTKEYFRAMERATE)
|
||||||
|
XX(ICM_DECOMPRESSEX_BEGIN)
|
||||||
|
XX(ICM_DECOMPRESSEX_QUERY)
|
||||||
|
XX(ICM_DECOMPRESSEX)
|
||||||
|
XX(ICM_DECOMPRESSEX_END)
|
||||||
|
XX(ICM_SET_STATUS_PROC)
|
||||||
default:
|
default:
|
||||||
FIXME(mmsys,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx)\n",(DWORD)hic,(DWORD)msg,lParam1,lParam2);
|
FIXME(msvideo,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx)\n",(DWORD)hic,(DWORD)msg,lParam1,lParam2);
|
||||||
}
|
}
|
||||||
ret = whic->driverproc(whic->private,whic->hdrv,msg,lParam1,lParam2);
|
ret = whic->driverproc(whic->private,whic->hdrv,msg,lParam1,lParam2);
|
||||||
FIXME(mmsys," -> 0x%08lx\n",ret);
|
TRACE(msvideo," -> 0x%08lx\n",ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DWORD VFWAPIV ICDrawBegin32(
|
DWORD VFWAPIV ICDrawBegin32(
|
||||||
HIC32 hic,
|
HIC32 hic,
|
||||||
DWORD dwFlags,/* flags */
|
DWORD dwFlags,/* flags */
|
||||||
|
@ -146,23 +231,28 @@ DWORD VFWAPIV ICDrawBegin32(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LRESULT WINAPI ICClose32(HIC32 hic) {
|
||||||
|
FIXME(msvideo,"(%d),stub!\n",hic);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
HANDLE32 /* HDRAWDIB */ WINAPI
|
HANDLE32 /* HDRAWDIB */ WINAPI
|
||||||
DrawDibOpen32( void ) {
|
DrawDibOpen32( void ) {
|
||||||
FIXME(mmsys,"stub!\n");
|
FIXME(msvideo,"stub!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
HWND32 VFWAPIV MCIWndCreate32 (HWND32 hwndParent, HINSTANCE32 hInstance,
|
HWND32 VFWAPIV MCIWndCreate32 (HWND32 hwndParent, HINSTANCE32 hInstance,
|
||||||
DWORD dwStyle,LPVOID szFile)
|
DWORD dwStyle,LPVOID szFile)
|
||||||
{ FIXME(mmsys,"%x %x %lx %p\n",hwndParent, hInstance, dwStyle, szFile);
|
{ FIXME(msvideo,"%x %x %lx %p\n",hwndParent, hInstance, dwStyle, szFile);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
HWND32 VFWAPIV MCIWndCreate32A(HWND32 hwndParent, HINSTANCE32 hInstance,
|
HWND32 VFWAPIV MCIWndCreate32A(HWND32 hwndParent, HINSTANCE32 hInstance,
|
||||||
DWORD dwStyle,LPCSTR szFile)
|
DWORD dwStyle,LPCSTR szFile)
|
||||||
{ FIXME(mmsys,"%x %x %lx %s\n",hwndParent, hInstance, dwStyle, szFile);
|
{ FIXME(msvideo,"%x %x %lx %s\n",hwndParent, hInstance, dwStyle, szFile);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
HWND32 VFWAPIV MCIWndCreate32W(HWND32 hwndParent, HINSTANCE32 hInstance,
|
HWND32 VFWAPIV MCIWndCreate32W(HWND32 hwndParent, HINSTANCE32 hInstance,
|
||||||
DWORD dwStyle,LPCWSTR szFile)
|
DWORD dwStyle,LPCWSTR szFile)
|
||||||
{ FIXME(mmsys,"%x %x %lx %s\n",hwndParent, hInstance, dwStyle, debugstr_w(szFile));
|
{ FIXME(msvideo,"%x %x %lx %s\n",hwndParent, hInstance, dwStyle, debugstr_w(szFile));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,5 +15,6 @@
|
||||||
#include "dinput.h"
|
#include "dinput.h"
|
||||||
#include "dsound.h"
|
#include "dsound.h"
|
||||||
#include "dplay.h"
|
#include "dplay.h"
|
||||||
|
#include "vfw.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
|
avitools \
|
||||||
clock \
|
clock \
|
||||||
control \
|
control \
|
||||||
notepad \
|
notepad \
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Makefile
|
||||||
|
icinfo
|
|
@ -0,0 +1,56 @@
|
||||||
|
DEFS = -DWINELIB
|
||||||
|
TOPSRCDIR = @top_srcdir@
|
||||||
|
TOPOBJDIR = ../..
|
||||||
|
SRCDIR = @srcdir@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
MODULE = none
|
||||||
|
PROGRAMS = icinfo
|
||||||
|
ALL_LIBS = $(WINELIB) $(X_LIBS) $(XLIB) $(LIBS)
|
||||||
|
RCFLAGS = -w32 -h
|
||||||
|
WRCEXTRA = -A -p $*
|
||||||
|
|
||||||
|
LANGUAGES =
|
||||||
|
LICENSELANG =
|
||||||
|
|
||||||
|
MOSTSRCS = \
|
||||||
|
icinfo.c
|
||||||
|
|
||||||
|
# Some strings need addresses >= 0x10000
|
||||||
|
STRINGSRCS = \
|
||||||
|
$(LICENSELANG:%=License_%.c)
|
||||||
|
|
||||||
|
RC_SRCS = $(LANGUAGES:%=%.rc)
|
||||||
|
|
||||||
|
C_SRCS = $(MOSTSRCS) $(STRINGSRCS)
|
||||||
|
|
||||||
|
MOSTOBJS = $(MOSTSRCS:.c=.o)
|
||||||
|
STRINGOBJS = $(STRINGSRCS:.c=.o) $(RC_SRCS:.rc=.o)
|
||||||
|
|
||||||
|
all: check_wrc $(PROGRAMS)
|
||||||
|
|
||||||
|
depend::
|
||||||
|
|
||||||
|
@MAKE_RULES@
|
||||||
|
|
||||||
|
# Override resource compiler rules
|
||||||
|
.rc.s:
|
||||||
|
$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -o $*.s
|
||||||
|
|
||||||
|
.rc.h:
|
||||||
|
$(CPP) $(DEFS) $(OPTIONS) $(DIVINCL) -DRC_INVOKED -P -x c $< | $(WRC) $(WRCFLAGS) $(WRCEXTRA) -nH $*.h
|
||||||
|
|
||||||
|
|
||||||
|
icinfo: $(MOSTOBJS) $(STRINGOBJS)
|
||||||
|
$(CC) -o icinfo $(MOSTOBJS) $(LDOPTIONS) $(ALL_LIBS) $(STRINGOBJS)
|
||||||
|
|
||||||
|
install: dummy
|
||||||
|
$(INSTALL_PROGRAM) clock $(bindir)/clock
|
||||||
|
|
||||||
|
uninstall: dummy
|
||||||
|
$(RM) $(bindir)/clock
|
||||||
|
|
||||||
|
$(RC_SRCS:.rc=.s): $(WRC)
|
||||||
|
|
||||||
|
dummy:
|
||||||
|
|
||||||
|
### Dependencies:
|
|
@ -0,0 +1,77 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <strings.h>
|
||||||
|
#include "wintypes.h"
|
||||||
|
#include "windows.h"
|
||||||
|
#include "mmsystem.h"
|
||||||
|
#include "vfw.h"
|
||||||
|
|
||||||
|
|
||||||
|
int PASCAL WinMain (HANDLE hInstance, HANDLE prev, LPSTR cmdline, int show)
|
||||||
|
{
|
||||||
|
int n=0,doabout=0,doconfigure=0;
|
||||||
|
char buf[128],type[5],handler[5];
|
||||||
|
HMODULE msvfw32 = LoadLibrary("msvfw32.dll");
|
||||||
|
|
||||||
|
BOOL32 (VFWAPI *fnICInfo)(DWORD fccType, DWORD fccHandler, ICINFO * lpicinfo);
|
||||||
|
LRESULT (VFWAPI *fnICClose)(HIC hic);
|
||||||
|
HIC (VFWAPI *fnICOpen)(DWORD fccType, DWORD fccHandler, UINT wMode);
|
||||||
|
LRESULT (VFWAPI *fnICGetInfo)(HIC hic,ICINFO *picinfo, DWORD cb);
|
||||||
|
LRESULT (VFWAPI *fnICSendMessage)(HIC hic, UINT msg, DWORD dw1, DWORD dw2);
|
||||||
|
|
||||||
|
#define XX(x) fn##x = (void*)GetProcAddress(msvfw32,#x);
|
||||||
|
XX(ICInfo);
|
||||||
|
XX(ICOpen);
|
||||||
|
XX(ICClose);
|
||||||
|
XX(ICGetInfo);
|
||||||
|
XX(ICSendMessage);
|
||||||
|
#undef XX
|
||||||
|
|
||||||
|
if (strstr(cmdline,"-about"))
|
||||||
|
doabout = 1;
|
||||||
|
if (strstr(cmdline,"-configure"))
|
||||||
|
doconfigure = 1;
|
||||||
|
|
||||||
|
printf("Currently installed Video Compressors:\n");
|
||||||
|
while (1) {
|
||||||
|
ICINFO ii;
|
||||||
|
HIC hic;
|
||||||
|
|
||||||
|
ii.dwSize = sizeof(ii);
|
||||||
|
if (!fnICInfo(ICTYPE_VIDEO,n++,&ii))
|
||||||
|
break;
|
||||||
|
if (!(hic=fnICOpen(ii.fccType,ii.fccHandler,ICMODE_QUERY)))
|
||||||
|
continue;
|
||||||
|
if (!fnICGetInfo(hic,&ii,sizeof(ii))) {
|
||||||
|
fnICClose(hic);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
#define w2s(w,s) WideCharToMultiByte(0,0,w,-1,s,128,0,NULL)
|
||||||
|
|
||||||
|
w2s(ii.szName,buf);
|
||||||
|
memcpy(type,&(ii.fccType),4);type[4]='\0';
|
||||||
|
memcpy(handler,&(ii.fccHandler),4);handler[4]='\0';
|
||||||
|
printf("%s.%s: %s\n",type,handler,buf);
|
||||||
|
printf("\tdwFlags: 0x%08lx (",ii.dwFlags);
|
||||||
|
#define XX(x) if (ii.dwFlags & x) printf(#x" ");
|
||||||
|
XX(VIDCF_QUALITY);
|
||||||
|
XX(VIDCF_CRUNCH);
|
||||||
|
XX(VIDCF_TEMPORAL);
|
||||||
|
XX(VIDCF_COMPRESSFRAMES);
|
||||||
|
XX(VIDCF_DRAW);
|
||||||
|
XX(VIDCF_FASTTEMPORALC);
|
||||||
|
XX(VIDCF_FASTTEMPORALD);
|
||||||
|
XX(VIDCF_QUALITYTIME);
|
||||||
|
#undef XX
|
||||||
|
printf(")\n");
|
||||||
|
printf("\tdwVersion: 0x%08lx\n",ii.dwVersion);
|
||||||
|
printf("\tdwVersionICM: 0x%08lx\n",ii.dwVersionICM);
|
||||||
|
w2s(ii.szDescription,buf);
|
||||||
|
printf("\tszDescription: %s\n",buf);
|
||||||
|
if (doabout) ICAbout(hic,0);
|
||||||
|
if (doconfigure && ICQueryConfigure32(hic))
|
||||||
|
ICConfigure(hic,0);
|
||||||
|
fnICClose(hic);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
name msvfw32
|
name msvfw32
|
||||||
type win32
|
type win32
|
||||||
|
|
||||||
|
# Yes, ICCompress,ICDecompress,MCIWnd* and ICDraw* are cdecl (VFWAPIV).
|
||||||
|
# The rest is stdcall (VFWAPI) however. -Marcus Meissner, 990124
|
||||||
|
|
||||||
2 stdcall VideoForWindowsVersion() VideoForWindowsVersion
|
2 stdcall VideoForWindowsVersion() VideoForWindowsVersion
|
||||||
3 stub DrawDibBegin
|
3 stub DrawDibBegin
|
||||||
4 stub DrawDibChangePalette
|
4 stub DrawDibChangePalette
|
||||||
|
@ -21,13 +24,13 @@ type win32
|
||||||
19 stub GetOpenFileNamePreviewW
|
19 stub GetOpenFileNamePreviewW
|
||||||
20 stub GetSaveFileNamePreviewA
|
20 stub GetSaveFileNamePreviewA
|
||||||
21 stub GetSaveFileNamePreviewW
|
21 stub GetSaveFileNamePreviewW
|
||||||
22 stub ICClose
|
22 stdcall ICClose(long) ICClose32
|
||||||
23 stub ICCompress
|
23 cdecl ICCompress(long long ptr ptr ptr ptr ptr ptr long long long ptr ptr) ICCompress32
|
||||||
24 stub ICCompressorChoose
|
24 stub ICCompressorChoose
|
||||||
25 stub ICCompressorFree
|
25 stub ICCompressorFree
|
||||||
26 stub ICDecompress
|
26 cdecl ICDecompress(long long ptr ptr ptr ptr) ICDecompress32
|
||||||
27 stub ICDraw
|
27 stub ICDraw # CDECL too
|
||||||
28 stdcall ICDrawBegin(long long long long long long long long long ptr long long long long long long) ICDrawBegin32
|
28 cdecl ICDrawBegin(long long long long long long long long long ptr long long long long long long) ICDrawBegin32
|
||||||
29 stub ICGetDisplayFormat
|
29 stub ICGetDisplayFormat
|
||||||
30 stdcall ICGetInfo(long ptr long) ICGetInfo32
|
30 stdcall ICGetInfo(long ptr long) ICGetInfo32
|
||||||
31 stub ICImageCompress
|
31 stub ICImageCompress
|
||||||
|
@ -43,9 +46,9 @@ type win32
|
||||||
41 stub ICSeqCompressFrame
|
41 stub ICSeqCompressFrame
|
||||||
42 stub ICSeqCompressFrameEnd
|
42 stub ICSeqCompressFrameEnd
|
||||||
43 stub ICSeqCompressFrameStart
|
43 stub ICSeqCompressFrameStart
|
||||||
44 stdcall MCIWndCreate (long long long ptr) MCIWndCreate32
|
44 cdecl MCIWndCreate (long long long ptr) MCIWndCreate32
|
||||||
45 stdcall MCIWndCreateA (long long long str) MCIWndCreate32A
|
45 cdecl MCIWndCreateA (long long long str) MCIWndCreate32A
|
||||||
46 stdcall MCIWndCreateW (long long long wstr) MCIWndCreate32W
|
46 cdecl MCIWndCreateW (long long long wstr) MCIWndCreate32W
|
||||||
47 stub MCIWndRegisterClass
|
47 stub MCIWndRegisterClass
|
||||||
48 stub StretchDIB
|
48 stub StretchDIB
|
||||||
49 stub ls_ThunkData32
|
49 stub ls_ThunkData32
|
||||||
|
|
Loading…
Reference in New Issue