master
1/*** Autogenerated by WIDL 10.4 from include/evr9.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __evr9_h__
17#define __evr9_h__
18
19/* Forward declarations */
20
21#ifndef __IMFVideoMixerBitmap_FWD_DEFINED__
22#define __IMFVideoMixerBitmap_FWD_DEFINED__
23typedef interface IMFVideoMixerBitmap IMFVideoMixerBitmap;
24#ifdef __cplusplus
25interface IMFVideoMixerBitmap;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMFVideoProcessor_FWD_DEFINED__
30#define __IMFVideoProcessor_FWD_DEFINED__
31typedef interface IMFVideoProcessor IMFVideoProcessor;
32#ifdef __cplusplus
33interface IMFVideoProcessor;
34#endif /* __cplusplus */
35#endif
36
37/* Headers for imported files */
38
39#include <unknwn.h>
40#include <evr.h>
41#include <dxva2api.h>
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
47typedef struct MFVideoAlphaBitmapParams {
48 DWORD dwFlags;
49 COLORREF clrSrcKey;
50 RECT rcSrc;
51 MFVideoNormalizedRect nrcDest;
52 FLOAT fAlpha;
53 DWORD dwFilterMode;
54} MFVideoAlphaBitmapParams;
55typedef struct MFVideoAlphaBitmap {
56 WINBOOL GetBitmapFromDC;
57 union {
58 HDC hdc;
59 IDirect3DSurface9 *pDDS;
60 } bitmap;
61 MFVideoAlphaBitmapParams params;
62} MFVideoAlphaBitmap;
63typedef enum __WIDL_evr9_generated_name_00000030 {
64 MFVideoAlphaBitmap_EntireDDS = 0x1,
65 MFVideoAlphaBitmap_SrcColorKey = 0x2,
66 MFVideoAlphaBitmap_SrcRect = 0x4,
67 MFVideoAlphaBitmap_DestRect = 0x8,
68 MFVideoAlphaBitmap_FilterMode = 0x10,
69 MFVideoAlphaBitmap_Alpha = 0x20,
70 MFVideoAlphaBitmap_BitMask = 0x3f
71} MFVideoAlphaBitmapFlags;
72/*****************************************************************************
73 * IMFVideoMixerBitmap interface
74 */
75#ifndef __IMFVideoMixerBitmap_INTERFACE_DEFINED__
76#define __IMFVideoMixerBitmap_INTERFACE_DEFINED__
77
78DEFINE_GUID(IID_IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc);
79#if defined(__cplusplus) && !defined(CINTERFACE)
80MIDL_INTERFACE("814c7b20-0fdb-4eec-af8f-f957c8f69edc")
81IMFVideoMixerBitmap : public IUnknown
82{
83 virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
84 const MFVideoAlphaBitmap *bitmap) = 0;
85
86 virtual HRESULT STDMETHODCALLTYPE ClearAlphaBitmap(
87 ) = 0;
88
89 virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
90 const MFVideoAlphaBitmapParams *params) = 0;
91
92 virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
93 MFVideoAlphaBitmapParams *params) = 0;
94
95};
96#ifdef __CRT_UUID_DECL
97__CRT_UUID_DECL(IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc)
98#endif
99#else
100typedef struct IMFVideoMixerBitmapVtbl {
101 BEGIN_INTERFACE
102
103 /*** IUnknown methods ***/
104 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
105 IMFVideoMixerBitmap *This,
106 REFIID riid,
107 void **ppvObject);
108
109 ULONG (STDMETHODCALLTYPE *AddRef)(
110 IMFVideoMixerBitmap *This);
111
112 ULONG (STDMETHODCALLTYPE *Release)(
113 IMFVideoMixerBitmap *This);
114
115 /*** IMFVideoMixerBitmap methods ***/
116 HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)(
117 IMFVideoMixerBitmap *This,
118 const MFVideoAlphaBitmap *bitmap);
119
120 HRESULT (STDMETHODCALLTYPE *ClearAlphaBitmap)(
121 IMFVideoMixerBitmap *This);
122
123 HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)(
124 IMFVideoMixerBitmap *This,
125 const MFVideoAlphaBitmapParams *params);
126
127 HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)(
128 IMFVideoMixerBitmap *This,
129 MFVideoAlphaBitmapParams *params);
130
131 END_INTERFACE
132} IMFVideoMixerBitmapVtbl;
133
134interface IMFVideoMixerBitmap {
135 CONST_VTBL IMFVideoMixerBitmapVtbl* lpVtbl;
136};
137
138#ifdef COBJMACROS
139#ifndef WIDL_C_INLINE_WRAPPERS
140/*** IUnknown methods ***/
141#define IMFVideoMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
142#define IMFVideoMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
143#define IMFVideoMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
144/*** IMFVideoMixerBitmap methods ***/
145#define IMFVideoMixerBitmap_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap)
146#define IMFVideoMixerBitmap_ClearAlphaBitmap(This) (This)->lpVtbl->ClearAlphaBitmap(This)
147#define IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(This,params) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,params)
148#define IMFVideoMixerBitmap_GetAlphaBitmapParameters(This,params) (This)->lpVtbl->GetAlphaBitmapParameters(This,params)
149#else
150/*** IUnknown methods ***/
151static inline HRESULT IMFVideoMixerBitmap_QueryInterface(IMFVideoMixerBitmap* This,REFIID riid,void **ppvObject) {
152 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
153}
154static inline ULONG IMFVideoMixerBitmap_AddRef(IMFVideoMixerBitmap* This) {
155 return This->lpVtbl->AddRef(This);
156}
157static inline ULONG IMFVideoMixerBitmap_Release(IMFVideoMixerBitmap* This) {
158 return This->lpVtbl->Release(This);
159}
160/*** IMFVideoMixerBitmap methods ***/
161static inline HRESULT IMFVideoMixerBitmap_SetAlphaBitmap(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmap *bitmap) {
162 return This->lpVtbl->SetAlphaBitmap(This,bitmap);
163}
164static inline HRESULT IMFVideoMixerBitmap_ClearAlphaBitmap(IMFVideoMixerBitmap* This) {
165 return This->lpVtbl->ClearAlphaBitmap(This);
166}
167static inline HRESULT IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmapParams *params) {
168 return This->lpVtbl->UpdateAlphaBitmapParameters(This,params);
169}
170static inline HRESULT IMFVideoMixerBitmap_GetAlphaBitmapParameters(IMFVideoMixerBitmap* This,MFVideoAlphaBitmapParams *params) {
171 return This->lpVtbl->GetAlphaBitmapParameters(This,params);
172}
173#endif
174#endif
175
176#endif
177
178
179#endif /* __IMFVideoMixerBitmap_INTERFACE_DEFINED__ */
180
181/*****************************************************************************
182 * IMFVideoProcessor interface
183 */
184#ifndef __IMFVideoProcessor_INTERFACE_DEFINED__
185#define __IMFVideoProcessor_INTERFACE_DEFINED__
186
187DEFINE_GUID(IID_IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e);
188#if defined(__cplusplus) && !defined(CINTERFACE)
189MIDL_INTERFACE("6ab0000c-fece-4d1f-a2ac-a9573530656e")
190IMFVideoProcessor : public IUnknown
191{
192 virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoProcessorModes(
193 UINT *count,
194 GUID **modes) = 0;
195
196 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
197 GUID *mode,
198 DXVA2_VideoProcessorCaps *caps) = 0;
199
200 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorMode(
201 GUID *mode) = 0;
202
203 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessorMode(
204 GUID *mode) = 0;
205
206 virtual HRESULT STDMETHODCALLTYPE GetProcAmpRange(
207 DWORD prop,
208 DXVA2_ValueRange *range) = 0;
209
210 virtual HRESULT STDMETHODCALLTYPE GetProcAmpValues(
211 DWORD flags,
212 DXVA2_ProcAmpValues *values) = 0;
213
214 virtual HRESULT STDMETHODCALLTYPE SetProcAmpValues(
215 DWORD flags,
216 DXVA2_ProcAmpValues *values) = 0;
217
218 virtual HRESULT STDMETHODCALLTYPE GetFilteringRange(
219 DWORD prop,
220 DXVA2_ValueRange *range) = 0;
221
222 virtual HRESULT STDMETHODCALLTYPE GetFilteringValue(
223 DWORD prop,
224 DXVA2_Fixed32 *value) = 0;
225
226 virtual HRESULT STDMETHODCALLTYPE SetFilteringValue(
227 DWORD prop,
228 DXVA2_Fixed32 *value) = 0;
229
230 virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
231 COLORREF *color) = 0;
232
233 virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
234 COLORREF color) = 0;
235
236};
237#ifdef __CRT_UUID_DECL
238__CRT_UUID_DECL(IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e)
239#endif
240#else
241typedef struct IMFVideoProcessorVtbl {
242 BEGIN_INTERFACE
243
244 /*** IUnknown methods ***/
245 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
246 IMFVideoProcessor *This,
247 REFIID riid,
248 void **ppvObject);
249
250 ULONG (STDMETHODCALLTYPE *AddRef)(
251 IMFVideoProcessor *This);
252
253 ULONG (STDMETHODCALLTYPE *Release)(
254 IMFVideoProcessor *This);
255
256 /*** IMFVideoProcessor methods ***/
257 HRESULT (STDMETHODCALLTYPE *GetAvailableVideoProcessorModes)(
258 IMFVideoProcessor *This,
259 UINT *count,
260 GUID **modes);
261
262 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
263 IMFVideoProcessor *This,
264 GUID *mode,
265 DXVA2_VideoProcessorCaps *caps);
266
267 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorMode)(
268 IMFVideoProcessor *This,
269 GUID *mode);
270
271 HRESULT (STDMETHODCALLTYPE *SetVideoProcessorMode)(
272 IMFVideoProcessor *This,
273 GUID *mode);
274
275 HRESULT (STDMETHODCALLTYPE *GetProcAmpRange)(
276 IMFVideoProcessor *This,
277 DWORD prop,
278 DXVA2_ValueRange *range);
279
280 HRESULT (STDMETHODCALLTYPE *GetProcAmpValues)(
281 IMFVideoProcessor *This,
282 DWORD flags,
283 DXVA2_ProcAmpValues *values);
284
285 HRESULT (STDMETHODCALLTYPE *SetProcAmpValues)(
286 IMFVideoProcessor *This,
287 DWORD flags,
288 DXVA2_ProcAmpValues *values);
289
290 HRESULT (STDMETHODCALLTYPE *GetFilteringRange)(
291 IMFVideoProcessor *This,
292 DWORD prop,
293 DXVA2_ValueRange *range);
294
295 HRESULT (STDMETHODCALLTYPE *GetFilteringValue)(
296 IMFVideoProcessor *This,
297 DWORD prop,
298 DXVA2_Fixed32 *value);
299
300 HRESULT (STDMETHODCALLTYPE *SetFilteringValue)(
301 IMFVideoProcessor *This,
302 DWORD prop,
303 DXVA2_Fixed32 *value);
304
305 HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
306 IMFVideoProcessor *This,
307 COLORREF *color);
308
309 HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
310 IMFVideoProcessor *This,
311 COLORREF color);
312
313 END_INTERFACE
314} IMFVideoProcessorVtbl;
315
316interface IMFVideoProcessor {
317 CONST_VTBL IMFVideoProcessorVtbl* lpVtbl;
318};
319
320#ifdef COBJMACROS
321#ifndef WIDL_C_INLINE_WRAPPERS
322/*** IUnknown methods ***/
323#define IMFVideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
324#define IMFVideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
325#define IMFVideoProcessor_Release(This) (This)->lpVtbl->Release(This)
326/*** IMFVideoProcessor methods ***/
327#define IMFVideoProcessor_GetAvailableVideoProcessorModes(This,count,modes) (This)->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes)
328#define IMFVideoProcessor_GetVideoProcessorCaps(This,mode,caps) (This)->lpVtbl->GetVideoProcessorCaps(This,mode,caps)
329#define IMFVideoProcessor_GetVideoProcessorMode(This,mode) (This)->lpVtbl->GetVideoProcessorMode(This,mode)
330#define IMFVideoProcessor_SetVideoProcessorMode(This,mode) (This)->lpVtbl->SetVideoProcessorMode(This,mode)
331#define IMFVideoProcessor_GetProcAmpRange(This,prop,range) (This)->lpVtbl->GetProcAmpRange(This,prop,range)
332#define IMFVideoProcessor_GetProcAmpValues(This,flags,values) (This)->lpVtbl->GetProcAmpValues(This,flags,values)
333#define IMFVideoProcessor_SetProcAmpValues(This,flags,values) (This)->lpVtbl->SetProcAmpValues(This,flags,values)
334#define IMFVideoProcessor_GetFilteringRange(This,prop,range) (This)->lpVtbl->GetFilteringRange(This,prop,range)
335#define IMFVideoProcessor_GetFilteringValue(This,prop,value) (This)->lpVtbl->GetFilteringValue(This,prop,value)
336#define IMFVideoProcessor_SetFilteringValue(This,prop,value) (This)->lpVtbl->SetFilteringValue(This,prop,value)
337#define IMFVideoProcessor_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
338#define IMFVideoProcessor_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
339#else
340/*** IUnknown methods ***/
341static inline HRESULT IMFVideoProcessor_QueryInterface(IMFVideoProcessor* This,REFIID riid,void **ppvObject) {
342 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
343}
344static inline ULONG IMFVideoProcessor_AddRef(IMFVideoProcessor* This) {
345 return This->lpVtbl->AddRef(This);
346}
347static inline ULONG IMFVideoProcessor_Release(IMFVideoProcessor* This) {
348 return This->lpVtbl->Release(This);
349}
350/*** IMFVideoProcessor methods ***/
351static inline HRESULT IMFVideoProcessor_GetAvailableVideoProcessorModes(IMFVideoProcessor* This,UINT *count,GUID **modes) {
352 return This->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes);
353}
354static inline HRESULT IMFVideoProcessor_GetVideoProcessorCaps(IMFVideoProcessor* This,GUID *mode,DXVA2_VideoProcessorCaps *caps) {
355 return This->lpVtbl->GetVideoProcessorCaps(This,mode,caps);
356}
357static inline HRESULT IMFVideoProcessor_GetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
358 return This->lpVtbl->GetVideoProcessorMode(This,mode);
359}
360static inline HRESULT IMFVideoProcessor_SetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
361 return This->lpVtbl->SetVideoProcessorMode(This,mode);
362}
363static inline HRESULT IMFVideoProcessor_GetProcAmpRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
364 return This->lpVtbl->GetProcAmpRange(This,prop,range);
365}
366static inline HRESULT IMFVideoProcessor_GetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
367 return This->lpVtbl->GetProcAmpValues(This,flags,values);
368}
369static inline HRESULT IMFVideoProcessor_SetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
370 return This->lpVtbl->SetProcAmpValues(This,flags,values);
371}
372static inline HRESULT IMFVideoProcessor_GetFilteringRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
373 return This->lpVtbl->GetFilteringRange(This,prop,range);
374}
375static inline HRESULT IMFVideoProcessor_GetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
376 return This->lpVtbl->GetFilteringValue(This,prop,value);
377}
378static inline HRESULT IMFVideoProcessor_SetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
379 return This->lpVtbl->SetFilteringValue(This,prop,value);
380}
381static inline HRESULT IMFVideoProcessor_GetBackgroundColor(IMFVideoProcessor* This,COLORREF *color) {
382 return This->lpVtbl->GetBackgroundColor(This,color);
383}
384static inline HRESULT IMFVideoProcessor_SetBackgroundColor(IMFVideoProcessor* This,COLORREF color) {
385 return This->lpVtbl->SetBackgroundColor(This,color);
386}
387#endif
388#endif
389
390#endif
391
392
393#endif /* __IMFVideoProcessor_INTERFACE_DEFINED__ */
394
395/* Begin additional prototypes for all interfaces */
396
397
398/* End additional prototypes */
399
400#ifdef __cplusplus
401}
402#endif
403
404#endif /* __evr9_h__ */