source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxvahd.h@ 1175

Last change on this file since 1175 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 28.4 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/dxvahd.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 __dxvahd_h__
17#define __dxvahd_h__
18
19/* Forward declarations */
20
21#ifndef __IDXVAHD_Device_FWD_DEFINED__
22#define __IDXVAHD_Device_FWD_DEFINED__
23typedef interface IDXVAHD_Device IDXVAHD_Device;
24#ifdef __cplusplus
25interface IDXVAHD_Device;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IDXVAHD_VideoProcessor_FWD_DEFINED__
30#define __IDXVAHD_VideoProcessor_FWD_DEFINED__
31typedef interface IDXVAHD_VideoProcessor IDXVAHD_VideoProcessor;
32#ifdef __cplusplus
33interface IDXVAHD_VideoProcessor;
34#endif /* __cplusplus */
35#endif
36
37/* Headers for imported files */
38
39#include <unknwn.h>
40
41#ifdef __cplusplus
42extern "C" {
43#endif
44
45#include <winapifamily.h>
46
47#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
48
49#if (_WIN32_WINNT >= 0x0601)
50#if 0
51#ifndef __IDirect3DSurface9_FWD_DEFINED__
52#define __IDirect3DSurface9_FWD_DEFINED__
53typedef interface IDirect3DSurface9 IDirect3DSurface9;
54#ifdef __cplusplus
55interface IDirect3DSurface9;
56#endif /* __cplusplus */
57#endif
58
59#ifndef __IDirect3DDevice9Ex_FWD_DEFINED__
60#define __IDirect3DDevice9Ex_FWD_DEFINED__
61typedef interface IDirect3DDevice9Ex IDirect3DDevice9Ex;
62#ifdef __cplusplus
63interface IDirect3DDevice9Ex;
64#endif /* __cplusplus */
65#endif
66
67typedef DWORD D3DFORMAT;
68typedef DWORD D3DPOOL;
69typedef struct __WIDL_dxvahd_generated_name_0000000C {
70 char dummy;
71} D3DCOLOR;
72#endif
73#ifndef CALLBACK
74#if defined(_ARM_)
75#define CALLBACK
76#else
77#define CALLBACK __stdcall
78#endif
79#endif
80#ifndef __IDXVAHD_Device_FWD_DEFINED__
81#define __IDXVAHD_Device_FWD_DEFINED__
82typedef interface IDXVAHD_Device IDXVAHD_Device;
83#ifdef __cplusplus
84interface IDXVAHD_Device;
85#endif /* __cplusplus */
86#endif
87
88#ifndef __IDXVAHD_VideoProcessor_FWD_DEFINED__
89#define __IDXVAHD_VideoProcessor_FWD_DEFINED__
90typedef interface IDXVAHD_VideoProcessor IDXVAHD_VideoProcessor;
91#ifdef __cplusplus
92interface IDXVAHD_VideoProcessor;
93#endif /* __cplusplus */
94#endif
95
96typedef enum _DXVAHD_ALPHA_FILL_MODE {
97 DXVAHD_ALPHA_FILL_MODE_OPAQUE = 0,
98 DXVAHD_ALPHA_FILL_MODE_BACKGROUND = 1,
99 DXVAHD_ALPHA_FILL_MODE_DESTINATION = 2,
100 DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM = 3
101} DXVAHD_ALPHA_FILL_MODE;
102typedef struct _DXVAHD_COLOR_YCbCrA {
103 FLOAT Y;
104 FLOAT Cb;
105 FLOAT Cr;
106 FLOAT A;
107} DXVAHD_COLOR_YCbCrA;
108typedef struct _DXVAHD_COLOR_RGBA {
109 FLOAT R;
110 FLOAT G;
111 FLOAT B;
112 FLOAT A;
113} DXVAHD_COLOR_RGBA;
114typedef union _DXVAHD_COLOR {
115 DXVAHD_COLOR_RGBA RGB;
116 DXVAHD_COLOR_YCbCrA YCbCr;
117} DXVAHD_COLOR;
118typedef struct _DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA {
119 WINBOOL YCbCr;
120 DXVAHD_COLOR BackgroundColor;
121} DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA;
122typedef enum _DXVAHD_BLT_STATE {
123 DXVAHD_BLT_STATE_TARGET_RECT = 0,
124 DXVAHD_BLT_STATE_BACKGROUND_COLOR = 1,
125 DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE = 2,
126 DXVAHD_BLT_STATE_ALPHA_FILL = 3,
127 DXVAHD_BLT_STATE_CONSTRICTION = 4,
128 DXVAHD_BLT_STATE_PRIVATE = 1000
129} DXVAHD_BLT_STATE;
130typedef enum _DXVAHD_DEVICE_CAPS {
131 DXVAHD_DEVICE_CAPS_LINEAR_SPACE = 0x1,
132 DXVAHD_DEVICE_CAPS_xvYCC = 0x2,
133 DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
134 DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8
135} DXVAHD_DEVICE_CAPS;
136typedef enum _DXVAHD_DEVICE_TYPE {
137 DXVAHD_DEVICE_TYPE_HARDWARE = 0,
138 DXVAHD_DEVICE_TYPE_SOFTWARE = 1,
139 DXVAHD_DEVICE_TYPE_REFERENCE = 2,
140 DXVAHD_DEVICE_TYPE_OTHER = 3
141} DXVAHD_DEVICE_TYPE;
142typedef enum _DXVAHD_DEVICE_USAGE {
143 DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL = 0,
144 DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED = 1,
145 DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY = 2
146} DXVAHD_DEVICE_USAGE;
147typedef enum _DXVAHD_FEATURE_CAPS {
148 DXVAHD_FEATURE_CAPS_ALPHA_FILL = 0x1,
149 DXVAHD_FEATURE_CAPS_CONSTRICTION = 0x2,
150 DXVAHD_FEATURE_CAPS_LUMA_KEY = 0x4,
151 DXVAHD_FEATURE_CAPS_ALPHA_PALETTE = 0x8
152} DXVAHD_FEATURE_CAPS;
153typedef enum _DXVAHD_FILTER {
154 DXVAHD_FILTER_BRIGHTNESS = 0,
155 DXVAHD_FILTER_CONTRAST = 1,
156 DXVAHD_FILTER_HUE = 2,
157 DXVAHD_FILTER_SATURATION = 3,
158 DXVAHD_FILTER_NOISE_REDUCTION = 4,
159 DXVAHD_FILTER_EDGE_ENHANCEMENT = 5,
160 DXVAHD_FILTER_ANAMORPHIC_SCALING = 6
161} DXVAHD_FILTER;
162typedef enum _DXVAHD_FILTER_CAPS {
163 DXVAHD_FILTER_CAPS_BRIGHTNESS = 0x1,
164 DXVAHD_FILTER_CAPS_CONTRAST = 0x2,
165 DXVAHD_FILTER_CAPS_HUE = 0x4,
166 DXVAHD_FILTER_CAPS_SATURATION = 0x8,
167 DXVAHD_FILTER_CAPS_NOISE_REDUCTION = 0x10,
168 DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
169 DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40
170} DXVAHD_FILTER_CAPS;
171typedef enum _DXVAHD_FRAME_FORMAT {
172 DXVAHD_FRAME_FORMAT_PROGRESSIVE = 0,
173 DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
174 DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
175} DXVAHD_FRAME_FORMAT;
176typedef enum _DXVAHD_INPUT_FORMAT_CAPS {
177 DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED = 0x1,
178 DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP = 0x2,
179 DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
180 DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
181} DXVAHD_INPUT_FORMAT_CAPS;
182typedef enum _DXVAHD_ITELECINE_CAPS {
183 DXVAHD_ITELECINE_CAPS_32 = 0x1,
184 DXVAHD_ITELECINE_CAPS_22 = 0x2,
185 DXVAHD_ITELECINE_CAPS_2224 = 0x4,
186 DXVAHD_ITELECINE_CAPS_2332 = 0x8,
187 DXVAHD_ITELECINE_CAPS_32322 = 0x10,
188 DXVAHD_ITELECINE_CAPS_55 = 0x20,
189 DXVAHD_ITELECINE_CAPS_64 = 0x40,
190 DXVAHD_ITELECINE_CAPS_87 = 0x80,
191 DXVAHD_ITELECINE_CAPS_222222222223 = 0x100,
192 DXVAHD_ITELECINE_CAPS_OTHER = 0x80000000
193} DXVAHD_ITELECINE_CAPS;
194typedef enum _DXVAHD_OUTPUT_RATE {
195 DXVAHD_OUTPUT_RATE_NORMAL = 0,
196 DXVAHD_OUTPUT_RATE_HALF = 1,
197 DXVAHD_OUTPUT_RATE_CUSTOM = 2
198} DXVAHD_OUTPUT_RATE;
199typedef enum _DXVAHD_PROCESSOR_CAPS {
200 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
201 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
202 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4,
203 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8,
204 DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
205 DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20
206} DXVAHD_PROCESSOR_CAPS;
207typedef enum _DXVAHD_STREAM_STATE {
208 DXVAHD_STREAM_STATE_D3DFORMAT = 0,
209 DXVAHD_STREAM_STATE_FRAME_FORMAT = 1,
210 DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE = 2,
211 DXVAHD_STREAM_STATE_OUTPUT_RATE = 3,
212 DXVAHD_STREAM_STATE_SOURCE_RECT = 4,
213 DXVAHD_STREAM_STATE_DESTINATION_RECT = 5,
214 DXVAHD_STREAM_STATE_ALPHA = 6,
215 DXVAHD_STREAM_STATE_PALETTE = 7,
216 DXVAHD_STREAM_STATE_LUMA_KEY = 8,
217 DXVAHD_STREAM_STATE_ASPECT_RATIO = 9,
218 DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS = 100,
219 DXVAHD_STREAM_STATE_FILTER_CONTRAST = 101,
220 DXVAHD_STREAM_STATE_FILTER_HUE = 102,
221 DXVAHD_STREAM_STATE_FILTER_SATURATION = 103,
222 DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION = 104,
223 DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT = 105,
224 DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING = 106,
225 DXVAHD_STREAM_STATE_PRIVATE = 1000
226} DXVAHD_STREAM_STATE;
227typedef enum _DXVAHD_SURFACE_TYPE {
228 DXVAHD_SURFACE_TYPE_VIDEO_INPUT = 0,
229 DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE = 1,
230 DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT = 2
231} DXVAHD_SURFACE_TYPE;
232typedef struct _DXVAHD_VPDEVCAPS {
233 DXVAHD_DEVICE_TYPE DeviceType;
234 UINT DeviceCaps;
235 UINT FeatureCaps;
236 UINT FilterCaps;
237 UINT InputFormatCaps;
238 D3DPOOL InputPool;
239 UINT OutputFormatCount;
240 UINT InputFormatCount;
241 UINT VideoProcessorCount;
242 UINT MaxInputStreams;
243 UINT MaxStreamStates;
244} DXVAHD_VPDEVCAPS;
245typedef struct _DXVAHD_BLT_STATE_ALPHA_FILL_DATA {
246 DXVAHD_ALPHA_FILL_MODE Mode;
247 UINT StreamNumber;
248} DXVAHD_BLT_STATE_ALPHA_FILL_DATA;
249typedef struct _DXVAHD_BLT_STATE_CONSTRICTION_DATA {
250 WINBOOL Enable;
251 SIZE Size;
252} DXVAHD_BLT_STATE_CONSTRICTION_DATA;
253typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
254 UINT Usage : 1;
255 UINT RGB_Range : 1;
256 UINT YCbCr_Matrix : 1;
257 UINT YCbCr_xvYCC : 1;
258} DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;
259typedef struct _DXVAHD_BLT_STATE_PRIVATE_DATA {
260 GUID Guid;
261 UINT DataSize;
262 void *pData;
263} DXVAHD_BLT_STATE_PRIVATE_DATA;
264typedef struct _DXVAHD_BLT_STATE_TARGET_RECT_DATA {
265 WINBOOL Enable;
266 RECT TargetRect;
267} DXVAHD_BLT_STATE_TARGET_RECT_DATA;
268typedef struct _DXVAHD_RATIONAL {
269 UINT Numerator;
270 UINT Denominator;
271} DXVAHD_RATIONAL;
272typedef struct _DXVAHD_CONTENT_DESC {
273 DXVAHD_FRAME_FORMAT InputFrameFormat;
274 DXVAHD_RATIONAL InputFrameRate;
275 UINT InputWidth;
276 UINT InputHeight;
277 DXVAHD_RATIONAL OutputFrameRate;
278 UINT OutputWidth;
279 UINT OutputHeight;
280} DXVAHD_CONTENT_DESC;
281typedef struct _DXVAHD_CUSTOM_RATE_DATA {
282 DXVAHD_RATIONAL CustomRate;
283 UINT OutputFrames;
284 WINBOOL InputInterlaced;
285 UINT InputFramesOrFields;
286} DXVAHD_CUSTOM_RATE_DATA;
287typedef struct _DXVAHD_FILTER_RANGE_DATA {
288 INT Minimum;
289 INT Maximum;
290 INT Default;
291 FLOAT Multiplier;
292} DXVAHD_FILTER_RANGE_DATA;
293typedef struct _DXVAHD_STREAM_DATA {
294 WINBOOL Enable;
295 UINT OutputIndex;
296 UINT InputFrameOrField;
297 UINT PastFrames;
298 UINT FutureFrames;
299 IDirect3DSurface9 **ppPastSurfaces;
300 IDirect3DSurface9 *pInputSurface;
301 IDirect3DSurface9 **ppFutureSurfaces;
302} DXVAHD_STREAM_DATA;
303typedef struct _DXVAHD_VPCAPS {
304 GUID VPGuid;
305 UINT PastFrames;
306 UINT FutureFrames;
307 UINT ProcessorCaps;
308 UINT ITelecineCaps;
309 UINT CustomRateCount;
310} DXVAHD_VPCAPS;
311typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
312 WINBOOL Enable;
313 FLOAT Alpha;
314} DXVAHD_STREAM_STATE_ALPHA_DATA;
315typedef struct _DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA {
316 WINBOOL Enable;
317 DXVAHD_RATIONAL SourceAspectRatio;
318 DXVAHD_RATIONAL DestinationAspectRatio;
319} DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA;
320typedef struct _DXVAHD_STREAM_STATE_D3DFORMAT_DATA {
321 D3DFORMAT Format;
322} DXVAHD_STREAM_STATE_D3DFORMAT_DATA;
323typedef struct _DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA {
324 WINBOOL Enable;
325 RECT DestinationRect;
326} DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA;
327typedef struct _DXVAHD_STREAM_STATE_FILTER_DATA {
328 WINBOOL Enable;
329 INT Level;
330} DXVAHD_STREAM_STATE_FILTER_DATA;
331typedef struct _DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA {
332 DXVAHD_FRAME_FORMAT FrameFormat;
333} DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA;
334typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
335 UINT Type : 1;
336 UINT RGB_Range : 1;
337 UINT YCbCr_Matrix : 1;
338 UINT YCbCr_xvYCC : 1;
339} DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
340typedef struct _DXVAHD_STREAM_STATE_LUMA_KEY_DATA {
341 WINBOOL Enable;
342 FLOAT Lower;
343 FLOAT Upper;
344} DXVAHD_STREAM_STATE_LUMA_KEY_DATA;
345typedef struct _DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA {
346 WINBOOL RepeatFrame;
347 DXVAHD_OUTPUT_RATE OutputRate;
348 DXVAHD_RATIONAL CustomRate;
349} DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA;
350typedef struct _DXVAHD_STREAM_STATE_SOURCE_RECT_DATA {
351 WINBOOL Enable;
352 RECT SourceRect;
353} DXVAHD_STREAM_STATE_SOURCE_RECT_DATA;
354typedef struct _DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA {
355 WINBOOL Enable;
356 UINT ITelecineFlags;
357 UINT Frames;
358 UINT InputField;
359} DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA;
360typedef struct _DXVAHD_STREAM_STATE_PRIVATE_DATA {
361 GUID Guid;
362 UINT DataSize;
363 void *pData;
364} DXVAHD_STREAM_STATE_PRIVATE_DATA;
365typedef struct _DXVAHD_STREAM_STATE_PALETTE_DATA {
366 UINT Count;
367 D3DCOLOR *pEntries;
368} DXVAHD_STREAM_STATE_PALETTE_DATA;
369typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateDevice )(IDirect3DDevice9Ex *pD3DDevice,HANDLE *phDevice);
370typedef HRESULT ( CALLBACK *PDXVAHDSW_ProposeVideoPrivateFormat )(HANDLE hDevice,D3DFORMAT *pFormat);
371typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorDeviceCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,DXVAHD_VPDEVCAPS *pCaps);
372typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorOutputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);
373typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorInputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);
374typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,DXVAHD_VPCAPS *pCaps);
375typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCustomRates )(HANDLE hDevice,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);
376typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessBltState )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);
377typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateVideoProcessor )(HANDLE hDevice,const GUID *pVPGuid,HANDLE *phVideoProcessor);
378typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyDevice )(HANDLE hDevice);
379typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorFilterRange )(HANDLE hDevice,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);
380typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyVideoProcessor )(HANDLE hVideoProcessor);
381typedef HRESULT ( CALLBACK *PDXVAHDSW_VideoProcessBltHD )(HANDLE hVideoProcessor,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);
382typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessStreamStatePrivate )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE_PRIVATE_DATA *pData);
383typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessStreamState )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);
384typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessBltStatePrivate )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE_PRIVATE_DATA *pData);
385typedef HRESULT ( CALLBACK *PDXVAHDSW_Plugin )(UINT Size,void *pCallbacks);
386
387typedef struct _DXVAHDSW_CALLBACKS {
388 PDXVAHDSW_CreateDevice CreateDevice;
389 PDXVAHDSW_ProposeVideoPrivateFormat ProposeVideoPrivateFormat;
390 PDXVAHDSW_GetVideoProcessorDeviceCaps GetVideoProcessorDeviceCaps;
391 PDXVAHDSW_GetVideoProcessorOutputFormats GetVideoProcessorOutputFormats;
392 PDXVAHDSW_GetVideoProcessorInputFormats GetVideoProcessorInputFormats;
393 PDXVAHDSW_GetVideoProcessorCaps GetVideoProcessorCaps;
394 PDXVAHDSW_GetVideoProcessorCustomRates GetVideoProcessorCustomRates;
395 PDXVAHDSW_GetVideoProcessorFilterRange GetVideoProcessorFilterRange;
396 PDXVAHDSW_DestroyDevice DestroyDevice;
397 PDXVAHDSW_CreateVideoProcessor CreateVideoProcessor;
398 PDXVAHDSW_SetVideoProcessBltState SetVideoProcessBltState;
399 PDXVAHDSW_GetVideoProcessBltStatePrivate GetVideoProcessBltStatePrivate;
400 PDXVAHDSW_SetVideoProcessStreamState SetVideoProcessStreamState;
401 PDXVAHDSW_GetVideoProcessStreamStatePrivate GetVideoProcessStreamStatePrivate;
402 PDXVAHDSW_VideoProcessBltHD VideoProcessBltHD;
403 PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor;
404} DXVAHDSW_CALLBACKS;
405
406HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);
407
408#ifdef __GNUC__
409#warning COM interfaces layout in this header has not been verified.
410#warning COM interfaces with incorrect layout may not work at all.
411__MINGW_BROKEN_INTERFACE(INTERFACE)
412#endif
413/*****************************************************************************
414 * IDXVAHD_Device interface
415 */
416#ifndef __IDXVAHD_Device_INTERFACE_DEFINED__
417#define __IDXVAHD_Device_INTERFACE_DEFINED__
418
419#if defined(__cplusplus) && !defined(CINTERFACE)
420interface IDXVAHD_Device : public IUnknown
421{
422 virtual HRESULT STDMETHODCALLTYPE CreateVideoSurface(
423 UINT Width,
424 UINT Height,
425 D3DFORMAT Format,
426 D3DPOOL Pool,
427 DWORD Usage,
428 DXVAHD_SURFACE_TYPE Type,
429 UINT NumSurfaces,
430 IDirect3DSurface9 **ppSurfaces,
431 HANDLE *pSharedHandle) = 0;
432
433 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorDeviceCaps(
434 DXVAHD_VPDEVCAPS *pCaps) = 0;
435
436 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorOutputFormats(
437 UINT Count,
438 D3DFORMAT *pFormats) = 0;
439
440 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorInputFormats(
441 UINT Count,
442 D3DFORMAT *pFormats) = 0;
443
444 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
445 UINT Count,
446 DXVAHD_VPCAPS *pCaps) = 0;
447
448 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRates(
449 const GUID *pVPGuid,
450 UINT Count,
451 DXVAHD_CUSTOM_RATE_DATA *pRates) = 0;
452
453 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange(
454 DXVAHD_FILTER Filter,
455 DXVAHD_FILTER_RANGE_DATA *pRange) = 0;
456
457 virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
458 const GUID *pVPGuid,
459 IDXVAHD_VideoProcessor **ppVideoProcessor) = 0;
460
461};
462#else
463typedef struct IDXVAHD_DeviceVtbl {
464 BEGIN_INTERFACE
465
466 /*** IUnknown methods ***/
467 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
468 IDXVAHD_Device *This,
469 REFIID riid,
470 void **ppvObject);
471
472 ULONG (STDMETHODCALLTYPE *AddRef)(
473 IDXVAHD_Device *This);
474
475 ULONG (STDMETHODCALLTYPE *Release)(
476 IDXVAHD_Device *This);
477
478 /*** IDXVAHD_Device methods ***/
479 HRESULT (STDMETHODCALLTYPE *CreateVideoSurface)(
480 IDXVAHD_Device *This,
481 UINT Width,
482 UINT Height,
483 D3DFORMAT Format,
484 D3DPOOL Pool,
485 DWORD Usage,
486 DXVAHD_SURFACE_TYPE Type,
487 UINT NumSurfaces,
488 IDirect3DSurface9 **ppSurfaces,
489 HANDLE *pSharedHandle);
490
491 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorDeviceCaps)(
492 IDXVAHD_Device *This,
493 DXVAHD_VPDEVCAPS *pCaps);
494
495 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorOutputFormats)(
496 IDXVAHD_Device *This,
497 UINT Count,
498 D3DFORMAT *pFormats);
499
500 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorInputFormats)(
501 IDXVAHD_Device *This,
502 UINT Count,
503 D3DFORMAT *pFormats);
504
505 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
506 IDXVAHD_Device *This,
507 UINT Count,
508 DXVAHD_VPCAPS *pCaps);
509
510 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRates)(
511 IDXVAHD_Device *This,
512 const GUID *pVPGuid,
513 UINT Count,
514 DXVAHD_CUSTOM_RATE_DATA *pRates);
515
516 HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)(
517 IDXVAHD_Device *This,
518 DXVAHD_FILTER Filter,
519 DXVAHD_FILTER_RANGE_DATA *pRange);
520
521 HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
522 IDXVAHD_Device *This,
523 const GUID *pVPGuid,
524 IDXVAHD_VideoProcessor **ppVideoProcessor);
525
526 END_INTERFACE
527} IDXVAHD_DeviceVtbl;
528
529interface IDXVAHD_Device {
530 CONST_VTBL IDXVAHD_DeviceVtbl* lpVtbl;
531};
532
533#ifdef COBJMACROS
534#ifndef WIDL_C_INLINE_WRAPPERS
535/*** IUnknown methods ***/
536#define IDXVAHD_Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
537#define IDXVAHD_Device_AddRef(This) (This)->lpVtbl->AddRef(This)
538#define IDXVAHD_Device_Release(This) (This)->lpVtbl->Release(This)
539/*** IDXVAHD_Device methods ***/
540#define IDXVAHD_Device_CreateVideoSurface(This,Width,Height,Format,Pool,Usage,Type,NumSurfaces,ppSurfaces,pSharedHandle) (This)->lpVtbl->CreateVideoSurface(This,Width,Height,Format,Pool,Usage,Type,NumSurfaces,ppSurfaces,pSharedHandle)
541#define IDXVAHD_Device_GetVideoProcessorDeviceCaps(This,pCaps) (This)->lpVtbl->GetVideoProcessorDeviceCaps(This,pCaps)
542#define IDXVAHD_Device_GetVideoProcessorOutputFormats(This,Count,pFormats) (This)->lpVtbl->GetVideoProcessorOutputFormats(This,Count,pFormats)
543#define IDXVAHD_Device_GetVideoProcessorInputFormats(This,Count,pFormats) (This)->lpVtbl->GetVideoProcessorInputFormats(This,Count,pFormats)
544#define IDXVAHD_Device_GetVideoProcessorCaps(This,Count,pCaps) (This)->lpVtbl->GetVideoProcessorCaps(This,Count,pCaps)
545#define IDXVAHD_Device_GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates) (This)->lpVtbl->GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates)
546#define IDXVAHD_Device_GetVideoProcessorFilterRange(This,Filter,pRange) (This)->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange)
547#define IDXVAHD_Device_CreateVideoProcessor(This,pVPGuid,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,pVPGuid,ppVideoProcessor)
548#else
549/*** IUnknown methods ***/
550static FORCEINLINE HRESULT IDXVAHD_Device_QueryInterface(IDXVAHD_Device* This,REFIID riid,void **ppvObject) {
551 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
552}
553static FORCEINLINE ULONG IDXVAHD_Device_AddRef(IDXVAHD_Device* This) {
554 return This->lpVtbl->AddRef(This);
555}
556static FORCEINLINE ULONG IDXVAHD_Device_Release(IDXVAHD_Device* This) {
557 return This->lpVtbl->Release(This);
558}
559/*** IDXVAHD_Device methods ***/
560static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoSurface(IDXVAHD_Device* This,UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,DWORD Usage,DXVAHD_SURFACE_TYPE Type,UINT NumSurfaces,IDirect3DSurface9 **ppSurfaces,HANDLE *pSharedHandle) {
561 return This->lpVtbl->CreateVideoSurface(This,Width,Height,Format,Pool,Usage,Type,NumSurfaces,ppSurfaces,pSharedHandle);
562}
563static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorDeviceCaps(IDXVAHD_Device* This,DXVAHD_VPDEVCAPS *pCaps) {
564 return This->lpVtbl->GetVideoProcessorDeviceCaps(This,pCaps);
565}
566static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorOutputFormats(IDXVAHD_Device* This,UINT Count,D3DFORMAT *pFormats) {
567 return This->lpVtbl->GetVideoProcessorOutputFormats(This,Count,pFormats);
568}
569static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorInputFormats(IDXVAHD_Device* This,UINT Count,D3DFORMAT *pFormats) {
570 return This->lpVtbl->GetVideoProcessorInputFormats(This,Count,pFormats);
571}
572static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorCaps(IDXVAHD_Device* This,UINT Count,DXVAHD_VPCAPS *pCaps) {
573 return This->lpVtbl->GetVideoProcessorCaps(This,Count,pCaps);
574}
575static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorCustomRates(IDXVAHD_Device* This,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates) {
576 return This->lpVtbl->GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates);
577}
578static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorFilterRange(IDXVAHD_Device* This,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange) {
579 return This->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange);
580}
581static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* This,const GUID *pVPGuid,IDXVAHD_VideoProcessor **ppVideoProcessor) {
582 return This->lpVtbl->CreateVideoProcessor(This,pVPGuid,ppVideoProcessor);
583}
584#endif
585#endif
586
587#endif
588
589
590#endif /* __IDXVAHD_Device_INTERFACE_DEFINED__ */
591
592#ifdef __GNUC__
593#warning COM interfaces layout in this header has not been verified.
594#warning COM interfaces with incorrect layout may not work at all.
595__MINGW_BROKEN_INTERFACE(INTERFACE)
596#endif
597/*****************************************************************************
598 * IDXVAHD_VideoProcessor interface
599 */
600#ifndef __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
601#define __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__
602
603#if defined(__cplusplus) && !defined(CINTERFACE)
604interface IDXVAHD_VideoProcessor : public IUnknown
605{
606 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessBltState(
607 DXVAHD_BLT_STATE State,
608 UINT DataSize,
609 const void *pData) = 0;
610
611 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessBltState(
612 DXVAHD_BLT_STATE State,
613 UINT DataSize,
614 void *pData) = 0;
615
616 virtual HRESULT STDMETHODCALLTYPE SetVideoProcessStreamState(
617 UINT StreamNumber,
618 DXVAHD_STREAM_STATE State,
619 UINT DataSize,
620 const void *pData) = 0;
621
622 virtual HRESULT STDMETHODCALLTYPE GetVideoProcessStreamState(
623 UINT StreamNumber,
624 DXVAHD_STREAM_STATE State,
625 UINT DataSize,
626 void *pData) = 0;
627
628 virtual HRESULT STDMETHODCALLTYPE VideoProcessBltHD(
629 IDirect3DSurface9 *pOutputSurface,
630 UINT OutputFrame,
631 UINT StreamCount,
632 const DXVAHD_STREAM_DATA *pStreams) = 0;
633
634};
635#else
636typedef struct IDXVAHD_VideoProcessorVtbl {
637 BEGIN_INTERFACE
638
639 /*** IUnknown methods ***/
640 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
641 IDXVAHD_VideoProcessor *This,
642 REFIID riid,
643 void **ppvObject);
644
645 ULONG (STDMETHODCALLTYPE *AddRef)(
646 IDXVAHD_VideoProcessor *This);
647
648 ULONG (STDMETHODCALLTYPE *Release)(
649 IDXVAHD_VideoProcessor *This);
650
651 /*** IDXVAHD_VideoProcessor methods ***/
652 HRESULT (STDMETHODCALLTYPE *SetVideoProcessBltState)(
653 IDXVAHD_VideoProcessor *This,
654 DXVAHD_BLT_STATE State,
655 UINT DataSize,
656 const void *pData);
657
658 HRESULT (STDMETHODCALLTYPE *GetVideoProcessBltState)(
659 IDXVAHD_VideoProcessor *This,
660 DXVAHD_BLT_STATE State,
661 UINT DataSize,
662 void *pData);
663
664 HRESULT (STDMETHODCALLTYPE *SetVideoProcessStreamState)(
665 IDXVAHD_VideoProcessor *This,
666 UINT StreamNumber,
667 DXVAHD_STREAM_STATE State,
668 UINT DataSize,
669 const void *pData);
670
671 HRESULT (STDMETHODCALLTYPE *GetVideoProcessStreamState)(
672 IDXVAHD_VideoProcessor *This,
673 UINT StreamNumber,
674 DXVAHD_STREAM_STATE State,
675 UINT DataSize,
676 void *pData);
677
678 HRESULT (STDMETHODCALLTYPE *VideoProcessBltHD)(
679 IDXVAHD_VideoProcessor *This,
680 IDirect3DSurface9 *pOutputSurface,
681 UINT OutputFrame,
682 UINT StreamCount,
683 const DXVAHD_STREAM_DATA *pStreams);
684
685 END_INTERFACE
686} IDXVAHD_VideoProcessorVtbl;
687
688interface IDXVAHD_VideoProcessor {
689 CONST_VTBL IDXVAHD_VideoProcessorVtbl* lpVtbl;
690};
691
692#ifdef COBJMACROS
693#ifndef WIDL_C_INLINE_WRAPPERS
694/*** IUnknown methods ***/
695#define IDXVAHD_VideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
696#define IDXVAHD_VideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
697#define IDXVAHD_VideoProcessor_Release(This) (This)->lpVtbl->Release(This)
698/*** IDXVAHD_VideoProcessor methods ***/
699#define IDXVAHD_VideoProcessor_SetVideoProcessBltState(This,State,DataSize,pData) (This)->lpVtbl->SetVideoProcessBltState(This,State,DataSize,pData)
700#define IDXVAHD_VideoProcessor_GetVideoProcessBltState(This,State,DataSize,pData) (This)->lpVtbl->GetVideoProcessBltState(This,State,DataSize,pData)
701#define IDXVAHD_VideoProcessor_SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData) (This)->lpVtbl->SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData)
702#define IDXVAHD_VideoProcessor_GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData) (This)->lpVtbl->GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData)
703#define IDXVAHD_VideoProcessor_VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams) (This)->lpVtbl->VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams)
704#else
705/*** IUnknown methods ***/
706static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_QueryInterface(IDXVAHD_VideoProcessor* This,REFIID riid,void **ppvObject) {
707 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
708}
709static FORCEINLINE ULONG IDXVAHD_VideoProcessor_AddRef(IDXVAHD_VideoProcessor* This) {
710 return This->lpVtbl->AddRef(This);
711}
712static FORCEINLINE ULONG IDXVAHD_VideoProcessor_Release(IDXVAHD_VideoProcessor* This) {
713 return This->lpVtbl->Release(This);
714}
715/*** IDXVAHD_VideoProcessor methods ***/
716static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_SetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData) {
717 return This->lpVtbl->SetVideoProcessBltState(This,State,DataSize,pData);
718}
719static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_GetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE State,UINT DataSize,void *pData) {
720 return This->lpVtbl->GetVideoProcessBltState(This,State,DataSize,pData);
721}
722static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_SetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData) {
723 return This->lpVtbl->SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData);
724}
725static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_GetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,void *pData) {
726 return This->lpVtbl->GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData);
727}
728static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_VideoProcessBltHD(IDXVAHD_VideoProcessor* This,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams) {
729 return This->lpVtbl->VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams);
730}
731#endif
732#endif
733
734#endif
735
736
737#endif /* __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__ */
738
739#endif /*(_WIN32_WINNT >= 0x0601)*/
740#endif /*WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
741/* Begin additional prototypes for all interfaces */
742
743
744/* End additional prototypes */
745
746#ifdef __cplusplus
747}
748#endif
749
750#endif /* __dxvahd_h__ */
Note: See TracBrowser for help on using the repository browser.