vfw.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 1,145 行 · 第 1/4 页

H
1,145
字号
#ifndef _VFW_H
#define _VFW_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif

#ifndef _WINDOWS_H
#include <windows.h>
#endif
#ifndef _MMSYSTEM_H
#include <mmsystem.h>
#endif
#if !defined  (_OLE2_H) && !defined (_OBJC_NO_COM)
#include <ole2.h>
#endif

#define VFWAPI WINAPI
#define VFWAPIV WINAPIV

#include <pshpack8.h>

#ifdef __cplusplus
extern "C" {
#endif

#define	ICERR_OK	0
#define	ICERR_DONTDRAW	1
#define	ICERR_NEWPALETTE	2
#define	ICERR_GOTOKEYFRAME	3
#define	ICERR_STOPDRAWING	4
#define	ICERR_UNSUPPORTED	-1
#define	ICERR_BADFORMAT	-2
#define	ICERR_MEMORY	-3
#define	ICERR_INTERNAL	-4
#define	ICERR_BADFLAGS	-5
#define	ICERR_BADPARAM	-6
#define	ICERR_BADSIZE	-7
#define	ICERR_BADHANDLE	-8
#define	ICERR_CANTUPDATE	-9
#define	ICERR_ABORT	-10
#define	ICERR_ERROR	-100
#define	ICERR_BADBITDEPTH	-200
#define	ICERR_BADIMAGESIZE	-201
#define	ICERR_CUSTOM	-400
#define ICCOMPRESSFRAMES_PADDING	0x01
#define	ICM_USER	(DRV_USER+0x0000)
#define	ICM_RESERVED_LOW	(DRV_USER+0x1000)
#define	ICM_RESERVED_HIGH	(DRV_USER+0x2000)
#define	ICM_RESERVED	ICM_RESERVED_LOW
#define	ICM_GETSTATE	(ICM_RESERVED+0)
#define	ICM_SETSTATE	(ICM_RESERVED+1)
#define	ICM_GETINFO	(ICM_RESERVED+2)
#define	ICM_CONFIGURE	(ICM_RESERVED+10)
#define	ICM_ABOUT	(ICM_RESERVED+11)
#define	ICM_GETDEFAULTQUALITY	(ICM_RESERVED+30)
#define	ICM_GETQUALITY	(ICM_RESERVED+31)
#define	ICM_SETQUALITY	(ICM_RESERVED+32)
#define	ICM_SET	(ICM_RESERVED+40)
#define	ICM_GET	(ICM_RESERVED+41)
#define ICM_FRAMERATE	mmioFOURCC('F','r','m','R')
#define ICM_KEYFRAMERATE	mmioFOURCC('K','e','y','R')
#define	ICM_COMPRESS_GET_FORMAT	(ICM_USER+4)
#define	ICM_COMPRESS_GET_SIZE	(ICM_USER+5)
#define	ICM_COMPRESS_QUERY	(ICM_USER+6)
#define	ICM_COMPRESS_BEGIN	(ICM_USER+7)
#define	ICM_COMPRESS	(ICM_USER+8)
#define	ICM_COMPRESS_END	(ICM_USER+9)
#define	ICM_DECOMPRESS_GET_FORMAT	(ICM_USER+10)
#define	ICM_DECOMPRESS_QUERY	(ICM_USER+11)
#define	ICM_DECOMPRESS_BEGIN	(ICM_USER+12)
#define	ICM_DECOMPRESS	(ICM_USER+13)
#define	ICM_DECOMPRESS_END	(ICM_USER+14)
#define	ICM_DECOMPRESS_SET_PALETTE	(ICM_USER+29)
#define	ICM_DECOMPRESS_GET_PALETTE	(ICM_USER+30)
#define	ICM_DRAW_QUERY	(ICM_USER+31)
#define	ICM_DRAW_BEGIN	(ICM_USER+15)
#define	ICM_DRAW_GET_PALETTE	(ICM_USER+16)
#define	ICM_DRAW_START	(ICM_USER+18)
#define	ICM_DRAW_STOP	(ICM_USER+19)
#define	ICM_DRAW_END	(ICM_USER+21)
#define	ICM_DRAW_GETTIME	(ICM_USER+32)
#define	ICM_DRAW	(ICM_USER+33)
#define	ICM_DRAW_WINDOW	(ICM_USER+34)
#define	ICM_DRAW_SETTIME	(ICM_USER+35)
#define	ICM_DRAW_REALIZE	(ICM_USER+36)
#define	ICM_DRAW_FLUSH	(ICM_USER+37)
#define	ICM_DRAW_RENDERBUFFER	(ICM_USER+38)
#define	ICM_DRAW_START_PLAY	(ICM_USER+39)
#define	ICM_DRAW_STOP_PLAY	(ICM_USER+40)
#define	ICM_DRAW_SUGGESTFORMAT	(ICM_USER+50)
#define	ICM_DRAW_CHANGEPALETTE	(ICM_USER+51)
#define	ICM_GETBUFFERSWANTED	(ICM_USER+41)
#define	ICM_GETDEFAULTKEYFRAMERATE	(ICM_USER+42)
#define	ICM_DECOMPRESSEX_BEGIN	(ICM_USER+60)
#define	ICM_DECOMPRESSEX_QUERY	(ICM_USER+61)
#define	ICM_DECOMPRESSEX	(ICM_USER+62)
#define	ICM_DECOMPRESSEX_END	(ICM_USER+63)
#define	ICM_COMPRESS_FRAMES_INFO	(ICM_USER+70)
#define	ICM_SET_STATUS_PROC	(ICM_USER+72)
#define ICMF_CONFIGURE_QUERY	0x01
#define ICCOMPRESS_KEYFRAME	0x01
#define ICSTATUS_START	0
#define ICSTATUS_STATUS	1
#define ICSTATUS_END	2
#define ICSTATUS_ERROR	3
#define ICSTATUS_YIELD	4
#define	ICMODE_COMPRESS	1
#define	ICMODE_DECOMPRESS	2
#define	ICMODE_FASTDECOMPRESS	3
#define	ICMODE_QUERY	4
#define	ICMODE_FASTCOMPRESS	5
#define	ICMODE_DRAW	8
#define ICQUALITY_LOW	0
#define ICQUALITY_HIGH	10000
#define ICQUALITY_DEFAULT	-1
#define	VIDCF_QUALITY	0x01
#define	VIDCF_CRUNCH	0x02
#define	VIDCF_TEMPORAL	0x04
#define	VIDCF_COMPRESSFRAMES	0x08
#define	VIDCF_DRAW	0x10
#define	VIDCF_FASTTEMPORALC	0x20
#define	VIDCF_FASTTEMPORALD	0x80
#define	VIDCF_QUALITYTIME	0x40
#define	VIDCF_FASTTEMPORAL	(VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD)
#define ICMF_ABOUT_QUERY	0x01
#define ICDECOMPRESS_HURRYUP	0x80000000
#define ICDECOMPRESS_UPDATE	0x40000000
#define ICDECOMPRESS_PREROLL	0x20000000
#define ICDECOMPRESS_NULLFRAME	0x10000000
#define ICDECOMPRESS_NOTKEYFRAME	0x8000000
#define ICDRAW_QUERY	0x01L
#define ICDRAW_FULLSCREEN	0x02L
#define ICDRAW_HDC	0x04L
#define ICDRAW_ANIMATE	0x08L
#define ICDRAW_CONTINUE	0x10L
#define ICDRAW_MEMORYDC	0x20L
#define ICDRAW_UPDATING	0x40L
#define ICDRAW_RENDER	0x80L
#define ICDRAW_BUFFER	0x100L
#define ICINSTALL_UNICODE	0x8000
#define ICINSTALL_FUNCTION	0x01
#define ICINSTALL_DRIVER	0x02
#define ICINSTALL_HDRV	0x04
#define ICINSTALL_DRIVERW	0x8002
#define ICDRAW_HURRYUP	0x80000000L
#define ICDRAW_UPDATE	0x40000000L
#define ICDRAW_PREROLL	0x20000000L
#define ICDRAW_NULLFRAME	0x10000000L
#define ICDRAW_NOTKEYFRAME	0x8000000L
#define ICMF_COMPVARS_VALID	0x01
#define ICMF_CHOOSE_KEYFRAME	0x01
#define ICMF_CHOOSE_DATARATE	0x02
#define ICMF_CHOOSE_PREVIEW	0x04
#define ICMF_CHOOSE_ALLCOMPRESSORS	0x08
#define ICTYPE_VIDEO	mmioFOURCC('v','i','d','c')
#define ICTYPE_AUDIO	mmioFOURCC('a','u','d','c')
#define formtypeAVI	mmioFOURCC('A','V','I',' ')
#define listtypeAVIHEADER	mmioFOURCC('h','d','r','l')
#define ckidAVIMAINHDR	mmioFOURCC('a','v','i','h')
#define listtypeSTREAMHEADER	mmioFOURCC('s','t','r','l')
#define ckidSTREAMHEADER	mmioFOURCC('s','t','r','h')
#define ckidSTREAMFORMAT	mmioFOURCC('s','t','r','f')
#define ckidSTREAMHANDLERDATA	mmioFOURCC('s','t','r','d')
#define ckidSTREAMNAME	mmioFOURCC('s','t','r','n')
#define listtypeAVIMOVIE	mmioFOURCC('m','o','v','i')
#define listtypeAVIRECORD	mmioFOURCC('r','e','c',' ')
#define ckidAVINEWINDEX	mmioFOURCC('i', 'd', 'x', '1')
#define streamtypeANY	0UL
#define streamtypeVIDEO	mmioFOURCC('v','i','d','s')
#define streamtypeAUDIO	mmioFOURCC('a','u','d','s')
#define streamtypeMIDI	mmioFOURCC('m','i','d','s')
#define streamtypeTEXT	mmioFOURCC('t','x','t','s')
#define cktypeDIBbits	aviTWOCC('d','b')
#define cktypeDIBcompressed	aviTWOCC('d','c')
#define cktypePALchange	aviTWOCC('p','c')
#define cktypeWAVEbytes	aviTWOCC('w','b')
#define ckidAVIPADDING	mmioFOURCC('J','U','N','K')
#define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0'))
#define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc))))))
#define TWOCCFromFOURCC(fcc) HIWORD(fcc)
#define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0')))
#define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc)
#define AVIF_HASINDEX	0x10
#define AVIF_MUSTUSEINDEX	0x20
#define AVIF_ISINTERLEAVED	0x100
#define AVIF_TRUSTCKTYPE	0x800
#define AVIF_WASCAPTUREFILE	0x10000
#define AVIF_COPYRIGHTED	0x20000
#define AVI_HEADERSIZE	2048
#define AVISF_DISABLED	0x01
#define AVISF_VIDEO_PALCHANGES	0x10000
#define AVIIF_LIST	0x01
#define AVIIF_TWOCC	0x02
#define AVIIF_KEYFRAME	0x10
#define AVIIF_NOTIME	0x100
#define AVIIF_COMPUSE	0xfff0000
#define AVIIF_KEYFRAME	0x10
#define	AVIGETFRAMEF_BESTDISPLAYFMT	1
#define AVISTREAMINFO_DISABLED	0x01
#define AVISTREAMINFO_FORMATCHANGES	0x10000
#define AVIFILEINFO_HASINDEX	0x10
#define AVIFILEINFO_MUSTUSEINDEX	0x20
#define AVIFILEINFO_ISINTERLEAVED	0x100
#define AVIFILEINFO_TRUSTCKTYPE	0x800
#define AVIFILEINFO_WASCAPTUREFILE	0x10000
#define AVIFILEINFO_COPYRIGHTED	0x20000
#define AVIFILECAPS_CANREAD	0x01
#define AVIFILECAPS_CANWRITE	0x02
#define AVIFILECAPS_ALLKEYFRAMES	0x10
#define AVIFILECAPS_NOCOMPRESSION	0x20
#define AVICOMPRESSF_INTERLEAVE	0x01
#define AVICOMPRESSF_DATARATE	0x02
#define AVICOMPRESSF_KEYFRAMES	0x04
#define AVICOMPRESSF_VALID	0x08
#define FIND_DIR	0x0000000fL
#define FIND_NEXT	0x00000001L
#define FIND_PREV	0x00000004L
#define FIND_FROM_START	0x00000008L
#define FIND_TYPE	0x000000f0L
#define FIND_KEY	0x00000010L
#define FIND_ANY	0x00000020L
#define FIND_FORMAT	0x00000040L
#define FIND_RET	0x0000f000L
#define FIND_POS	0x00000000L
#define FIND_LENGTH	0x00001000L
#define FIND_OFFSET	0x00002000L
#define FIND_SIZE	0x00003000L
#define FIND_INDEX	0x00004000L
#define AVIERR_OK	0
#define MAKE_AVIERR(e)	MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e)
#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)
#define MCIWNDOPENF_NEW	0x0001
#define MCIWNDF_NOAUTOSIZEWINDOW	0x0001
#define MCIWNDF_NOPLAYBAR	0x0002
#define MCIWNDF_NOAUTOSIZEMOVIE	0x0004
#define MCIWNDF_NOMENU	0x0008
#define MCIWNDF_SHOWNAME	0x0010
#define MCIWNDF_SHOWPOS	0x0020
#define MCIWNDF_SHOWMODE	0x0040
#define MCIWNDF_SHOWALL	0x0070
#define MCIWNDF_NOTIFYMODE	0x0100
#define MCIWNDF_NOTIFYPOS	0x0200
#define MCIWNDF_NOTIFYSIZE	0x0400
#define MCIWNDF_NOTIFYERROR	0x1000
#define MCIWNDF_NOTIFYALL	0x1F00
#define MCIWNDF_NOTIFYANSI	0x0080
#define MCIWNDF_NOTIFYMEDIAA	0x0880
#define MCIWNDF_NOTIFYMEDIAW	0x0800
#define MCIWNDF_RECORD	0x2000
#define MCIWNDF_NOERRORDLG	0x4000
#define MCIWNDF_NOOPEN	0x8000
#define MCIWNDM_GETDEVICEID	(WM_USER + 100)
#define MCIWNDM_GETSTART	(WM_USER + 103)
#define MCIWNDM_GETLENGTH	(WM_USER + 104)
#define MCIWNDM_GETEND	(WM_USER + 105)
#define MCIWNDM_EJECT	(WM_USER + 107)
#define MCIWNDM_SETZOOM	(WM_USER + 108)
#define MCIWNDM_GETZOOM	(WM_USER + 109)
#define MCIWNDM_SETVOLUME	(WM_USER + 110)
#define MCIWNDM_GETVOLUME	(WM_USER + 111)
#define MCIWNDM_SETSPEED	(WM_USER + 112)
#define MCIWNDM_GETSPEED	(WM_USER + 113)
#define MCIWNDM_SETREPEAT	(WM_USER + 114)
#define MCIWNDM_GETREPEAT	(WM_USER + 115)
#define MCIWNDM_REALIZE	(WM_USER + 118)
#define MCIWNDM_VALIDATEMEDIA	(WM_USER + 121)
#define MCIWNDM_PLAYFROM	(WM_USER + 122)
#define MCIWNDM_PLAYTO	(WM_USER + 123)
#define MCIWNDM_GETPALETTE	(WM_USER + 126)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?