source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dxvahd.idl

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

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

File size: 16.9 KB
Line 
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
7cpp_quote("#include <winapifamily.h>")
8cpp_quote("")
9cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
10cpp_quote("")
11cpp_quote("#if (_WIN32_WINNT >= 0x0601)")
12
13import "unknwn.idl";
14
15cpp_quote("#if 0")
16interface IDirect3DSurface9;
17interface IDirect3DDevice9Ex;
18typedef DWORD D3DFORMAT;
19typedef DWORD D3DPOOL;
20typedef struct { char dummy; } D3DCOLOR;
21cpp_quote("#endif")
22
23cpp_quote("#ifndef CALLBACK")
24cpp_quote("#if defined(_ARM_)")
25cpp_quote("#define CALLBACK")
26cpp_quote("#else")
27cpp_quote("#define CALLBACK __stdcall")
28cpp_quote("#endif")
29cpp_quote("#endif")
30
31interface IDXVAHD_Device;
32interface IDXVAHD_VideoProcessor;
33
34typedef 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
41typedef struct _DXVAHD_COLOR_YCbCrA {
42 FLOAT Y;
43 FLOAT Cb;
44 FLOAT Cr;
45 FLOAT A;
46} DXVAHD_COLOR_YCbCrA;
47
48typedef struct _DXVAHD_COLOR_RGBA {
49 FLOAT R;
50 FLOAT G;
51 FLOAT B;
52 FLOAT A;
53} DXVAHD_COLOR_RGBA;
54
55typedef union _DXVAHD_COLOR {
56 DXVAHD_COLOR_RGBA RGB;
57 DXVAHD_COLOR_YCbCrA YCbCr;
58} DXVAHD_COLOR;
59
60typedef struct _DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA {
61 WINBOOL YCbCr;
62 DXVAHD_COLOR BackgroundColor;
63} DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA;
64
65typedef 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
74typedef 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
81typedef 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
88typedef 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
95typedef 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
102typedef 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
112typedef 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
122typedef 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
128typedef 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
135typedef 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
148typedef 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
154typedef 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
163typedef 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
184typedef 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
190typedef 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
204typedef struct _DXVAHD_BLT_STATE_ALPHA_FILL_DATA {
205 DXVAHD_ALPHA_FILL_MODE Mode;
206 UINT StreamNumber;
207} DXVAHD_BLT_STATE_ALPHA_FILL_DATA;
208
209typedef struct _DXVAHD_BLT_STATE_CONSTRICTION_DATA {
210 WINBOOL Enable;
211 SIZE Size;
212} DXVAHD_BLT_STATE_CONSTRICTION_DATA;
213
214typedef 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
221typedef struct _DXVAHD_BLT_STATE_PRIVATE_DATA {
222 GUID Guid;
223 UINT DataSize;
224 void *pData;
225} DXVAHD_BLT_STATE_PRIVATE_DATA;
226
227typedef struct _DXVAHD_BLT_STATE_TARGET_RECT_DATA {
228 WINBOOL Enable;
229 RECT TargetRect;
230} DXVAHD_BLT_STATE_TARGET_RECT_DATA;
231
232typedef struct _DXVAHD_RATIONAL {
233 UINT Numerator;
234 UINT Denominator;
235} DXVAHD_RATIONAL;
236
237typedef 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
247typedef struct _DXVAHD_CUSTOM_RATE_DATA {
248 DXVAHD_RATIONAL CustomRate;
249 UINT OutputFrames;
250 WINBOOL InputInterlaced;
251 UINT InputFramesOrFields;
252} DXVAHD_CUSTOM_RATE_DATA;
253
254typedef struct _DXVAHD_FILTER_RANGE_DATA {
255 INT Minimum;
256 INT Maximum;
257 INT Default;
258 FLOAT Multiplier;
259} DXVAHD_FILTER_RANGE_DATA;
260
261typedef 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
272typedef 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
281typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
282 WINBOOL Enable;
283 FLOAT Alpha;
284} DXVAHD_STREAM_STATE_ALPHA_DATA;
285
286typedef 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
292typedef struct _DXVAHD_STREAM_STATE_D3DFORMAT_DATA {
293 D3DFORMAT Format;
294} DXVAHD_STREAM_STATE_D3DFORMAT_DATA;
295
296typedef struct _DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA {
297 WINBOOL Enable;
298 RECT DestinationRect;
299} DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA;
300
301typedef struct _DXVAHD_STREAM_STATE_FILTER_DATA {
302 WINBOOL Enable;
303 INT Level;
304} DXVAHD_STREAM_STATE_FILTER_DATA;
305
306typedef struct _DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA {
307 DXVAHD_FRAME_FORMAT FrameFormat;
308} DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA;
309
310typedef 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
317typedef struct _DXVAHD_STREAM_STATE_LUMA_KEY_DATA {
318 WINBOOL Enable;
319 FLOAT Lower;
320 FLOAT Upper;
321} DXVAHD_STREAM_STATE_LUMA_KEY_DATA;
322
323typedef 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
329typedef struct _DXVAHD_STREAM_STATE_SOURCE_RECT_DATA {
330 WINBOOL Enable;
331 RECT SourceRect;
332} DXVAHD_STREAM_STATE_SOURCE_RECT_DATA;
333
334typedef 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
341typedef struct _DXVAHD_STREAM_STATE_PRIVATE_DATA {
342 GUID Guid;
343 UINT DataSize;
344 void *pData;
345} DXVAHD_STREAM_STATE_PRIVATE_DATA;
346
347typedef struct _DXVAHD_STREAM_STATE_PALETTE_DATA {
348 UINT Count;
349 D3DCOLOR *pEntries;
350} DXVAHD_STREAM_STATE_PALETTE_DATA;
351
352cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateDevice )(IDirect3DDevice9Ex *pD3DDevice,HANDLE *phDevice);")
353cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_ProposeVideoPrivateFormat )(HANDLE hDevice,D3DFORMAT *pFormat);")
354cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorDeviceCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,DXVAHD_VPDEVCAPS *pCaps);")
355cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorOutputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);")
356cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorInputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);")
357cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,DXVAHD_VPCAPS *pCaps);")
358cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCustomRates )(HANDLE hDevice,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);")
359cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessBltState )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);")
360cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateVideoProcessor )(HANDLE hDevice,const GUID *pVPGuid,HANDLE *phVideoProcessor);")
361cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyDevice )(HANDLE hDevice);")
362cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorFilterRange )(HANDLE hDevice,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);")
363cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyVideoProcessor )(HANDLE hVideoProcessor);")
364cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_VideoProcessBltHD )(HANDLE hVideoProcessor,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);")
365cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessStreamStatePrivate )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE_PRIVATE_DATA *pData);")
366cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessStreamState )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);")
367cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessBltStatePrivate )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE_PRIVATE_DATA *pData);")
368cpp_quote("typedef HRESULT ( CALLBACK *PDXVAHDSW_Plugin )(UINT Size,void *pCallbacks);")
369cpp_quote("")
370cpp_quote("typedef struct _DXVAHDSW_CALLBACKS {")
371cpp_quote(" PDXVAHDSW_CreateDevice CreateDevice;")
372cpp_quote(" PDXVAHDSW_ProposeVideoPrivateFormat ProposeVideoPrivateFormat;")
373cpp_quote(" PDXVAHDSW_GetVideoProcessorDeviceCaps GetVideoProcessorDeviceCaps;")
374cpp_quote(" PDXVAHDSW_GetVideoProcessorOutputFormats GetVideoProcessorOutputFormats;")
375cpp_quote(" PDXVAHDSW_GetVideoProcessorInputFormats GetVideoProcessorInputFormats;")
376cpp_quote(" PDXVAHDSW_GetVideoProcessorCaps GetVideoProcessorCaps;")
377cpp_quote(" PDXVAHDSW_GetVideoProcessorCustomRates GetVideoProcessorCustomRates;")
378cpp_quote(" PDXVAHDSW_GetVideoProcessorFilterRange GetVideoProcessorFilterRange;")
379cpp_quote(" PDXVAHDSW_DestroyDevice DestroyDevice;")
380cpp_quote(" PDXVAHDSW_CreateVideoProcessor CreateVideoProcessor;")
381cpp_quote(" PDXVAHDSW_SetVideoProcessBltState SetVideoProcessBltState;")
382cpp_quote(" PDXVAHDSW_GetVideoProcessBltStatePrivate GetVideoProcessBltStatePrivate;")
383cpp_quote(" PDXVAHDSW_SetVideoProcessStreamState SetVideoProcessStreamState;")
384cpp_quote(" PDXVAHDSW_GetVideoProcessStreamStatePrivate GetVideoProcessStreamStatePrivate;")
385cpp_quote(" PDXVAHDSW_VideoProcessBltHD VideoProcessBltHD;")
386cpp_quote(" PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor;")
387cpp_quote("} DXVAHDSW_CALLBACKS;")
388cpp_quote("")
389cpp_quote("HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);")
390cpp_quote("")
391cpp_quote("#ifdef __GNUC__")
392cpp_quote("#warning COM interfaces layout in this header has not been verified.")
393cpp_quote("#warning COM interfaces with incorrect layout may not work at all.")
394cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)")
395cpp_quote("#endif")
396[
397 object,
398 local
399]
400interface 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
412cpp_quote("#ifdef __GNUC__")
413cpp_quote("#warning COM interfaces layout in this header has not been verified.")
414cpp_quote("#warning COM interfaces with incorrect layout may not work at all.")
415cpp_quote("__MINGW_BROKEN_INTERFACE(INTERFACE)")
416cpp_quote("#endif")
417[
418 object,
419 local
420]
421interface 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
430cpp_quote("#endif /*(_WIN32_WINNT >= 0x0601)*/")
431cpp_quote("#endif /*WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/")
Note: See TracBrowser for help on using the repository browser.