Welcome to mirror list, hosted at ThFree Co, Russian Federation.

amvideo.h « include « w32api « winsup - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 10e8e60e7ee7d7022694257c8289c9a7df2d96e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
#ifndef _AMVIDEO_H
#define _AMVIDEO_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif

#include <ddraw.h>
#include <strmif.h>

#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