ReactOS  0.4.13-dev-39-g8b6696f
amvideo.idl
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2003 Robert Shearman
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 import "objidl.idl";
20 
21 /* trick widl into thinking that it knows the DirectDraw types
22  * as there is no IDL file for them (yet) */
23 cpp_quote("#if 0")
24 interface IDirectDraw;
25 typedef void DDSURFACEDESC,DDCAPS;
26 typedef DWORD RGBQUAD;
28 typedef struct
29 {
42 cpp_quote("#endif")
43 
44 cpp_quote("#include <ddraw.h>")
45 
46 cpp_quote("#define AMDDS_NONE 0x00")
47 cpp_quote("#define AMDDS_DCIPS 0x01")
48 cpp_quote("#define AMDDS_PS 0x02")
49 cpp_quote("#define AMDDS_RGBOVR 0x04")
50 cpp_quote("#define AMDDS_YUVOVR 0x08")
51 cpp_quote("#define AMDDS_RGBOFF 0x10")
52 cpp_quote("#define AMDDS_YUVOFF 0x20")
53 cpp_quote("#define AMDDS_RGBFLP 0x40")
54 cpp_quote("#define AMDDS_YUVFLP 0x80")
55 cpp_quote("#define AMDDS_ALL 0xFF")
56 cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL")
57 
58 cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)")
59 cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)")
60 cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)")
61 
62 [
63  object,
64  /* uuid(36d39eb0-dd75-11ce-bf0e-00aa0055595a) conflicts with uuids.h */
66  local
67 ]
69 {
70  HRESULT GetSwitches([out] DWORD * pSwitches);
71  HRESULT SetSwitches([in] DWORD Switches);
72  HRESULT GetCaps([out] DDCAPS * pCaps);
74  HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc);
75  HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes);
76  HRESULT SetDirectDraw([in] IDirectDraw *ddraw);
77  HRESULT GetDirectDraw([out] IDirectDraw **ddraw);
78  HRESULT GetSurfaceType([out] DWORD * pSurfaceType);
86 }
87 
88 [
89  object,
90  /* uuid(1bd0ecb0-f8e2-11ce-aac6-0020af0b99a3) conflicts with uuids.h */
92  local
93 ]
94 interface IQualProp : IUnknown
95 {
96  [propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames);
97  [propget] HRESULT FramesDrawn([out] int * pcFramesDrawn);
98  [propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate);
99  [propget] HRESULT Jitter([out] int * iJitter);
100  [propget] HRESULT AvgSyncOffset([out] int * piAvg);
101  [propget] HRESULT DevSyncOffset([out] int * piDev);
102 }
103 
104 [
105  object,
106  /* uuid(dd1d7110-7836-11cf-bf47-00aa0055595a) conflicts with uuids.h */
108 ]
110 {
111  HRESULT CountModes([out] long * pModes);
112  HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth);
113  HRESULT GetCurrentMode([out] long * pMode);
114  HRESULT IsModeAvailable([in] long Mode);
115  HRESULT IsModeEnabled([in] long Mode);
116  HRESULT SetEnabled([in] long Mode, [in] long bEnabled);
117  HRESULT GetClipFactor([out] long * pClipFactor);
118  HRESULT SetClipFactor([in] long ClipFactor);
121  HRESULT SetMonitor([in] long Monitor);
122  HRESULT GetMonitor([out] long * Monitor);
123  HRESULT HideOnDeactivate([in] long Hide);
125  HRESULT SetCaption([in] BSTR strCaption);
126  HRESULT GetCaption([out] BSTR * pstrCaption);
128 }
129 
130 [
131  object,
132  /* uuid(53479470-f1dd-11cf-bc42-00aa00ac74f6) conflicts with uuids.h */
134  local
135 ]
137 {
139  HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel);
140  HRESULT KeepPixelAspectRatio([in] long KeepAspect);
141  /* FIXME: not sure is this next method is an [out] */
142  HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect);
143 }
144 
145 [
146  object,
147  /* uuid(61ded640-e912-11ce-a099-00aa00479a58) conflicts with uuids.h */
149  local
150 ]
152 {
153  HRESULT SetLeadPin([in] int iPin);
154  HRESULT GetLeadPin([out] int * piPin);
155  HRESULT GetInputPinCount([out] int * piPinCount);
156  HRESULT IsUsingClock([out] int * pbValue);
157  HRESULT SetUsingClock([in] int bValue);
158  HRESULT GetClockPeriod([out] int * pbValue);
159  HRESULT SetClockPeriod([in] int bValue);
160 }
161 
162 #define iPALETTE_COLORS 256
163 #define iMASK_COLORS 3
164 
165 cpp_quote("#define iPALETTE_COLORS 256")
166 cpp_quote("#define iEGA_COLORS 16")
167 cpp_quote("#define iMASK_COLORS 3")
168 cpp_quote("#define iTRUECOLOR 16")
169 cpp_quote("#define iRED 0")
170 cpp_quote("#define iGREEN 1")
171 cpp_quote("#define iBLUE 2")
172 cpp_quote("#define iPALETTE 8")
173 cpp_quote("#define iMAXBITS 8")
174 
176 {
177  DWORD dwBitMasks[iMASK_COLORS];
179 } TRUECOLORINFO;
180 
181 typedef struct tagVIDEOINFOHEADER
182 {
188 
191 
192 typedef struct tagVIDEOINFO
193 {
199 
201 
202  union
203  {
207  };
208 } VIDEOINFO;
209 
210 typedef struct tagMPEG1VIDEOINFO
211 {
217 
218 cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140")
219 cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)")
220 
221 typedef struct tagAnalogVideoInfo
222 {
229 
230 typedef enum
231 {
237 
238 typedef struct _AM_FRAMESTEP_STEP
239 {
HRESULT GetFourCCCodes([out] DWORD *pCount, [out] DWORD *pCodes)
HRESULT UseScanLine([in] long UseScanLine)
HRESULT SetMonitor([in] long Monitor)
MPEG1_SEQUENCE_INFO(pv) struct tagAnalogVideoInfo ANALOGVIDEOINFO
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
HRESULT SetSwitches([in] DWORD Switches)
HRESULT SetDirectDraw([in] IDirectDraw *ddraw)
HRESULT SetDefault()
HRESULT IsModeEnabled([in] long Mode)
_In_ ULONG Mode
Definition: hubbusif.h:303
DWORD biClrImportant
Definition: amvideo.idl:40
HRESULT GetClipFactor([out] long *pClipFactor)
BITMAPINFOHEADER bmiHeader
Definition: amvideo.idl:200
HRESULT SetClipFactor([in] long ClipFactor)
HRESULT GetCurrentMode([out] long *pMode)
HRESULT GetModeInfo([in] long Mode, [out] long *pWidth, [out] long *pHeight, [out] long *pDepth)
DWORD cbSequenceHeader
Definition: amvideo.idl:214
LONG biXPelsPerMeter
Definition: amvideo.idl:37
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
DWORD dwStartTimeCode
Definition: amvideo.idl:213
REFERENCE_TIME AvgTimePerFrame
Definition: amvideo.idl:227
HRESULT SetUsingClock([in] int bValue)
DWORD dwBitErrorRate
Definition: amvideo.idl:197
OLECHAR * BSTR
Definition: compat.h:1927
LONG biYPelsPerMeter
Definition: amvideo.idl:38
REFERENCE_TIME AvgTimePerFrame
Definition: amvideo.idl:198
struct _AM_FRAMESTEP_STEP AM_FRAMESTEP_STEP
HRESULT GetCaps([out] DDCAPS *pCaps)
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
AM_PROPERTY_FRAMESTEP
Definition: amvideo.idl:230
#define iMASK_COLORS
Definition: amvideo.idl:163
#define iPALETTE_COLORS
Definition: amvideo.idl:162
HRESULT GetLeadPin([out] int *piPin)
iMAXBITS struct tag_TRUECOLORINFO TRUECOLORINFO
HRESULT GetCaption([out] BSTR *pstrCaption)
HRESULT GetClockPeriod([out] int *pbValue)
HRESULT SetCaption([in] BSTR strCaption)
HRESULT CountModes([out] long *pModes)
HACCEL hAccel
Definition: main.c:47
HRESULT GetEmulatedCaps([out] DDCAPS *pCaps)
long LONG
Definition: pedump.c:60
HRESULT GetSwitches([out] DWORD *pSwitches)
int AvgFrameRate
DWORD biCompression
Definition: amvideo.idl:35
REFERENCE_TIME AvgTimePerFrame
Definition: amvideo.idl:187
BITMAPINFOHEADER bmiHeader
Definition: amvideo.idl:189
HRESULT GetAcceleratorTable([out] HWND *phwnd, [out] HACCEL *phAccel)
HRESULT GetDirectDraw([out] IDirectDraw **ddraw)
RECT rcTarget
Definition: amvideo.idl:195
HRESULT HideOnDeactivate([in] long Hide)
HRESULT IsKeepPixelAspectRatio([out] long *pKeepAspect)
HRESULT KeepPixelAspectRatio([in] long KeepAspect)
HRESULT IsUsingClock([out] int *pbValue)
int64_t LONGLONG
Definition: typedefs.h:66
int AvgSyncOffset
HRESULT CanUseScanLine([out] long *UseScanLine)
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
struct BITMAPINFOHEADER * LPBITMAPINFOHEADER
LONG HRESULT
Definition: typedefs.h:77
HRESULT SetMessageDrain([in] HWND hwnd)
HRESULT SetLeadPin([in] int iPin)
unsigned short WORD
Definition: ntddk_ex.h:93
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT GetInputPinCount([out] int *piPinCount)
DWORD biSizeImage
Definition: amvideo.idl:36
HRESULT GetMessageDrain([out] HWND *hwnd)
HRESULT UseOverlayStretch([in] long UseOverlayStretch)
HRESULT CanUseOverlayStretch([out] long *UseOverlayStretch)
int FramesDroppedInRenderer
unsigned char BYTE
Definition: mem.h:68
HRESULT UseWhenFullScreen([in] long UseWhenFullScreen)
#define interface
Definition: basetyps.h:61
#define local
Definition: zutil.h:30
DWORD dwBitMasks[iMASK_COLORS]
Definition: amvideo.idl:205
Definition: video.h:270
GLuint in
Definition: glext.h:9616
HRESULT GetSurfaceDesc([out] DDSURFACEDESC *pSurfaceDesc)
static unsigned char pointer_default
Definition: parser.tab.c:114
HRESULT GetSurfaceType([out] DWORD *pSurfaceType)
BYTE bSequenceHeader[1]
Definition: amvideo.idl:215
struct tagMPEG1VIDEOINFO MPEG1VIDEOINFO
HRESULT IsHideOnDeactivate()
HRESULT SetEnabled([in] long Mode, [in] long bEnabled)
struct tagVIDEOINFO VIDEOINFO
int DevSyncOffset
VIDEOINFOHEADER hdr
Definition: amvideo.idl:212
TRUECOLORINFO TrueColorInfo
Definition: amvideo.idl:206
RGBQUAD bmiColors[iPALETTE_COLORS]
Definition: amvideo.idl:204
HRESULT IsModeAvailable([in] long Mode)
struct BITMAPINFOHEADER * PBITMAPINFOHEADER
int FramesDrawn
HRESULT SetDefault()
RECT rcSource
Definition: amvideo.idl:194
HRESULT WillUseFullScreen([out] long *UseWhenFullScreen)
HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel)
HRESULT GetMonitor([out] long *Monitor)
void * object
Definition: jmemsys.h:48
struct tagVIDEOINFOHEADER VIDEOINFOHEADER
DWORD dwBitRate
Definition: amvideo.idl:196
HRESULT SetClockPeriod([in] int bValue)