123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750 |
- /*** Autogenerated by WIDL 7.7 from include/dxvahd.idl - Do not edit ***/
- #ifdef _WIN32
- #ifndef __REQUIRED_RPCNDR_H_VERSION__
- #define __REQUIRED_RPCNDR_H_VERSION__ 475
- #endif
- #include <rpc.h>
- #include <rpcndr.h>
- #endif
- #ifndef COM_NO_WINDOWS_H
- #include <windows.h>
- #include <ole2.h>
- #endif
- #ifndef __dxvahd_h__
- #define __dxvahd_h__
- /* Forward declarations */
- #ifndef __IDXVAHD_Device_FWD_DEFINED__
- #define __IDXVAHD_Device_FWD_DEFINED__
- typedef interface IDXVAHD_Device IDXVAHD_Device;
- #ifdef __cplusplus
- interface IDXVAHD_Device;
- #endif /* __cplusplus */
- #endif
- #ifndef __IDXVAHD_VideoProcessor_FWD_DEFINED__
- #define __IDXVAHD_VideoProcessor_FWD_DEFINED__
- typedef interface IDXVAHD_VideoProcessor IDXVAHD_VideoProcessor;
- #ifdef __cplusplus
- interface IDXVAHD_VideoProcessor;
- #endif /* __cplusplus */
- #endif
- /* Headers for imported files */
- #include <unknwn.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <winapifamily.h>
- #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
- #if (_WIN32_WINNT >= 0x0601)
- #if 0
- #ifndef __IDirect3DSurface9_FWD_DEFINED__
- #define __IDirect3DSurface9_FWD_DEFINED__
- typedef interface IDirect3DSurface9 IDirect3DSurface9;
- #ifdef __cplusplus
- interface IDirect3DSurface9;
- #endif /* __cplusplus */
- #endif
- #ifndef __IDirect3DDevice9Ex_FWD_DEFINED__
- #define __IDirect3DDevice9Ex_FWD_DEFINED__
- typedef interface IDirect3DDevice9Ex IDirect3DDevice9Ex;
- #ifdef __cplusplus
- interface IDirect3DDevice9Ex;
- #endif /* __cplusplus */
- #endif
- typedef DWORD D3DFORMAT;
- typedef DWORD D3DPOOL;
- typedef struct __WIDL_dxvahd_generated_name_0000000C {
- char dummy;
- } D3DCOLOR;
- #endif
- #ifndef CALLBACK
- #if defined(_ARM_)
- #define CALLBACK
- #else
- #define CALLBACK __stdcall
- #endif
- #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
- #ifndef __IDXVAHD_VideoProcessor_FWD_DEFINED__
- #define __IDXVAHD_VideoProcessor_FWD_DEFINED__
- typedef interface IDXVAHD_VideoProcessor IDXVAHD_VideoProcessor;
- #ifdef __cplusplus
- interface IDXVAHD_VideoProcessor;
- #endif /* __cplusplus */
- #endif
- typedef enum _DXVAHD_ALPHA_FILL_MODE {
- DXVAHD_ALPHA_FILL_MODE_OPAQUE = 0,
- DXVAHD_ALPHA_FILL_MODE_BACKGROUND = 1,
- DXVAHD_ALPHA_FILL_MODE_DESTINATION = 2,
- DXVAHD_ALPHA_FILL_MODE_SOURCE_STREAM = 3
- } DXVAHD_ALPHA_FILL_MODE;
- typedef struct _DXVAHD_COLOR_YCbCrA {
- FLOAT Y;
- FLOAT Cb;
- FLOAT Cr;
- FLOAT A;
- } DXVAHD_COLOR_YCbCrA;
- typedef struct _DXVAHD_COLOR_RGBA {
- FLOAT R;
- FLOAT G;
- FLOAT B;
- FLOAT A;
- } DXVAHD_COLOR_RGBA;
- typedef union _DXVAHD_COLOR {
- DXVAHD_COLOR_RGBA RGB;
- DXVAHD_COLOR_YCbCrA YCbCr;
- } DXVAHD_COLOR;
- typedef struct _DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA {
- WINBOOL YCbCr;
- DXVAHD_COLOR BackgroundColor;
- } DXVAHD_BLT_STATE_BACKGROUND_COLOR_DATA;
- 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_CAPS {
- DXVAHD_DEVICE_CAPS_LINEAR_SPACE = 0x1,
- DXVAHD_DEVICE_CAPS_xvYCC = 0x2,
- DXVAHD_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4,
- DXVAHD_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8
- } DXVAHD_DEVICE_CAPS;
- 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_FEATURE_CAPS {
- DXVAHD_FEATURE_CAPS_ALPHA_FILL = 0x1,
- DXVAHD_FEATURE_CAPS_CONSTRICTION = 0x2,
- DXVAHD_FEATURE_CAPS_LUMA_KEY = 0x4,
- DXVAHD_FEATURE_CAPS_ALPHA_PALETTE = 0x8
- } DXVAHD_FEATURE_CAPS;
- 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_FILTER_CAPS {
- DXVAHD_FILTER_CAPS_BRIGHTNESS = 0x1,
- DXVAHD_FILTER_CAPS_CONTRAST = 0x2,
- DXVAHD_FILTER_CAPS_HUE = 0x4,
- DXVAHD_FILTER_CAPS_SATURATION = 0x8,
- DXVAHD_FILTER_CAPS_NOISE_REDUCTION = 0x10,
- DXVAHD_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20,
- DXVAHD_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40
- } DXVAHD_FILTER_CAPS;
- 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_INPUT_FORMAT_CAPS {
- DXVAHD_INPUT_FORMAT_CAPS_RGB_INTERLACED = 0x1,
- DXVAHD_INPUT_FORMAT_CAPS_RGB_PROCAMP = 0x2,
- DXVAHD_INPUT_FORMAT_CAPS_RGB_LUMA_KEY = 0x4,
- DXVAHD_INPUT_FORMAT_CAPS_PALETTE_INTERLACED = 0x8
- } DXVAHD_INPUT_FORMAT_CAPS;
- typedef enum _DXVAHD_ITELECINE_CAPS {
- DXVAHD_ITELECINE_CAPS_32 = 0x1,
- DXVAHD_ITELECINE_CAPS_22 = 0x2,
- DXVAHD_ITELECINE_CAPS_2224 = 0x4,
- DXVAHD_ITELECINE_CAPS_2332 = 0x8,
- DXVAHD_ITELECINE_CAPS_32322 = 0x10,
- DXVAHD_ITELECINE_CAPS_55 = 0x20,
- DXVAHD_ITELECINE_CAPS_64 = 0x40,
- DXVAHD_ITELECINE_CAPS_87 = 0x80,
- DXVAHD_ITELECINE_CAPS_222222222223 = 0x100,
- DXVAHD_ITELECINE_CAPS_OTHER = 0x80000000
- } DXVAHD_ITELECINE_CAPS;
- typedef enum _DXVAHD_OUTPUT_RATE {
- DXVAHD_OUTPUT_RATE_NORMAL = 0,
- DXVAHD_OUTPUT_RATE_HALF = 1,
- DXVAHD_OUTPUT_RATE_CUSTOM = 2
- } DXVAHD_OUTPUT_RATE;
- typedef enum _DXVAHD_PROCESSOR_CAPS {
- DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1,
- DXVAHD_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2,
- DXVAHD_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4,
- DXVAHD_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8,
- DXVAHD_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10,
- DXVAHD_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20
- } DXVAHD_PROCESSOR_CAPS;
- 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_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_BLT_STATE_ALPHA_FILL_DATA {
- DXVAHD_ALPHA_FILL_MODE Mode;
- UINT StreamNumber;
- } DXVAHD_BLT_STATE_ALPHA_FILL_DATA;
- typedef struct _DXVAHD_BLT_STATE_CONSTRICTION_DATA {
- WINBOOL Enable;
- SIZE Size;
- } DXVAHD_BLT_STATE_CONSTRICTION_DATA;
- typedef struct _DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA {
- UINT Usage : 1;
- UINT RGB_Range : 1;
- UINT YCbCr_Matrix : 1;
- UINT YCbCr_xvYCC : 1;
- } DXVAHD_BLT_STATE_OUTPUT_COLOR_SPACE_DATA;
- typedef struct _DXVAHD_BLT_STATE_PRIVATE_DATA {
- GUID Guid;
- UINT DataSize;
- void *pData;
- } DXVAHD_BLT_STATE_PRIVATE_DATA;
- typedef struct _DXVAHD_BLT_STATE_TARGET_RECT_DATA {
- WINBOOL Enable;
- RECT TargetRect;
- } DXVAHD_BLT_STATE_TARGET_RECT_DATA;
- 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;
- WINBOOL 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 {
- WINBOOL Enable;
- UINT OutputIndex;
- UINT InputFrameOrField;
- UINT PastFrames;
- UINT FutureFrames;
- IDirect3DSurface9 **ppPastSurfaces;
- IDirect3DSurface9 *pInputSurface;
- IDirect3DSurface9 **ppFutureSurfaces;
- } DXVAHD_STREAM_DATA;
- typedef struct _DXVAHD_VPCAPS {
- GUID VPGuid;
- UINT PastFrames;
- UINT FutureFrames;
- UINT ProcessorCaps;
- UINT ITelecineCaps;
- UINT CustomRateCount;
- } DXVAHD_VPCAPS;
- typedef struct _DXVAHD_STREAM_STATE_ALPHA_DATA {
- WINBOOL Enable;
- FLOAT Alpha;
- } DXVAHD_STREAM_STATE_ALPHA_DATA;
- typedef struct _DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA {
- WINBOOL Enable;
- DXVAHD_RATIONAL SourceAspectRatio;
- DXVAHD_RATIONAL DestinationAspectRatio;
- } DXVAHD_STREAM_STATE_ASPECT_RATIO_DATA;
- typedef struct _DXVAHD_STREAM_STATE_D3DFORMAT_DATA {
- D3DFORMAT Format;
- } DXVAHD_STREAM_STATE_D3DFORMAT_DATA;
- typedef struct _DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA {
- WINBOOL Enable;
- RECT DestinationRect;
- } DXVAHD_STREAM_STATE_DESTINATION_RECT_DATA;
- typedef struct _DXVAHD_STREAM_STATE_FILTER_DATA {
- WINBOOL Enable;
- INT Level;
- } DXVAHD_STREAM_STATE_FILTER_DATA;
- typedef struct _DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA {
- DXVAHD_FRAME_FORMAT FrameFormat;
- } DXVAHD_STREAM_STATE_FRAME_FORMAT_DATA;
- typedef struct _DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA {
- UINT Type : 1;
- UINT RGB_Range : 1;
- UINT YCbCr_Matrix : 1;
- UINT YCbCr_xvYCC : 1;
- } DXVAHD_STREAM_STATE_INPUT_COLOR_SPACE_DATA;
- typedef struct _DXVAHD_STREAM_STATE_LUMA_KEY_DATA {
- WINBOOL Enable;
- FLOAT Lower;
- FLOAT Upper;
- } DXVAHD_STREAM_STATE_LUMA_KEY_DATA;
- typedef struct _DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA {
- WINBOOL RepeatFrame;
- DXVAHD_OUTPUT_RATE OutputRate;
- DXVAHD_RATIONAL CustomRate;
- } DXVAHD_STREAM_STATE_OUTPUT_RATE_DATA;
- typedef struct _DXVAHD_STREAM_STATE_SOURCE_RECT_DATA {
- WINBOOL Enable;
- RECT SourceRect;
- } DXVAHD_STREAM_STATE_SOURCE_RECT_DATA;
- typedef struct _DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA {
- WINBOOL Enable;
- UINT ITelecineFlags;
- UINT Frames;
- UINT InputField;
- } DXVAHD_STREAM_STATE_PRIVATE_IVTC_DATA;
- typedef struct _DXVAHD_STREAM_STATE_PRIVATE_DATA {
- GUID Guid;
- UINT DataSize;
- void *pData;
- } DXVAHD_STREAM_STATE_PRIVATE_DATA;
- typedef struct _DXVAHD_STREAM_STATE_PALETTE_DATA {
- UINT Count;
- D3DCOLOR *pEntries;
- } DXVAHD_STREAM_STATE_PALETTE_DATA;
- typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateDevice )(IDirect3DDevice9Ex *pD3DDevice,HANDLE *phDevice);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_ProposeVideoPrivateFormat )(HANDLE hDevice,D3DFORMAT *pFormat);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorDeviceCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,DXVAHD_VPDEVCAPS *pCaps);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorOutputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorInputFormats )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,D3DFORMAT *pFormats);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCaps )(HANDLE hDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,UINT Count,DXVAHD_VPCAPS *pCaps);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorCustomRates )(HANDLE hDevice,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessBltState )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_CreateVideoProcessor )(HANDLE hDevice,const GUID *pVPGuid,HANDLE *phVideoProcessor);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyDevice )(HANDLE hDevice);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessorFilterRange )(HANDLE hDevice,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_DestroyVideoProcessor )(HANDLE hVideoProcessor);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_VideoProcessBltHD )(HANDLE hVideoProcessor,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessStreamStatePrivate )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE_PRIVATE_DATA *pData);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_SetVideoProcessStreamState )(HANDLE hVideoProcessor,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_GetVideoProcessBltStatePrivate )(HANDLE hVideoProcessor,DXVAHD_BLT_STATE_PRIVATE_DATA *pData);
- typedef HRESULT ( CALLBACK *PDXVAHDSW_Plugin )(UINT Size,void *pCallbacks);
- typedef struct _DXVAHDSW_CALLBACKS {
- PDXVAHDSW_CreateDevice CreateDevice;
- PDXVAHDSW_ProposeVideoPrivateFormat ProposeVideoPrivateFormat;
- PDXVAHDSW_GetVideoProcessorDeviceCaps GetVideoProcessorDeviceCaps;
- PDXVAHDSW_GetVideoProcessorOutputFormats GetVideoProcessorOutputFormats;
- PDXVAHDSW_GetVideoProcessorInputFormats GetVideoProcessorInputFormats;
- PDXVAHDSW_GetVideoProcessorCaps GetVideoProcessorCaps;
- PDXVAHDSW_GetVideoProcessorCustomRates GetVideoProcessorCustomRates;
- PDXVAHDSW_GetVideoProcessorFilterRange GetVideoProcessorFilterRange;
- PDXVAHDSW_DestroyDevice DestroyDevice;
- PDXVAHDSW_CreateVideoProcessor CreateVideoProcessor;
- PDXVAHDSW_SetVideoProcessBltState SetVideoProcessBltState;
- PDXVAHDSW_GetVideoProcessBltStatePrivate GetVideoProcessBltStatePrivate;
- PDXVAHDSW_SetVideoProcessStreamState SetVideoProcessStreamState;
- PDXVAHDSW_GetVideoProcessStreamStatePrivate GetVideoProcessStreamStatePrivate;
- PDXVAHDSW_VideoProcessBltHD VideoProcessBltHD;
- PDXVAHDSW_DestroyVideoProcessor DestroyVideoProcessor;
- } DXVAHDSW_CALLBACKS;
- HRESULT DXVAHD_CreateDevice(IDirect3DDevice9Ex *pD3DDevice,const DXVAHD_CONTENT_DESC *pContentDesc,DXVAHD_DEVICE_USAGE Usage,PDXVAHDSW_Plugin pPlugin,IDXVAHD_Device **ppDevice);
- /*****************************************************************************
- * 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 NumSurfaces,
- IDirect3DSurface9 **ppSurfaces,
- HANDLE *pSharedHandle) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorDeviceCaps(
- DXVAHD_VPDEVCAPS *pCaps) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorOutputFormats(
- UINT Count,
- D3DFORMAT *pFormats) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorInputFormats(
- UINT Count,
- D3DFORMAT *pFormats) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
- UINT Count,
- DXVAHD_VPCAPS *pCaps) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCustomRates(
- const GUID *pVPGuid,
- UINT Count,
- DXVAHD_CUSTOM_RATE_DATA *pRates) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorFilterRange(
- DXVAHD_FILTER Filter,
- DXVAHD_FILTER_RANGE_DATA *pRange) = 0;
- virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
- const GUID *pVPGuid,
- IDXVAHD_VideoProcessor **ppVideoProcessor) = 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 NumSurfaces,
- IDirect3DSurface9 **ppSurfaces,
- HANDLE *pSharedHandle);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorDeviceCaps)(
- IDXVAHD_Device *This,
- DXVAHD_VPDEVCAPS *pCaps);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorOutputFormats)(
- IDXVAHD_Device *This,
- UINT Count,
- D3DFORMAT *pFormats);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorInputFormats)(
- IDXVAHD_Device *This,
- UINT Count,
- D3DFORMAT *pFormats);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
- IDXVAHD_Device *This,
- UINT Count,
- DXVAHD_VPCAPS *pCaps);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCustomRates)(
- IDXVAHD_Device *This,
- const GUID *pVPGuid,
- UINT Count,
- DXVAHD_CUSTOM_RATE_DATA *pRates);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessorFilterRange)(
- IDXVAHD_Device *This,
- DXVAHD_FILTER Filter,
- DXVAHD_FILTER_RANGE_DATA *pRange);
- HRESULT (STDMETHODCALLTYPE *CreateVideoProcessor)(
- IDXVAHD_Device *This,
- const GUID *pVPGuid,
- IDXVAHD_VideoProcessor **ppVideoProcessor);
- 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,NumSurfaces,ppSurfaces,pSharedHandle) (This)->lpVtbl->CreateVideoSurface(This,Width,Height,Format,Pool,Usage,Type,NumSurfaces,ppSurfaces,pSharedHandle)
- #define IDXVAHD_Device_GetVideoProcessorDeviceCaps(This,pCaps) (This)->lpVtbl->GetVideoProcessorDeviceCaps(This,pCaps)
- #define IDXVAHD_Device_GetVideoProcessorOutputFormats(This,Count,pFormats) (This)->lpVtbl->GetVideoProcessorOutputFormats(This,Count,pFormats)
- #define IDXVAHD_Device_GetVideoProcessorInputFormats(This,Count,pFormats) (This)->lpVtbl->GetVideoProcessorInputFormats(This,Count,pFormats)
- #define IDXVAHD_Device_GetVideoProcessorCaps(This,Count,pCaps) (This)->lpVtbl->GetVideoProcessorCaps(This,Count,pCaps)
- #define IDXVAHD_Device_GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates) (This)->lpVtbl->GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates)
- #define IDXVAHD_Device_GetVideoProcessorFilterRange(This,Filter,pRange) (This)->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange)
- #define IDXVAHD_Device_CreateVideoProcessor(This,pVPGuid,ppVideoProcessor) (This)->lpVtbl->CreateVideoProcessor(This,pVPGuid,ppVideoProcessor)
- #else
- /*** IUnknown methods ***/
- static FORCEINLINE HRESULT IDXVAHD_Device_QueryInterface(IDXVAHD_Device* This,REFIID riid,void **ppvObject) {
- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
- }
- static FORCEINLINE ULONG IDXVAHD_Device_AddRef(IDXVAHD_Device* This) {
- return This->lpVtbl->AddRef(This);
- }
- static FORCEINLINE ULONG IDXVAHD_Device_Release(IDXVAHD_Device* This) {
- return This->lpVtbl->Release(This);
- }
- /*** IDXVAHD_Device methods ***/
- static 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) {
- return This->lpVtbl->CreateVideoSurface(This,Width,Height,Format,Pool,Usage,Type,NumSurfaces,ppSurfaces,pSharedHandle);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorDeviceCaps(IDXVAHD_Device* This,DXVAHD_VPDEVCAPS *pCaps) {
- return This->lpVtbl->GetVideoProcessorDeviceCaps(This,pCaps);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorOutputFormats(IDXVAHD_Device* This,UINT Count,D3DFORMAT *pFormats) {
- return This->lpVtbl->GetVideoProcessorOutputFormats(This,Count,pFormats);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorInputFormats(IDXVAHD_Device* This,UINT Count,D3DFORMAT *pFormats) {
- return This->lpVtbl->GetVideoProcessorInputFormats(This,Count,pFormats);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorCaps(IDXVAHD_Device* This,UINT Count,DXVAHD_VPCAPS *pCaps) {
- return This->lpVtbl->GetVideoProcessorCaps(This,Count,pCaps);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorCustomRates(IDXVAHD_Device* This,const GUID *pVPGuid,UINT Count,DXVAHD_CUSTOM_RATE_DATA *pRates) {
- return This->lpVtbl->GetVideoProcessorCustomRates(This,pVPGuid,Count,pRates);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_GetVideoProcessorFilterRange(IDXVAHD_Device* This,DXVAHD_FILTER Filter,DXVAHD_FILTER_RANGE_DATA *pRange) {
- return This->lpVtbl->GetVideoProcessorFilterRange(This,Filter,pRange);
- }
- static FORCEINLINE HRESULT IDXVAHD_Device_CreateVideoProcessor(IDXVAHD_Device* This,const GUID *pVPGuid,IDXVAHD_VideoProcessor **ppVideoProcessor) {
- return This->lpVtbl->CreateVideoProcessor(This,pVPGuid,ppVideoProcessor);
- }
- #endif
- #endif
- #endif
- #endif /* __IDXVAHD_Device_INTERFACE_DEFINED__ */
- /*****************************************************************************
- * 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 DataSize,
- const void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessBltState(
- DXVAHD_BLT_STATE State,
- UINT DataSize,
- void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE SetVideoProcessStreamState(
- UINT StreamNumber,
- DXVAHD_STREAM_STATE State,
- UINT DataSize,
- const void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE GetVideoProcessStreamState(
- UINT StreamNumber,
- DXVAHD_STREAM_STATE State,
- UINT DataSize,
- void *pData) = 0;
- virtual HRESULT STDMETHODCALLTYPE VideoProcessBltHD(
- IDirect3DSurface9 *pOutputSurface,
- UINT OutputFrame,
- UINT StreamCount,
- const DXVAHD_STREAM_DATA *pStreams) = 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 DataSize,
- const void *pData);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessBltState)(
- IDXVAHD_VideoProcessor *This,
- DXVAHD_BLT_STATE State,
- UINT DataSize,
- void *pData);
- HRESULT (STDMETHODCALLTYPE *SetVideoProcessStreamState)(
- IDXVAHD_VideoProcessor *This,
- UINT StreamNumber,
- DXVAHD_STREAM_STATE State,
- UINT DataSize,
- const void *pData);
- HRESULT (STDMETHODCALLTYPE *GetVideoProcessStreamState)(
- IDXVAHD_VideoProcessor *This,
- UINT StreamNumber,
- DXVAHD_STREAM_STATE State,
- UINT DataSize,
- void *pData);
- HRESULT (STDMETHODCALLTYPE *VideoProcessBltHD)(
- IDXVAHD_VideoProcessor *This,
- IDirect3DSurface9 *pOutputSurface,
- UINT OutputFrame,
- UINT StreamCount,
- const DXVAHD_STREAM_DATA *pStreams);
- 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,DataSize,pData) (This)->lpVtbl->SetVideoProcessBltState(This,State,DataSize,pData)
- #define IDXVAHD_VideoProcessor_GetVideoProcessBltState(This,State,DataSize,pData) (This)->lpVtbl->GetVideoProcessBltState(This,State,DataSize,pData)
- #define IDXVAHD_VideoProcessor_SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData) (This)->lpVtbl->SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData)
- #define IDXVAHD_VideoProcessor_GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData) (This)->lpVtbl->GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData)
- #define IDXVAHD_VideoProcessor_VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams) (This)->lpVtbl->VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams)
- #else
- /*** IUnknown methods ***/
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_QueryInterface(IDXVAHD_VideoProcessor* This,REFIID riid,void **ppvObject) {
- return This->lpVtbl->QueryInterface(This,riid,ppvObject);
- }
- static FORCEINLINE ULONG IDXVAHD_VideoProcessor_AddRef(IDXVAHD_VideoProcessor* This) {
- return This->lpVtbl->AddRef(This);
- }
- static FORCEINLINE ULONG IDXVAHD_VideoProcessor_Release(IDXVAHD_VideoProcessor* This) {
- return This->lpVtbl->Release(This);
- }
- /*** IDXVAHD_VideoProcessor methods ***/
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_SetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE State,UINT DataSize,const void *pData) {
- return This->lpVtbl->SetVideoProcessBltState(This,State,DataSize,pData);
- }
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_GetVideoProcessBltState(IDXVAHD_VideoProcessor* This,DXVAHD_BLT_STATE State,UINT DataSize,void *pData) {
- return This->lpVtbl->GetVideoProcessBltState(This,State,DataSize,pData);
- }
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_SetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,const void *pData) {
- return This->lpVtbl->SetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData);
- }
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_GetVideoProcessStreamState(IDXVAHD_VideoProcessor* This,UINT StreamNumber,DXVAHD_STREAM_STATE State,UINT DataSize,void *pData) {
- return This->lpVtbl->GetVideoProcessStreamState(This,StreamNumber,State,DataSize,pData);
- }
- static FORCEINLINE HRESULT IDXVAHD_VideoProcessor_VideoProcessBltHD(IDXVAHD_VideoProcessor* This,IDirect3DSurface9 *pOutputSurface,UINT OutputFrame,UINT StreamCount,const DXVAHD_STREAM_DATA *pStreams) {
- return This->lpVtbl->VideoProcessBltHD(This,pOutputSurface,OutputFrame,StreamCount,pStreams);
- }
- #endif
- #endif
- #endif
- #endif /* __IDXVAHD_VideoProcessor_INTERFACE_DEFINED__ */
- #endif /*(_WIN32_WINNT >= 0x0601)*/
- #endif /*WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)*/
- /* Begin additional prototypes for all interfaces */
- /* End additional prototypes */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __dxvahd_h__ */
|