diff -r 000000000000 -r 76b1f169d9fe mingw-5.1.4/win32/include/amvideo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mingw-5.1.4/win32/include/amvideo.h Fri Apr 03 17:16:45 2009 +0100 @@ -0,0 +1,179 @@ +#ifndef _AMVIDEO_H +#define _AMVIDEO_H +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define AMDDS_NONE 0x0000 +#define AMDDS_DCIPS 0x0001 +#define AMDDS_PS 0x0002 +#define AMDDS_RGBOVR 0x0004 +#define AMDDS_YUVOVR 0x0008 +#define AMDDS_RGBOFF 0x0010 +#define AMDDS_YUVOFF 0x0020 +#define AMDDS_RGBFLP 0x0040 +#define AMDDS_YUVFLP 0x0080 +#define AMDDS_ ALL 0x00FF +#define AMDDS_DEFAULT 0x00FF +#define AMDDS_YUV (AMDDS_YUVOFF|AMDDS_YUVOVR|AMDDS_YUVFLP) +#define AMDDS_RGB (AMDDS_RGBOFF|AMDDS_RGBOVR|AMDDS_RGBFLP) +#define AMDDS_PRIMARY (AMDDS_DCIPS|AMDDS_PS) +#define BIT_MASKS_MATCH(pbmi1,pbmi2) ((pbmi1)->dwBitMasks[0] == (pbmi2)->dwBitMasks[0] && (pbmi1)->dwBitMasks[1] == (pbmi2)->dwBitMasks[1] && (pbmi1)->dwBitMasks[2] == (pbmi2)->dwBitMasks[2]) +#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8) +#define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount) +#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD))) +#define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(pbmi)->bmiColors,256*sizeof(RGBQUAD))); +#define SIZE_EGA_PALETTE (16*sizeof(RGBQUAD)) +#define SIZE_MASKS (3*sizeof(DWORD)) +#define SIZE_PALETTE (256*sizeof(RGBQUAD)) +typedef enum { + AM_PROPERTY_FRAMESTEP_STEP = 1, + AM_PROPERTY_FRAMESTEP_CANCEL = 2, + AM_PROPERTY_FRAMESTEP_CANSTEP = 3, + AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 4 +} AM_PROPERTY_FRAMESTEP; +typedef struct tag_TRUECOLORINFO { + DWORD dwBitMasks[3]; + RGBQUAD bmiColors[256]; +} TRUECOLORINFO; +typedef struct tagVIDEOINFOHEADER { + RECT rcSource; + RECT rcTarget; + DWORD dwBitRate; + DWORD dwBitErrorRate; + REFERENCE_TIME AvgTimePerFrame; + BITMAPINFOHEADER bmiHeader; +} VIDEOINFOHEADER; +typedef struct tagVIDEOINFO { + RECT rcSource, + RECT rcTarget, + DWORD dwBitRate, + DWORD dwBitErrorRate, + REFERENCE_TIME AvgTimePerFrame; + BITMAPINFOHEADER bmiHeader; + union { + RGBQUAD bmiColors[256]; + DWORD dwBitMasks[3]; + TRUECOLORINFO TrueColorInfo; + }; +} VIDEOINFO; +typedef struct tagMPEG1VIDEOINFO { + VIDEOINFOHEADER hdr; + DWORD dwStartTimeCode; + DWORD cbSequenceHeader; + BYTE bSequenceHeader[1]; +} MPEG1VIDEOINFO; +typedef struct tagAnalogVideoInfo { + RECT rcSource; + RECT rcTarget; + DWORD dwActiveWidth; + DWORD dwActiveHeight; + REFERENCE_TIME AvgTimePerFrame; +} ANALOGVIDEOINFO; +typedef struct _AM_FRAMESTEP_STEP { + DWORD dwFramesToStep; +} AM_FRAMESTEP_STEP; +#define INTERFACE IDirectDrawVideo +DECLARE_INTERFACE_(IDirectDrawVideo, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CanUseOverlayStretch)(THIS_ long*) PURE; + STDMETHOD(CanUseScanLine)(THIS_ long*) PURE; + STDMETHOD(GetCaps)(THIS_ DDCAPS*) PURE; + STDMETHOD(GetDirectDraw)(THIS_ LPDIRECTDRAW*) PURE; + STDMETHOD(GetEmulatedCaps)(THIS_ DDCAPS*) PURE; + STDMETHOD(GetFourCCCodes)(THIS_ DWORD*,DWORD*) PURE; + STDMETHOD(GetSurfaceDesc)(THIS_ DDSURFACEDESC*) PURE; + STDMETHOD(GetSurfaceType)(THIS_ DWORD*) PURE; + STDMETHOD(GetSwitches)(THIS_ DWORD*) PURE; + STDMETHOD(SetDefault)(THIS) PURE; + STDMETHOD(SetDirectDraw)(THIS_ LPDIRECTDRAW) PURE; + STDMETHOD(SetSwitches)(THIS_ DWORD) PURE; + STDMETHOD(UseOverlayStretch)(THIS_ long) PURE; + STDMETHOD(UseScanLine)(THIS_ long) PURE; + STDMETHOD(UseWhenFullScreen)(THIS_ long) PURE; + STDMETHOD(WillUseFullScreen)(THIS_ long*) PURE; +}; +#undef INTERFACE +#define INTERFACE IQualProp +DECLARE_INTERFACE_(IQualProp, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(get_AvgFrameRate)(THIS_ int*) PURE; + STDMETHOD(get_AvgSyncOffset)(THIS_ int*) PURE; + STDMETHOD(get_DevSyncOffset)(THIS_ int*) PURE; + STDMETHOD(get_FramesDrawn)(THIS_ int*) PURE; + STDMETHOD(get_FramesDroppedInRenderer)(THIS_ int*) PURE; + STDMETHOD(get_Jitter)(THIS_ int*) PURE; +}; +#undef INTERFACE +#define INTERFACE IFullScreenVideo +DECLARE_INTERFACE_(IFullScreenVideo, IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CountModes)(THIS_ long*) PURE; + STDMETHOD(GetCaption)(THIS_ BSTR*) PURE; + STDMETHOD(GetClipFactor)(THIS_ long*) PURE; + STDMETHOD(GetCurrentMode)(THIS_ long*) PURE; + STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE; + STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE; + STDMETHOD(GetMonitor)(THIS_ long*) PURE; + STDMETHOD(HideOnDeactivate)(THIS_ long) PURE; + STDMETHOD(IsHideOnDeactivate)(THIS) PURE; + STDMETHOD(IsModeAvailable)(THIS_ long) PURE; + STDMETHOD(IsModeEnabled)(THIS_ long) PURE; + STDMETHOD(SetCaption)(THIS_ BSTR) PURE; + STDMETHOD(SetClipFactor)(THIS_ long) PURE; + STDMETHOD(SetDefault)(THIS) PURE; + STDMETHOD(SetEnabled)(THIS_ long,long) PURE; + STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE; + STDMETHOD(SetMonitor)(THIS_ long) PURE; +}; +#undef INTERFACE +#define INTERFACE IFullScreenVideoEx +DECLARE_INTERFACE_(IFullScreenVideoEx, IFullScreenVideo) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(CountModes)(THIS_ long*) PURE; + STDMETHOD(GetAcceleratorTable)(THIS_ HWND*,HACCEL*) PURE; + STDMETHOD(GetCaption)(THIS_ BSTR*) PURE; + STDMETHOD(GetClipFactor)(THIS_ long*) PURE; + STDMETHOD(GetCurrentMode)(THIS_ long*) PURE; + STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE; + STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE; + STDMETHOD(GetMonitor)(THIS_ long*) PURE; + STDMETHOD(HideOnDeactivate)(THIS_ long) PURE; + STDMETHOD(IsHideOnDeactivate)(THIS) PURE; + STDMETHOD(IsKeepPixelAspectRatio)(THIS_ long*) PURE; + STDMETHOD(IsModeAvailable)(THIS_ long) PURE; + STDMETHOD(IsModeEnabled)(THIS_ long) PURE; + STDMETHOD(KeepPixelAspectRatio)(THIS_ long) PURE; + STDMETHOD(SetAcceleratorTable)(THIS_ HWND,HACCEL) PURE; + STDMETHOD(SetCaption)(THIS_ BSTR) PURE; + STDMETHOD(SetClipFactor)(THIS_ long) PURE; + STDMETHOD(SetDefault)(THIS) PURE; + STDMETHOD(SetEnabled)(THIS_ long,long) PURE; + STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE; + STDMETHOD(SetMonitor)(THIS_ long) PURE; +}; +#undef INTERFACE + +#ifdef __cplusplus +} +#endif +#endif