/*** Autogenerated by WIDL 10.17 from /var/tmp/portage/app-emulation/wine-vanilla-10.17/work/wine-10.17/include/dxvahd.idl - Do not edit ***/ #ifdef _WIN32 #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include #include #endif #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __dxvahd_h__ #define __dxvahd_h__ /* Forward declarations */ #ifndef __IDXVAHD_VideoProcessor_FWD_DEFINED__ #define __IDXVAHD_VideoProcessor_FWD_DEFINED__ typedef interface IDXVAHD_VideoProcessor IDXVAHD_VideoProcessor; #ifdef __cplusplus interface IDXVAHD_VideoProcessor; #endif /* __cplusplus */ #endif #ifndef __IDXVAHD_Device_FWD_DEFINED__ #define __IDXVAHD_Device_FWD_DEFINED__ typedef interface IDXVAHD_Device IDXVAHD_Device; #ifdef __cplusplus interface IDXVAHD_Device; #endif /* __cplusplus */ #endif /* Headers for imported files */ #include #ifdef __cplusplus extern "C" { #endif #if 0 typedef DWORD IDirect3DDevice9Ex; typedef DWORD IDirect3DSurface9; typedef DWORD D3DFORMAT; typedef DWORD D3DPOOL; #endif typedef enum _DXVAHD_BLT_STATE { DXVAHD_BLT_STATE_TARGET_RECT = 0, DXVAHD_BLT_STATE_BACKGROUND_COLOR = 1, DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE = 2, DXVAHD_BLT_STATE_ALPHA_FILL = 3, DXVAHD_BLT_STATE_CONSTRICTION = 4, DXVAHD_BLT_STATE_PRIVATE = 1000 } DXVAHD_BLT_STATE; typedef enum _DXVAHD_DEVICE_TYPE { DXVAHD_DEVICE_TYPE_HARDWARE = 0, DXVAHD_DEVICE_TYPE_SOFTWARE = 1, DXVAHD_DEVICE_TYPE_REFERENCE = 2, DXVAHD_DEVICE_TYPE_OTHER = 3 } DXVAHD_DEVICE_TYPE; typedef enum _DXVAHD_DEVICE_USAGE { DXVAHD_DEVICE_USAGE_PLAYBACK_NORMAL = 0, DXVAHD_DEVICE_USAGE_OPTIMAL_SPEED = 1, DXVAHD_DEVICE_USAGE_OPTIMAL_QUALITY = 2 } DXVAHD_DEVICE_USAGE; typedef enum _DXVAHD_FILTER { DXVAHD_FILTER_BRIGHTNESS = 0, DXVAHD_FILTER_CONTRAST = 1, DXVAHD_FILTER_HUE = 2, DXVAHD_FILTER_SATURATION = 3, DXVAHD_FILTER_NOISE_REDUCTION = 4, DXVAHD_FILTER_EDGE_ENHANCEMENT = 5, DXVAHD_FILTER_ANAMORPHIC_SCALING = 6 } DXVAHD_FILTER; typedef enum _DXVAHD_FRAME_FORMAT { DXVAHD_FRAME_FORMAT_PROGRESSIVE = 0, DXVAHD_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, DXVAHD_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2 } DXVAHD_FRAME_FORMAT; typedef enum _DXVAHD_STREAM_STATE { DXVAHD_STREAM_STATE_D3DFORMAT = 0, DXVAHD_STREAM_STATE_FRAME_FORMAT = 1, DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE = 2, DXVAHD_STREAM_STATE_OUTPUT_RATE = 3, DXVAHD_STREAM_STATE_SOURCE_RECT = 4, DXVAHD_STREAM_STATE_DESTINATION_RECT = 5, DXVAHD_STREAM_STATE_ALPHA = 6, DXVAHD_STREAM_STATE_PALETTE = 7, DXVAHD_STREAM_STATE_LUMA_KEY = 8, DXVAHD_STREAM_STATE_ASPECT_RATIO = 9, DXVAHD_STREAM_STATE_FILTER_BRIGHTNESS = 100, DXVAHD_STREAM_STATE_FILTER_CONTRAST = 101, DXVAHD_STREAM_STATE_FILTER_HUE = 102, DXVAHD_STREAM_STATE_FILTER_SATURATION = 103, DXVAHD_STREAM_STATE_FILTER_NOISE_REDUCTION = 104, DXVAHD_STREAM_STATE_FILTER_EDGE_ENHANCEMENT = 105, DXVAHD_STREAM_STATE_FILTER_ANAMORPHIC_SCALING = 106, DXVAHD_STREAM_STATE_PRIVATE = 1000 } DXVAHD_STREAM_STATE; typedef enum _DXVAHD_SURFACE_TYPE { DXVAHD_SURFACE_TYPE_VIDEO_INPUT = 0, DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE = 1, DXVAHD_SURFACE_TYPE_VIDEO_OUTPUT = 2 } DXVAHD_SURFACE_TYPE; typedef struct _DXVAHD_RATIONAL { UINT Numerator; UINT Denominator; } DXVAHD_RATIONAL; typedef struct _DXVAHD_CONTENT_DESC { DXVAHD_FRAME_FORMAT InputFrameFormat; DXVAHD_RATIONAL InputFrameRate; UINT InputWidth; UINT InputHeight; DXVAHD_RATIONAL OutputFrameRate; UINT OutputWidth; UINT OutputHeight; } DXVAHD_CONTENT_DESC; typedef struct _DXVAHD_CUSTOM_RATE_DATA { DXVAHD_RATIONAL CustomRate; UINT OutputFrames; BOOL InputInterlaced; UINT InputFramesOrFields; } DXVAHD_CUSTOM_RATE_DATA; typedef struct _DXVAHD_FILTER_RANGE_DATA { INT Minimum; INT Maximum; INT Default; FLOAT Multiplier; } DXVAHD_FILTER_RANGE_DATA; typedef struct _DXVAHD_STREAM_DATA { BOOL Enable; UINT OutputIndex; UINT InputFrameOrField; UINT PastFrames; UINT FutureFrames; IDirect3DSurface9 **ppPastSurfaces; IDirect3DSurface9 *pInputSurface; IDirect3DSurface9 **ppFutureSurfaces; } DXVAHD_STREAM_DATA; typedef struct _DXVAHD_VPDEVCAPS { DXVAHD_DEVICE_TYPE DeviceType; UINT DeviceCaps; UINT FeatureCaps; UINT FilterCaps; UINT InputFormatCaps; D3DPOOL InputPool; UINT OutputFormatCount; UINT InputFormatCount; UINT VideoProcessorCount; UINT MaxInputStreams; UINT MaxStreamStates; } DXVAHD_VPDEVCAPS; typedef struct _DXVAHD_VPCAPS { GUID VPGuid; UINT PastFrames; UINT FutureFrames; UINT ProcessorCaps; UINT ITelecineCaps; UINT CustomRateCount; } DXVAHD_VPCAPS; typedef HRESULT (__stdcall *PDXVAHDSW_Plugin)(UINT size,void *callbacks); /***************************************************************************** * IDXVAHD_VideoProcessor interface */ #ifndef __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__ #define __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("95f4edf4-6e03-4cd7-be1b-3075d665aa52") IDXVAHD_VideoProcessor : public IUnknown { virtual HRESULT STDMETHODCALLTYPE SetVideoProcessBltState( DXVAHD_BLT_STATE state, UINT size, const void *data) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessBltState( DXVAHD_BLT_STATE state, UINT size, void *data) = 0; virtual HRESULT STDMETHODCALLTYPE SetVideoProcessStreamState( UINT stream_idx, DXVAHD_STREAM_STATE state, UINT size, const void *data) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessStreamState( UINT stream_idx, DXVAHD_STREAM_STATE state, UINT size, void *data) = 0; virtual HRESULT STDMETHODCALLTYPE VideoProcessBltHD( IDirect3DSurface9 *surface, UINT frame_idx, UINT stream_count, const DXVAHD_STREAM_DATA *streams) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDXVAHD_VideoProcessor, 0x95f4edf4, 0x6e03, 0x4cd7, 0xbe,0x1b, 0x30,0x75,0xd6,0x65,0xaa,0x52) #endif #else typedef struct IDXVAHD_VideoProcessorVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDXVAHD_VideoProcessor *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDXVAHD_VideoProcessor *This); ULONG (STDMETHODCALLTYPE *Release)( IDXVAHD_VideoProcessor *This); /*** IDXVAHD_VideoProcessor methods ***/ HRESULT (STDMETHODCALLTYPE *SetVideoProcessBltState)( IDXVAHD_VideoProcessor *This, DXVAHD_BLT_STATE state, UINT size, const void *data); HRESULT (STDMETHODCALLTYPE *GetVideoProcessBltState)( IDXVAHD_VideoProcessor *This, DXVAHD_BLT_STATE state, UINT size, void *data); HRESULT (STDMETHODCALLTYPE *SetVideoProcessStreamState)( IDXVAHD_VideoProcessor *This, UINT stream_idx, DXVAHD_STREAM_STATE state, UINT size, const void *data); HRESULT (STDMETHODCALLTYPE *GetVideoProcessStreamState)( IDXVAHD_VideoProcessor *This, UINT stream_idx, DXVAHD_STREAM_STATE state, UINT size, void *data); HRESULT (STDMETHODCALLTYPE *VideoProcessBltHD)( IDXVAHD_VideoProcessor *This, IDirect3DSurface9 *surface, UINT frame_idx, UINT stream_count, const DXVAHD_STREAM_DATA *streams); END_INTERFACE } IDXVAHD_VideoProcessorVtbl; interface IDXVAHD_VideoProcessor { CONST_VTBL IDXVAHD_VideoProcessorVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDXVAHD_VideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDXVAHD_VideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDXVAHD_VideoProcessor_Release(This) (This)->lpVtbl->Release(This) /*** IDXVAHD_VideoProcessor methods ***/ #define IDXVAHD_VideoProcessor_SetVideoProcessBltState(This,state,size,data) (This)->lpVtbl->SetVideoProcessBltState(This,state,size,data) #define IDXVAHD_VideoProcessor_GetVideoProcessBltState(This,state,size,data) (This)->lpVtbl->GetVideoProcessBltState(This,state,size,data) #define IDXVAHD_VideoProcessor_SetVideoProcessStreamState(This,stream_idx,state,size,data) (This)->lpVtbl->SetVideoProcessStreamState(This,stream_idx,state,size,data) #define IDXVAHD_VideoProcessor_GetVideoProcessStreamState(This,stream_idx,state,size,data) (This)->lpVtbl->GetVideoProcessStreamState(This,stream_idx,state,size,data) #define IDXVAHD_VideoProcessor_VideoProcessBltHD(This,surface,frame_idx,stream_count,streams) (This)->lpVtbl->VideoProcessBltHD(This,surface,frame_idx,stream_count,streams) #else /*** IUnknown methods ***/ static inline HRESULT IDXVAHD_VideoProcessor_QueryInterface(IDXVAHD_VideoProcessor* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IDXVAHD_VideoProcessor_AddRef(IDXVAHD_VideoProcessor* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IDXVAHD_VideoProcessor_Release(IDXVAHD_VideoProcessor* This) { return This->lpVtbl->Release(This); } /*** IDXVAHD_VideoProcessor methods ***/ static inline HRESULT IDXVAHD_VideoProcessor_SetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE state,UINT size,const void *data) { return This->lpVtbl->SetVideoProcessBltState(This,state,size,data); } static inline HRESULT IDXVAHD_VideoProcessor_GetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE state,UINT size,void *data) { return This->lpVtbl->GetVideoProcessBltState(This,state,size,data); } static inline HRESULT IDXVAHD_VideoProcessor_SetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT stream_idx,DXVAHD_STREAM_STATE state,UINT size,const void *data) { return This->lpVtbl->SetVideoProcessStreamState(This,stream_idx,state,size,data); } static inline HRESULT IDXVAHD_VideoProcessor_GetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT stream_idx,DXVAHD_STREAM_STATE state,UINT size,void *data) { return This->lpVtbl->GetVideoProcessStreamState(This,stream_idx,state,size,data); } static inline HRESULT IDXVAHD_VideoProcessor_VideoProcessBltHD(IDXVAHD_VideoProcessor* This,IDirect3DSurface9 *surface,UINT frame_idx,UINT stream_count,const DXVAHD_STREAM_DATA *streams) { return This->lpVtbl->VideoProcessBltHD(This,surface,frame_idx,stream_count,streams); } #endif #endif #endif #endif /* __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__ */ /***************************************************************************** * IDXVAHD_Device interface */ #ifndef __IDXVAHD_Device_INTERFACE_DEFINED__ #define __IDXVAHD_Device_INTERFACE_DEFINED__ DEFINE_GUID(IID_IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d); #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("95f12dfd-d77e-49be-815f-57d579634d6d") IDXVAHD_Device : public IUnknown { virtual HRESULT STDMETHODCALLTYPE CreateVideoSurface( UINT width, UINT height, D3DFORMAT format, D3DPOOL pool, DWORD usage, DXVAHD_SURFACE_TYPE type, UINT count, IDirect3DSurface9 **surfaces, HANDLE *shared_handle) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorDeviceCaps( DXVAHD_VPDEVCAPS *caps) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorOutputFormats( UINT count, D3DFORMAT *formats) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorInputFormats( UINT count, D3DFORMAT *formats) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps( UINT count, DXVAHD_VPCAPS *caps) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRates( const GUID *guid, UINT count, DXVAHD_CUSTOM_RATE_DATA *rates) = 0; virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange( DXVAHD_FILTER filter, DXVAHD_FILTER_RANGE_DATA *range) = 0; virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor( const GUID *guid, IDXVAHD_VideoProcessor **processor) = 0; }; #ifdef __CRT_UUID_DECL __CRT_UUID_DECL(IDXVAHD_Device, 0x95f12dfd, 0xd77e, 0x49be, 0x81,0x5f, 0x57,0xd5,0x79,0x63,0x4d,0x6d) #endif #else typedef struct IDXVAHD_DeviceVtbl { BEGIN_INTERFACE /*** IUnknown methods ***/ HRESULT (STDMETHODCALLTYPE *QueryInterface)( IDXVAHD_Device *This, REFIID riid, void **ppvObject); ULONG (STDMETHODCALLTYPE *AddRef)( IDXVAHD_Device *This); ULONG (STDMETHODCALLTYPE *Release)( IDXVAHD_Device *This); /*** IDXVAHD_Device methods ***/ HRESULT (STDMETHODCALLTYPE *CreateVideoSurface)( IDXVAHD_Device *This, UINT width, UINT height, D3DFORMAT format, D3DPOOL pool, DWORD usage, DXVAHD_SURFACE_TYPE type, UINT count, IDirect3DSurface9 **surfaces, HANDLE *shared_handle); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorDeviceCaps)( IDXVAHD_Device *This, DXVAHD_VPDEVCAPS *caps); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorOutputFormats)( IDXVAHD_Device *This, UINT count, D3DFORMAT *formats); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorInputFormats)( IDXVAHD_Device *This, UINT count, D3DFORMAT *formats); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)( IDXVAHD_Device *This, UINT count, DXVAHD_VPCAPS *caps); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRates)( IDXVAHD_Device *This, const GUID *guid, UINT count, DXVAHD_CUSTOM_RATE_DATA *rates); HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)( IDXVAHD_Device *This, DXVAHD_FILTER filter, DXVAHD_FILTER_RANGE_DATA *range); HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)( IDXVAHD_Device *This, const GUID *guid, IDXVAHD_VideoProcessor **processor); END_INTERFACE } IDXVAHD_DeviceVtbl; interface IDXVAHD_Device { CONST_VTBL IDXVAHD_DeviceVtbl* lpVtbl; }; #ifdef COBJMACROS #ifndef WIDL_C_INLINE_WRAPPERS /*** IUnknown methods ***/ #define IDXVAHD_Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IDXVAHD_Device_AddRef(This) (This)->lpVtbl->AddRef(This) #define IDXVAHD_Device_Release(This) (This)->lpVtbl->Release(This) /*** IDXVAHD_Device methods ***/ #define IDXVAHD_Device_CreateVideoSurface(This,width,height,format,pool,usage,type,count,surfaces,shared_handle) (This)->lpVtbl->CreateVideoSurface(This,width,height,format,pool,usage,type,count,surfaces,shared_handle) #define IDXVAHD_Device_GetVideoProcessorDeviceCaps(This,caps) (This)->lpVtbl->GetVideoProcessorDeviceCaps(This,caps) #define IDXVAHD_Device_GetVideoProcessorOutputFormats(This,count,formats) (This)->lpVtbl->GetVideoProcessorOutputFormats(This,count,formats) #define IDXVAHD_Device_GetVideoProcessorInputFormats(This,count,formats) (This)->lpVtbl->GetVideoProcessorInputFormats(This,count,formats) #define IDXVAHD_Device_GetVideoProcessorCaps(This,count,caps) (This)->lpVtbl->GetVideoProcessorCaps(This,count,caps) #define IDXVAHD_Device_GetVideoProcessorCustomRates(This,guid,count,rates) (This)->lpVtbl->GetVideoProcessorCustomRates(This,guid,count,rates) #define IDXVAHD_Device_GetVideoProcessorFilterRange(This,filter,range) (This)->lpVtbl->GetVideoProcessorFilterRange(This,filter,range) #define IDXVAHD_Device_CreateVideoProcessor(This,guid,processor) (This)->lpVtbl->CreateVideoProcessor(This,guid,processor) #else /*** IUnknown methods ***/ static inline HRESULT IDXVAHD_Device_QueryInterface(IDXVAHD_Device* This,REFIID riid,void **ppvObject) { return This->lpVtbl->QueryInterface(This,riid,ppvObject); } static inline ULONG IDXVAHD_Device_AddRef(IDXVAHD_Device* This) { return This->lpVtbl->AddRef(This); } static inline ULONG IDXVAHD_Device_Release(IDXVAHD_Device* This) { return This->lpVtbl->Release(This); } /*** IDXVAHD_Device methods ***/ static inline HRESULT IDXVAHD_Device_CreateVideoSurface(IDXVAHD_Device* This,UINT width,UINT height,D3DFORMAT format,D3DPOOL pool,DWORD usage,DXVAHD_SURFACE_TYPE type,UINT count,IDirect3DSurface9 **surfaces,HANDLE *shared_handle) { return This->lpVtbl->CreateVideoSurface(This,width,height,format,pool,usage,type,count,surfaces,shared_handle); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorDeviceCaps(IDXVAHD_Device* This,DXVAHD_VPDEVCAPS *caps) { return This->lpVtbl->GetVideoProcessorDeviceCaps(This,caps); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorOutputFormats(IDXVAHD_Device* This,UINT count,D3DFORMAT *formats) { return This->lpVtbl->GetVideoProcessorOutputFormats(This,count,formats); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorInputFormats(IDXVAHD_Device* This,UINT count,D3DFORMAT *formats) { return This->lpVtbl->GetVideoProcessorInputFormats(This,count,formats); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorCaps(IDXVAHD_Device* This,UINT count,DXVAHD_VPCAPS *caps) { return This->lpVtbl->GetVideoProcessorCaps(This,count,caps); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorCustomRates(IDXVAHD_Device* This,const GUID *guid,UINT count,DXVAHD_CUSTOM_RATE_DATA *rates) { return This->lpVtbl->GetVideoProcessorCustomRates(This,guid,count,rates); } static inline HRESULT IDXVAHD_Device_GetVideoProcessorFilterRange(IDXVAHD_Device* This,DXVAHD_FILTER filter,DXVAHD_FILTER_RANGE_DATA *range) { return This->lpVtbl->GetVideoProcessorFilterRange(This,filter,range); } static inline HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* This,const GUID *guid,IDXVAHD_VideoProcessor **processor) { return This->lpVtbl->CreateVideoProcessor(This,guid,processor); } #endif #endif #endif #endif /* __IDXVAHD_Device_INTERFACE_DEFINED__ */ HRESULT __stdcall DXVAHD_CreateDevice(IDirect3DDevice9Ex *d3d9_device,const DXVAHD_CONTENT_DESC *desc,DXVAHD_DEVICE_USAGE usage,PDXVAHDSW_Plugin plugin,IDXVAHD_Device **device); /* Begin additional prototypes for all interfaces */ /* End additional prototypes */ #ifdef __cplusplus } #endif #endif /* __dxvahd_h__ */