ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxvahd.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 17334 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7 cpp_quote("#include <winapifamily.h>")
8 cpp_quote("")
9 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
10 cpp_quote("")
11 cpp_quote("#if (_WIN32_WINNT >= 0x0601)")
12
13 import "unknwn.idl";
14
15 cpp_quote("#if 0")
16 interface IDirect3DSurface9;
17 interface IDirect3DDevice9Ex;
18 typedef DWORD D3DFORMAT;
19 typedef DWORD D3DPOOL;
20 typedef struct { char dummy; } D3DCOLOR;
21 cpp_quote("#endif")
22
23 cpp_quote("#ifndef CALLBACK")
24 cpp_quote("#if defined(_ARM_)")
25 cpp_quote("#define CALLBACK")
26 cpp_quote("#else")
27 cpp_quote("#define CALLBACK __stdcall")
28 cpp_quote("#endif")
29 cpp_quote("#endif")
30
31 interface IDXVAHD_Device;
32 interface IDXVAHD_VideoProcessor;
33
34 typedef enum _DXVAHD_ALPHA_FILL_MODE {
35 DXVAHD_ALPHA_FILL_MODE_OPAQUE = 0,
36 DXVAHD_ALPHA_FILL_MODE_BACKGROUND = 1,
37 DXVAHD_ALPHA_FILL_MODE_DESTINATION = 2,
38 DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM = 3
39 } DXVAHD_ALPHA_FILL_MODE;
40
41 typedef struct _DXVAHD_COLOR_YCbCrA {
42 FLOAT Y;
43 FLOAT Cb;
44 FLOAT Cr;
45 FLOAT A;
46 } DXVAHD_COLOR_YCbCrA;
47
48 typedef struct _DXVAHD_COLOR_RGBA {
49 FLOAT R;
50 FLOAT G;
51 FLOAT B;
52 FLOAT A;
53 } DXVAHD_COLOR_RGBA;
54
55 typedef union _DXVAHD_COLOR {
56 DXVAHD_COLOR_RGBA RGB;
57 DXVAHD_COLOR_YCbCrA YCbCr;
58 } DXVAHD_COLOR;
59
60 typedef struct _DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA {
61 WINBOOL YCbCr;
62 DXVAHD_COLOR BackgroundColor;
63 } DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA;
64
65 typedef enum _DXVAHD_BLT_STATE {
66 DXVAHD_BLT_STATE_TARGET_RECT = 0,
67 DXVAHD_BLT_STATE_BACKGROUND_COLOR = 1,
68 DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE = 2,
69 DXVAHD_BLT_STATE_ALPHA_FILL = 3,
70 DXVAHD_BLT_STATE_CONSTRICTION = 4,
71 DXVAHD_BLT_STATE_PRIVATE = 1000
72 } DXVAHD_BLT_STATE;
73
74 typedef enum _DXVAHD_DEVICE_CAPS {
75 DXVAHD_DEVICE_CAPS_LINEAR_SPACE = 0x1,
76 DXVAHD_DEVICE_CAPS_xvYCC = 0x2,
77 DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
78 DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8
79 } DXVAHD_DEVICE_CAPS;
80
81 typedef enum _DXVAHD_DEVICE_TYPE {
82 DXVAHD_DEVICE_TYPE_HARDWARE = 0,
83 DXVAHD_DEVICE_TYPE_SOFTWARE = 1,
84 DXVAHD_DEVICE_TYPE_REFERENCE = 2,
85 DXVAHD_DEVICE_TYPE_OTHER = 3
86 } DXVAHD_DEVICE_TYPE;
87
88 typedef enum _DXVAHD_DEVICE_USAGE {
89 DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL = 0,
90 DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED = 1,
91 DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY = 2
92 } DXVAHD_DEVICE_USAGE;
93
94
95 typedef enum _DXVAHD_FEATURE_CAPS {
96 DXVAHD_FEATURE_CAPS_ALPHA_FILL = 0x1,
97 DXVAHD_FEATURE_CAPS_CONSTRICTION = 0x2,
98 DXVAHD_FEATURE_CAPS_LUMA_KEY = 0x4,
99 DXVAHD_FEATURE_CAPS_ALPHA_PALETTE = 0x8
100 } DXVAHD_FEATURE_CAPS;
101
102 typedef enum _DXVAHD_FILTER {
103 DXVAHD_FILTER_BRIGHTNESS = 0,
104 DXVAHD_FILTER_CONTRAST = 1,
105 DXVAHD_FILTER_HUE = 2,
106 DXVAHD_FILTER_SATURATION = 3,
107 DXVAHD_FILTER_NOISE_REDUCTION = 4,
108 DXVAHD_FILTER_EDGE_ENHANCEMENT = 5,
109 DXVAHD_FILTER_ANAMORPHIC_SCALING = 6
110 } DXVAHD_FILTER;
111
112 typedef enum _DXVAHD_FILTER_CAPS {
113 DXVAHD_FILTER_CAPS_BRIGHTNESS = 0x1,
114 DXVAHD_FILTER_CAPS_CONTRAST = 0x2,
115 DXVAHD_FILTER_CAPS_HUE = 0x4,
116 DXVAHD_FILTER_CAPS_SATURATION = 0x8,
117 DXVAHD_FILTER_CAPS_NOISE_REDUCTION = 0x10,
118 DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
119 DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40
120 } DXVAHD_FILTER_CAPS;
121
122 typedef enum _DXVAHD_FRAME_FORMAT {
123 DXVAHD_FRAME_FORMAT_PROGRESSIVE = 0,
124 DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1,
125 DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2
126 } DXVAHD_FRAME_FORMAT;
127
128 typedef enum _DXVAHD_INPUT_FORMAT_CAPS {
129 DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED = 0x1,
130 DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP = 0x2,
131 DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
132 DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
133 } DXVAHD_INPUT_FORMAT_CAPS;
134
135 typedef enum _DXVAHD_ITELECINE_CAPS {
136 DXVAHD_ITELECINE_CAPS_32 = 0x1,
137 DXVAHD_ITELECINE_CAPS_22 = 0x2,
138 DXVAHD_ITELECINE_CAPS_2224 = 0x4,
139 DXVAHD_ITELECINE_CAPS_2332 = 0x8,
140 DXVAHD_ITELECINE_CAPS_32322 = 0x10,
141 DXVAHD_ITELECINE_CAPS_55 = 0x20,
142 DXVAHD_ITELECINE_CAPS_64 = 0x40,
143 DXVAHD_ITELECINE_CAPS_87 = 0x80,
144 DXVAHD_ITELECINE_CAPS_222222222223 = 0x100,
145 DXVAHD_ITELECINE_CAPS_OTHER = 0x80000000
146 } DXVAHD_ITELECINE_CAPS;
147
148 typedef enum _DXVAHD_OUTPUT_RATE {
149 DXVAHD_OUTPUT_RATE_NORMAL = 0,
150 DXVAHD_OUTPUT_RATE_HALF = 1,
151 DXVAHD_OUTPUT_RATE_CUSTOM = 2
152 } DXVAHD_OUTPUT_RATE;
153
154 typedef enum _DXVAHD_PROCESSOR_CAPS {
155 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
156 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
157 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4,
158 DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8,
159 DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
160 DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20
161 } DXVAHD_PROCESSOR_CAPS;
162
163 typedef enum _DXVAHD_STREAM_STATE {
164 DXVAHD_STREAM_STATE_D3DFORMAT = 0,
165 DXVAHD_STREAM_STATE_FRAME_FORMAT = 1,
166 DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE = 2,
167 DXVAHD_STREAM_STATE_OUTPUT_RATE = 3,
168 DXVAHD_STREAM_STATE_SOURCE_RECT = 4,
169 DXVAHD_STREAM_STATE_DESTINATION_RECT = 5,
170 DXVAHD_STREAM_STATE_ALPHA = 6,
171 DXVAHD_STREAM_STATE_PALETTE = 7,
172 DXVAHD_STREAM_STATE_LUMA_KEY = 8,
173 DXVAHD_STREAM_STATE_ASPECT_RATIO = 9,
174 DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS = 100,
175 DXVAHD_STREAM_STATE_FILTER_CONTRAST = 101,
176 DXVAHD_STREAM_STATE_FILTER_HUE = 102,
177 DXVAHD_STREAM_STATE_FILTER_SATURATION = 103,
178 DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION = 104,
179 DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT = 105,
180 DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING = 106,
181 DXVAHD_STREAM_STATE_PRIVATE = 1000
182 } DXVAHD_STREAM_STATE;
183
184 typedef enum _DXVAHD_SURFACE_TYPE {
185 DXVAHD_SURFACE_TYPE_VIDEO_INPUT = 0,
186 DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE = 1,
187 DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT = 2
188 } DXVAHD_SURFACE_TYPE;
189
190 typedef struct _DXVAHD_VPDEVCAPS {
191 DXVAHD_DEVICE_TYPE DeviceType;
192 UINT DeviceCaps;
193 UINT FeatureCaps;
194 UINT FilterCaps;
195 UINT InputFormatCaps;
196 D3DPOOL InputPool;
197 UINT OutputFormatCount;
198 UINT InputFormatCount;
199 UINT VideoProcessorCount;
200 UINT MaxInputStreams;
201 UINT MaxStreamStates;
202 } DXVAHD_VPDEVCAPS;
203
204 typedef struct _DXVAHD_BLT_STATE_ALPHA_FILL_DATA {
205 DXVAHD_ALPHA_FILL_MODE Mode;
206 UINT StreamNumber;
207 } DXVAHD_BLT_STATE_ALPHA_FILL_DATA;
208
209 typedef struct _DXVAHD_BLT_STATE_CONSTRICTION_DATA {
210 WINBOOL Enable;
211 SIZE Size;
212 } DXVAHD_BLT_STATE_CONSTRICTION_DATA;
213
214 typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
215 UINT Usage :1;
216 UINT RGB_Range :1;
217 UINT YCbCr_Matrix :1;
218 UINT YCbCr_xvYCC :1;
219 } DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;
220
221 typedef struct _DXVAHD_BLT_STATE_PRIVATE_DATA {
222 GUID Guid;
223 UINT DataSize;
224 void *pData;
225 } DXVAHD_BLT_STATE_PRIVATE_DATA;
226
227 typedef struct _DXVAHD_BLT_STATE_TARGET_RECT_DATA {
228 WINBOOL Enable;
229 RECT TargetRect;
230 } DXVAHD_BLT_STATE_TARGET_RECT_DATA;
231
232 typedef struct _DXVAHD_RATIONAL {
233 UINT Numerator;
234 UINT Denominator;
235 } DXVAHD_RATIONAL;
236
237 typedef struct _DXVAHD_CONTENT_DESC {
238 DXVAHD_FRAME_FORMAT InputFrameFormat;
239 DXVAHD_RATIONAL InputFrameRate;
240 UINT InputWidth;
241 UINT InputHeight;
242 DXVAHD_RATIONAL OutputFrameRate;
243 UINT OutputWidth;
244 UINT OutputHeight;
245 } DXVAHD_CONTENT_DESC;
246
247 typedef struct _DXVAHD_CUSTOM_RATE_DATA {
248 DXVAHD_RATIONAL CustomRate;
249 UINT OutputFrames;
250 WINBOOL InputInterlaced;
251 UINT InputFramesOrFields;
252 } DXVAHD_CUSTOM_RATE_DATA;
253
254 typedef struct _DXVAHD_FILTER_RANGE_DATA {
255 INT Minimum;
256 INT Maximum;
257 INT Default;
258 FLOAT Multiplier;
259 } DXVAHD_FILTER_RANGE_DATA;
260
261 typedef struct _DXVAHD_STREAM_DATA {
262 WINBOOL Enable;
263 UINT OutputIndex;
264 UINT InputFrameOrField;
265 UINT PastFrames;
266 UINT FutureFrames;
267 IDirect3DSurface9 **ppPastSurfaces;
268 IDirect3DSurface9 *pInputSurface;
269 IDirect3DSurface9 **ppFutureSurfaces;
270 } DXVAHD_STREAM_DATA;
271
272 typedef struct _DXVAHD_VPCAPS {
273 GUID VPGuid;
274 UINT PastFrames;
275 UINT FutureFrames;
276 UINT ProcessorCaps;
277 UINT ITelecineCaps;
278 UINT CustomRateCount;
279 } DXVAHD_VPCAPS;
280
281 typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
282 WINBOOL Enable;
283 FLOAT Alpha;
284 } DXVAHD_STREAM_STATE_ALPHA_DATA;
285
286 typedef struct _DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA {
287 WINBOOL Enable;
288 DXVAHD_RATIONAL SourceAspectRatio;
289 DXVAHD_RATIONAL DestinationAspectRatio;
290 } DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA;
291
292 typedef struct _DXVAHD_STREAM_STATE_D3DFORMAT_DATA {
293 D3DFORMAT Format;
294 } DXVAHD_STREAM_STATE_D3DFORMAT_DATA;
295
296 typedef struct _DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA {
297 WINBOOL Enable;
298 RECT DestinationRect;
299 } DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA;
300
301 typedef struct _DXVAHD_STREAM_STATE_FILTER_DATA {
302 WINBOOL Enable;
303 INT Level;
304 } DXVAHD_STREAM_STATE_FILTER_DATA;
305
306 typedef struct _DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA {
307 DXVAHD_FRAME_FORMAT FrameFormat;
308 } DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA;
309
310 typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
311 UINT Type :1;
312 UINT RGB_Range :1;
313 UINT YCbCr_Matrix :1;
314 UINT YCbCr_xvYCC :1;
315 } DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
316
317 typedef struct _DXVAHD_STREAM_STATE_LUMA_KEY_DATA {
318 WINBOOL Enable;
319 FLOAT Lower;
320 FLOAT Upper;
321 } DXVAHD_STREAM_STATE_LUMA_KEY_DATA;
322
323 typedef struct _DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA {
324 WINBOOL RepeatFrame;
325 DXVAHD_OUTPUT_RATE OutputRate;
326 DXVAHD_RATIONAL CustomRate;
327 } DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA;
328
329 typedef struct _DXVAHD_STREAM_STATE_SOURCE_RECT_DATA {
330 WINBOOL Enable;
331 RECT SourceRect;
332 } DXVAHD_STREAM_STATE_SOURCE_RECT_DATA;
333
334 typedef struct _DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA {
335 WINBOOL Enable;
336 UINT ITelecineFlags;
337 UINT Frames;
338 UINT InputField;
339 } DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA;
340
341 typedef struct _DXVAHD_STREAM_STATE_PRIVATE_DATA {
342 GUID Guid;
343 UINT DataSize;
344 void *pData;
345 } DXVAHD_STREAM_STATE_PRIVATE_DATA;
346
347 typedef struct _DXVAHD_STREAM_STATE_PALETTE_DATA {
348 UINT Count;
349 D3DCOLOR *pEntries;
350 } DXVAHD_STREAM_STATE_PALETTE_DATA;
351
352 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateDevice )(IDirect3DDevice9Ex *pD3DDevice,HANDLE *phDevice);")
353 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_ProposeVideoPrivateFormat )(HANDLE hDevice,D3DFORMAT *pFormat);")
354 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorDeviceCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,DXVAHD_VPDEVCAPS *pCaps);")
355 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorOutputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);")
356 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorInputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);")
357 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,DXVAHD_VPCAPS *pCaps);")
358 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCustomRates )(HANDLE hDevice,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);")
359 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessBltState )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);")
360 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateVideoProcessor )(HANDLE hDevice,const GUID *pVPGuid,HANDLE *phVideoProcessor);")
361 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyDevice )(HANDLE hDevice);")
362 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorFilterRange )(HANDLE hDevice,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);")
363 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyVideoProcessor )(HANDLE hVideoProcessor);")
364 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_VideoProcessBltHD )(HANDLE hVideoProcessor,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);")
365 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessStreamStatePrivate )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE_PRIVATE_DATA *pData);")
366 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessStreamState )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);")
367 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessBltStatePrivate )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE_PRIVATE_DATA *pData);")
368 cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_Plugin )(UINT Size,void *pCallbacks);")
369 cpp_quote("")
370 cpp_quote("typedef struct _DXVAHDSW_CALLBACKS {")
371 cpp_quote(" PDXVAHDSW_CreateDevice CreateDevice;")
372 cpp_quote(" PDXVAHDSW_ProposeVideoPrivateFormat ProposeVideoPrivateFormat;")
373 cpp_quote(" PDXVAHDSW_GetVideoProcessorDeviceCaps GetVideoProcessorDeviceCaps;")
374 cpp_quote(" PDXVAHDSW_GetVideoProcessorOutputFormats GetVideoProcessorOutputFormats;")
375 cpp_quote(" PDXVAHDSW_GetVideoProcessorInputFormats GetVideoProcessorInputFormats;")
376 cpp_quote(" PDXVAHDSW_GetVideoProcessorCaps GetVideoProcessorCaps;")
377 cpp_quote(" PDXVAHDSW_GetVideoProcessorCustomRates GetVideoProcessorCustomRates;")
378 cpp_quote(" PDXVAHDSW_GetVideoProcessorFilterRange GetVideoProcessorFilterRange;")
379 cpp_quote(" PDXVAHDSW_DestroyDevice DestroyDevice;")
380 cpp_quote(" PDXVAHDSW_CreateVideoProcessor CreateVideoProcessor;")
381 cpp_quote(" PDXVAHDSW_SetVideoProcessBltState SetVideoProcessBltState;")
382 cpp_quote(" PDXVAHDSW_GetVideoProcessBltStatePrivate GetVideoProcessBltStatePrivate;")
383 cpp_quote(" PDXVAHDSW_SetVideoProcessStreamState SetVideoProcessStreamState;")
384 cpp_quote(" PDXVAHDSW_GetVideoProcessStreamStatePrivate GetVideoProcessStreamStatePrivate;")
385 cpp_quote(" PDXVAHDSW_VideoProcessBltHD VideoProcessBltHD;")
386 cpp_quote(" PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor;")
387 cpp_quote("} DXVAHDSW_CALLBACKS;")
388 cpp_quote("")
389 cpp_quote("HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);")
390 cpp_quote("")
391 cpp_quote("#ifdef __GNUC__")
392 cpp_quote("#warning COM interfaces layout in this header has not been verified.")
393 cpp_quote("#warning COM interfaces with incorrect layout may not work at all.")
394 cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)")
395 cpp_quote("#endif")
396 [
397 object,
398 local
399 ]
400 interface IDXVAHD_Device : IUnknown
401 {
402 HRESULT CreateVideoSurface(UINT Width,UINT Height,D3DFORMAT Format,D3DPOOL Pool,DWORD Usage,DXVAHD_SURFACE_TYPE Type,UINT NumSurfaces,IDirect3DSurface9 **ppSurfaces,HANDLE *pSharedHandle);
403 HRESULT GetVideoProcessorDeviceCaps(DXVAHD_VPDEVCAPS *pCaps);
404 HRESULT GetVideoProcessorOutputFormats(UINT Count,D3DFORMAT *pFormats);
405 HRESULT GetVideoProcessorInputFormats(UINT Count,D3DFORMAT *pFormats);
406 HRESULT GetVideoProcessorCaps(UINT Count,DXVAHD_VPCAPS *pCaps);
407 HRESULT GetVideoProcessorCustomRates(const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);
408 HRESULT GetVideoProcessorFilterRange(DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);
409 HRESULT CreateVideoProcessor(const GUID *pVPGuid,IDXVAHD_VideoProcessor **ppVideoProcessor);
410 };
411
412 cpp_quote("#ifdef __GNUC__")
413 cpp_quote("#warning COM interfaces layout in this header has not been verified.")
414 cpp_quote("#warning COM interfaces with incorrect layout may not work at all.")
415 cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)")
416 cpp_quote("#endif")
417 [
418 object,
419 local
420 ]
421 interface IDXVAHD_VideoProcessor : IUnknown
422 {
423 HRESULT SetVideoProcessBltState(DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);
424 HRESULT GetVideoProcessBltState(DXVAHD_BLT_STATE State,UINT DataSize,void *pData);
425 HRESULT SetVideoProcessStreamState(UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);
426 HRESULT GetVideoProcessStreamState(UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,void *pData);
427 HRESULT VideoProcessBltHD(IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);
428 };
429
430 cpp_quote("#endif /*(_WIN32_WINNT >= 0x0601)*/")
431 cpp_quote("#endif /*WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/")