Ignore mingw-get's downloaded files
[msysgit.git] / mingw / include / amvideo.h
blob10e8e60e7ee7d7022694257c8289c9a7df2d96e2
1 #ifndef _AMVIDEO_H
2 #define _AMVIDEO_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
7 #include <ddraw.h>
8 #include <strmif.h>
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
14 #define AMDDS_NONE 0x0000
15 #define AMDDS_DCIPS 0x0001
16 #define AMDDS_PS 0x0002
17 #define AMDDS_RGBOVR 0x0004
18 #define AMDDS_YUVOVR 0x0008
19 #define AMDDS_RGBOFF 0x0010
20 #define AMDDS_YUVOFF 0x0020
21 #define AMDDS_RGBFLP 0x0040
22 #define AMDDS_YUVFLP 0x0080
23 #define AMDDS_ ALL 0x00FF
24 #define AMDDS_DEFAULT 0x00FF
25 #define AMDDS_YUV (AMDDS_YUVOFF|AMDDS_YUVOVR|AMDDS_YUVFLP)
26 #define AMDDS_RGB (AMDDS_RGBOFF|AMDDS_RGBOVR|AMDDS_RGBFLP)
27 #define AMDDS_PRIMARY (AMDDS_DCIPS|AMDDS_PS)
28 #define BIT_MASKS_MATCH(pbmi1,pbmi2) ((pbmi1)->dwBitMasks[0] == (pbmi2)->dwBitMasks[0] && (pbmi1)->dwBitMasks[1] == (pbmi2)->dwBitMasks[1] && (pbmi1)->dwBitMasks[2] == (pbmi2)->dwBitMasks[2])
29 #define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8)
30 #define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount)
31 #define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD)))
32 #define RESET_PALETTE(pbmi) (ZeroMemory((PVOID)(pbmi)->bmiColors,256*sizeof(RGBQUAD)));
33 #define SIZE_EGA_PALETTE (16*sizeof(RGBQUAD))
34 #define SIZE_MASKS (3*sizeof(DWORD))
35 #define SIZE_PALETTE (256*sizeof(RGBQUAD))
36 typedef enum {
37 AM_PROPERTY_FRAMESTEP_STEP = 1,
38 AM_PROPERTY_FRAMESTEP_CANCEL = 2,
39 AM_PROPERTY_FRAMESTEP_CANSTEP = 3,
40 AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 4
41 } AM_PROPERTY_FRAMESTEP;
42 typedef struct tag_TRUECOLORINFO {
43 DWORD dwBitMasks[3];
44 RGBQUAD bmiColors[256];
45 } TRUECOLORINFO;
46 typedef struct tagVIDEOINFOHEADER {
47 RECT rcSource;
48 RECT rcTarget;
49 DWORD dwBitRate;
50 DWORD dwBitErrorRate;
51 REFERENCE_TIME AvgTimePerFrame;
52 BITMAPINFOHEADER bmiHeader;
53 } VIDEOINFOHEADER;
54 typedef struct tagVIDEOINFO {
55 RECT rcSource,
56 RECT rcTarget,
57 DWORD dwBitRate,
58 DWORD dwBitErrorRate,
59 REFERENCE_TIME AvgTimePerFrame;
60 BITMAPINFOHEADER bmiHeader;
61 union {
62 RGBQUAD bmiColors[256];
63 DWORD dwBitMasks[3];
64 TRUECOLORINFO TrueColorInfo;
66 } VIDEOINFO;
67 typedef struct tagMPEG1VIDEOINFO {
68 VIDEOINFOHEADER hdr;
69 DWORD dwStartTimeCode;
70 DWORD cbSequenceHeader;
71 BYTE bSequenceHeader[1];
72 } MPEG1VIDEOINFO;
73 typedef struct tagAnalogVideoInfo {
74 RECT rcSource;
75 RECT rcTarget;
76 DWORD dwActiveWidth;
77 DWORD dwActiveHeight;
78 REFERENCE_TIME AvgTimePerFrame;
79 } ANALOGVIDEOINFO;
80 typedef struct _AM_FRAMESTEP_STEP {
81 DWORD dwFramesToStep;
82 } AM_FRAMESTEP_STEP;
83 #define INTERFACE IDirectDrawVideo
84 DECLARE_INTERFACE_(IDirectDrawVideo, IUnknown)
86 STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
87 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
88 STDMETHOD_(ULONG,Release)(THIS) PURE;
89 STDMETHOD(CanUseOverlayStretch)(THIS_ long*) PURE;
90 STDMETHOD(CanUseScanLine)(THIS_ long*) PURE;
91 STDMETHOD(GetCaps)(THIS_ DDCAPS*) PURE;
92 STDMETHOD(GetDirectDraw)(THIS_ LPDIRECTDRAW*) PURE;
93 STDMETHOD(GetEmulatedCaps)(THIS_ DDCAPS*) PURE;
94 STDMETHOD(GetFourCCCodes)(THIS_ DWORD*,DWORD*) PURE;
95 STDMETHOD(GetSurfaceDesc)(THIS_ DDSURFACEDESC*) PURE;
96 STDMETHOD(GetSurfaceType)(THIS_ DWORD*) PURE;
97 STDMETHOD(GetSwitches)(THIS_ DWORD*) PURE;
98 STDMETHOD(SetDefault)(THIS) PURE;
99 STDMETHOD(SetDirectDraw)(THIS_ LPDIRECTDRAW) PURE;
100 STDMETHOD(SetSwitches)(THIS_ DWORD) PURE;
101 STDMETHOD(UseOverlayStretch)(THIS_ long) PURE;
102 STDMETHOD(UseScanLine)(THIS_ long) PURE;
103 STDMETHOD(UseWhenFullScreen)(THIS_ long) PURE;
104 STDMETHOD(WillUseFullScreen)(THIS_ long*) PURE;
106 #undef INTERFACE
107 #define INTERFACE IQualProp
108 DECLARE_INTERFACE_(IQualProp, IUnknown)
110 STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
111 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
112 STDMETHOD_(ULONG,Release)(THIS) PURE;
113 STDMETHOD(get_AvgFrameRate)(THIS_ int*) PURE;
114 STDMETHOD(get_AvgSyncOffset)(THIS_ int*) PURE;
115 STDMETHOD(get_DevSyncOffset)(THIS_ int*) PURE;
116 STDMETHOD(get_FramesDrawn)(THIS_ int*) PURE;
117 STDMETHOD(get_FramesDroppedInRenderer)(THIS_ int*) PURE;
118 STDMETHOD(get_Jitter)(THIS_ int*) PURE;
120 #undef INTERFACE
121 #define INTERFACE IFullScreenVideo
122 DECLARE_INTERFACE_(IFullScreenVideo, IUnknown)
124 STDMETHOD(QueryInterface)(THIS_ REFIID,LPVOID*) PURE;
125 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
126 STDMETHOD_(ULONG,Release)(THIS) PURE;
127 STDMETHOD(CountModes)(THIS_ long*) PURE;
128 STDMETHOD(GetCaption)(THIS_ BSTR*) PURE;
129 STDMETHOD(GetClipFactor)(THIS_ long*) PURE;
130 STDMETHOD(GetCurrentMode)(THIS_ long*) PURE;
131 STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE;
132 STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE;
133 STDMETHOD(GetMonitor)(THIS_ long*) PURE;
134 STDMETHOD(HideOnDeactivate)(THIS_ long) PURE;
135 STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
136 STDMETHOD(IsModeAvailable)(THIS_ long) PURE;
137 STDMETHOD(IsModeEnabled)(THIS_ long) PURE;
138 STDMETHOD(SetCaption)(THIS_ BSTR) PURE;
139 STDMETHOD(SetClipFactor)(THIS_ long) PURE;
140 STDMETHOD(SetDefault)(THIS) PURE;
141 STDMETHOD(SetEnabled)(THIS_ long,long) PURE;
142 STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE;
143 STDMETHOD(SetMonitor)(THIS_ long) PURE;
145 #undef INTERFACE
146 #define INTERFACE IFullScreenVideoEx
147 DECLARE_INTERFACE_(IFullScreenVideoEx, IFullScreenVideo)
149 STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
150 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
151 STDMETHOD_(ULONG,Release)(THIS) PURE;
152 STDMETHOD(CountModes)(THIS_ long*) PURE;
153 STDMETHOD(GetAcceleratorTable)(THIS_ HWND*,HACCEL*) PURE;
154 STDMETHOD(GetCaption)(THIS_ BSTR*) PURE;
155 STDMETHOD(GetClipFactor)(THIS_ long*) PURE;
156 STDMETHOD(GetCurrentMode)(THIS_ long*) PURE;
157 STDMETHOD(GetMessageDrain)(THIS_ HWND*) PURE;
158 STDMETHOD(GetModeInfo)(THIS_ long,long*,long*,long*) PURE;
159 STDMETHOD(GetMonitor)(THIS_ long*) PURE;
160 STDMETHOD(HideOnDeactivate)(THIS_ long) PURE;
161 STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
162 STDMETHOD(IsKeepPixelAspectRatio)(THIS_ long*) PURE;
163 STDMETHOD(IsModeAvailable)(THIS_ long) PURE;
164 STDMETHOD(IsModeEnabled)(THIS_ long) PURE;
165 STDMETHOD(KeepPixelAspectRatio)(THIS_ long) PURE;
166 STDMETHOD(SetAcceleratorTable)(THIS_ HWND,HACCEL) PURE;
167 STDMETHOD(SetCaption)(THIS_ BSTR) PURE;
168 STDMETHOD(SetClipFactor)(THIS_ long) PURE;
169 STDMETHOD(SetDefault)(THIS) PURE;
170 STDMETHOD(SetEnabled)(THIS_ long,long) PURE;
171 STDMETHOD(SetMessageDrain)(THIS_ HWND) PURE;
172 STDMETHOD(SetMonitor)(THIS_ long) PURE;
174 #undef INTERFACE
176 #ifdef __cplusplus
178 #endif
179 #endif