From: Laurent Aimar Date: Thu, 3 Jun 2004 19:29:57 +0000 (+0000) Subject: * all: re-import of CVS. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=602c87d5a3fb75cf7404bae08ecc3d5bc5ab1372;p=libx264 * all: re-import of CVS. git-svn-id: svn://svn.videolan.org/x264/trunk@2 df754926-b1dd-0310-bc7b-ec298dee348c --- diff --git a/vfw/w32api/vfw.h b/vfw/w32api/vfw.h new file mode 100644 index 00000000..980353ae --- /dev/null +++ b/vfw/w32api/vfw.h @@ -0,0 +1,209 @@ +#ifndef _INC_VFW +#define _INC_VFW + +#include + +#ifndef aviTWOCC +#define aviTWOCC(C0,C1) ((WORD)(BYTE)(C0)|((WORD)(BYTE)(C1) << 8)) +#endif + +#ifndef ICTYPE_VIDEO +#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c') +#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c') +#endif + +#ifndef ICERR_OK +#define ICERR_OK 0L +#define ICERR_DONTDRAW 1L +#define ICERR_NEWPALETTE 2L +#define ICERR_GOTOKEYFRAME 3L +#define ICERR_STOPDRAWING 4L + +#define ICERR_UNSUPPORTED -1L +#define ICERR_BADFORMAT -2L +#define ICERR_MEMORY -3L +#define ICERR_INTERNAL -4L +#define ICERR_BADFLAGS -5L +#define ICERR_BADPARAM -6L +#define ICERR_BADSIZE -7L +#define ICERR_BADHANDLE -8L +#define ICERR_CANTUPDATE -9L +#define ICERR_ABORT -10L +#define ICERR_ERROR -100L +#define ICERR_BADBITDEPTH -200L +#define ICERR_BADIMAGESIZE -201L + +#define ICERR_CUSTOM -400L +#endif + +#ifndef ICMODE_COMPRESS +#define ICMODE_COMPRESS 1 +#define ICMODE_DECOMPRESS 2 +#define ICMODE_FASTDECOMPRESS 3 +#define ICMODE_QUERY 4 +#define ICMODE_FASTCOMPRESS 5 +#define ICMODE_DRAW 8 +#endif + +#define AVIIF_LIST 0x00000001L +#define AVIIF_TWOCC 0x00000002L +#define AVIIF_KEYFRAME 0x00000010L + +#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; + +#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,LONG,LPVOID,LONG); + LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG); +} ICCOMPRESSFRAMES; + +#define ICDECOMPRESS_HURRYUP 0x80000000L +#define ICDECOMPRESS_UPDATE 0x40000000L +#define ICDECOMPRESS_PREROLL 0x20000000L +#define ICDECOMPRESS_NULLFRAME 0x10000000L +#define ICDECOMPRESS_NOTKEYFRAME 0x08000000L + +typedef struct { + DWORD dwFlags; + LPBITMAPINFOHEADER lpbiInput; + LPVOID lpInput; + LPBITMAPINFOHEADER lpbiOutput; + LPVOID lpOutput; + DWORD ckid; +} ICDECOMPRESS; + +typedef struct { + DWORD dwSize; + DWORD fccType; + DWORD fccHandler; + DWORD dwVersion; + DWORD dwFlags; + LRESULT dwError; + LPVOID pV1Reserved; + LPVOID pV2Reserved; + DWORD dnDevNode; +} ICOPEN; + +#define ICM_USER (DRV_USER+0x0000) + +#define ICM_RESERVED ICM_RESERVED_LOW +#define ICM_RESERVED_LOW (DRV_USER+0x1000) +#define ICM_RESERVED_HIGH (DRV_USER+0x2000) + +#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_GETERRORTEXT (ICM_RESERVED+12) +#define ICM_GETFORMATNAME (ICM_RESERVED+20) +#define ICM_ENUMFORMATS (ICM_RESERVED+21) +#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') + +typedef struct { + DWORD dwSize; + DWORD fccType; + DWORD fccHandler; + DWORD dwFlags; + DWORD dwVersion; + DWORD dwVersionICM; + WCHAR szName[16]; + WCHAR szDescription[128]; + WCHAR szDriver[128]; +} ICINFO; + +#define VIDCF_QUALITY 0x0001 +#define VIDCF_CRUNCH 0x0002 +#define VIDCF_TEMPORAL 0x0004 +#define VIDCF_COMPRESSFRAMES 0x0008 +#define VIDCF_DRAW 0x0010 +#define VIDCF_FASTTEMPORALC 0x0020 +#define VIDCF_FASTTEMPORALD 0x0080 +#define VIDCF_QUALITYTIME 0x0040 +#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) + +#define ICVERSION 0x0104 + +#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_UPDATE (ICM_USER+17) +#define ICM_DRAW_START (ICM_USER+18) +#define ICM_DRAW_STOP (ICM_USER+19) +#define ICM_DRAW_BITS (ICM_USER+20) +#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_DRAW_IDLE (ICM_USER+52) +#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_COMPRESS_FRAMES (ICM_USER+71) +#define ICM_SET_STATUS_PROC (ICM_USER+72) + +#endif /* _INC_VFW */