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__ */