/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ import "unknwn.idl"; /* Fake widl types */ cpp_quote("#if 0") typedef DWORD IDirect3DDevice9; typedef DWORD IDirect3DSurface9; typedef DWORD D3DFORMAT; typedef DWORD D3DPOOL; cpp_quote("#endif") interface IDirectXVideoDecoderService; cpp_quote("#ifndef __REFERENCE_TIME_DEFINED") cpp_quote("#define __REFERENCE_TIME_DEFINED") cpp_quote("typedef LONGLONG REFERENCE_TIME;") cpp_quote("#endif /*__REFERENCE_TIME_DEFINED*/") cpp_quote("#define DXVA2_ProcAmp_None 0x0000") cpp_quote("#define DXVA2_ProcAmp_Brightness 0x0001") cpp_quote("#define DXVA2_ProcAmp_Contrast 0x0002") cpp_quote("#define DXVA2_ProcAmp_Hue 0x0004") cpp_quote("#define DXVA2_ProcAmp_Saturation 0x0008") cpp_quote("") cpp_quote("#define DXVA2_E_NOT_INITIALIZED MAKE_HRESULT(1, 4, 4096)") cpp_quote("#define DXVA2_E_NEW_VIDEO_DEVICE MAKE_HRESULT(1, 4, 4097)") cpp_quote("#define DXVA2_E_VIDEO_DEVICE_LOCKED MAKE_HRESULT(1, 4, 4098)") cpp_quote("#define DXVA2_E_NOT_AVAILABLE MAKE_HRESULT(1, 4, 4099)") cpp_quote("") cpp_quote("DEFINE_GUID(DXVA2_ModeMPEG2_MoComp, 0xe6a9f44b, 0x61b0,0x4563, 0x9e,0xa4,0x63,0xd2,0xa3,0xc6,0xfe,0x66);") cpp_quote("DEFINE_GUID(DXVA2_ModeMPEG2_IDCT, 0xbf22ad00, 0x03ea,0x4690, 0x80,0x77,0x47,0x33,0x46,0x20,0x9b,0x7e);") cpp_quote("DEFINE_GUID(DXVA2_ModeMPEG2_VLD, 0xee27417f, 0x5e28,0x4e65, 0xbe,0xea,0x1d,0x26,0xb5,0x08,0xad,0xc9);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_A, 0x1b81be64, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_B, 0x1b81be65, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_C, 0x1b81be66, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_D, 0x1b81be67, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_E, 0x1b81be68, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeH264_F, 0x1b81be69, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeWMV8_A, 0x1b81be80, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeWMV8_B, 0x1b81be81, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeWMV9_A, 0x1b81be90, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeWMV9_B, 0x1b81be91, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeWMV9_C, 0x1b81be94, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeVC1_A, 0x1b81beA0, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeVC1_B, 0x1b81beA1, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeVC1_C, 0x1b81beA2, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("DEFINE_GUID(DXVA2_ModeVC1_D, 0x1b81beA3, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);") cpp_quote("") cpp_quote("typedef enum _DXVA2_SampleFormat {") cpp_quote(" DXVA2_SampleFormatMask = 0x00FF,") cpp_quote(" DXVA2_SampleUnknown = 0,") cpp_quote(" DXVA2_SampleProgressiveFrame = 2,") cpp_quote(" DXVA2_SampleFieldInterleavedEvenFirst = 3,") cpp_quote(" DXVA2_SampleFieldInterleavedOddFirst = 4,") cpp_quote(" DXVA2_SampleFieldSingleEven = 5,") cpp_quote(" DXVA2_SampleFieldSingleOdd = 6,") cpp_quote(" DXVA2_SampleSubStream = 7 ") cpp_quote("} DXVA2_SampleFormat;") cpp_quote("") cpp_quote("typedef enum _DXVA2_VideoChromaSubSampling {") cpp_quote(" DXVA2_VideoChromaSubsamplingMask = 0x0F,") cpp_quote(" DXVA2_VideoChromaSubsampling_Unknown = 0,") cpp_quote(" DXVA2_VideoChromaSubsampling_ProgressiveChroma = 0x8,") cpp_quote(" DXVA2_VideoChromaSubsampling_Horizontally_Cosited = 0x4,") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_Cosited = 0x2,") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1,") cpp_quote(" DXVA2_VideoChromaSubsampling_MPEG2 = ") cpp_quote(" DXVA2_VideoChromaSubsampling_Horizontally_Cosited |") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes,") cpp_quote(" DXVA2_VideoChromaSubsampling_MPEG1 = ") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes,") cpp_quote(" DXVA2_VideoChromaSubsampling_DV_PAL = ") cpp_quote(" DXVA2_VideoChromaSubsampling_Horizontally_Cosited | ") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_Cosited,") cpp_quote(" DXVA2_VideoChromaSubsampling_Cosited = ") cpp_quote(" DXVA2_VideoChromaSubsampling_Horizontally_Cosited | ") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_Cosited | ") cpp_quote(" DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes ") cpp_quote("} DXVA2_VideoChromaSubSampling;") cpp_quote("") cpp_quote("typedef enum _DXVA2_NominalRange {") cpp_quote(" DXVA2_NominalRangeMask = 0x07,") cpp_quote(" DXVA2_NominalRange_Unknown = 0,") cpp_quote(" DXVA2_NominalRange_Normal = 1,") cpp_quote(" DXVA2_NominalRange_Wide = 2,") cpp_quote(" DXVA2_NominalRange_0_255 = 1,") cpp_quote(" DXVA2_NominalRange_16_235 = 2,") cpp_quote(" DXVA2_NominalRange_48_208 = 3 ") cpp_quote("} DXVA2_NominalRange;") cpp_quote("") cpp_quote("typedef enum _DXVA2_VideoLighting {") cpp_quote(" DXVA2_VideoLightingMask = 0x0F,") cpp_quote(" DXVA2_VideoLighting_Unknown = 0,") cpp_quote(" DXVA2_VideoLighting_bright = 1,") cpp_quote(" DXVA2_VideoLighting_office = 2,") cpp_quote(" DXVA2_VideoLighting_dim = 3,") cpp_quote(" DXVA2_VideoLighting_dark = 4 ") cpp_quote("} DXVA2_VideoLighting;") cpp_quote("") cpp_quote("typedef enum _DXVA2_VideoPrimaries {") cpp_quote(" DXVA2_VideoPrimariesMask = 0x001f,") cpp_quote(" DXVA2_VideoPrimaries_Unknown = 0,") cpp_quote(" DXVA2_VideoPrimaries_reserved = 1,") cpp_quote(" DXVA2_VideoPrimaries_BT709 = 2,") cpp_quote(" DXVA2_VideoPrimaries_BT470_2_SysM = 3,") cpp_quote(" DXVA2_VideoPrimaries_BT470_2_SysBG = 4,") cpp_quote(" DXVA2_VideoPrimaries_SMPTE170M = 5,") cpp_quote(" DXVA2_VideoPrimaries_SMPTE240M = 6,") cpp_quote(" DXVA2_VideoPrimaries_EBU3213 = 7,") cpp_quote(" DXVA2_VideoPrimaries_SMPTE_C = 8 ") cpp_quote("} DXVA2_VideoPrimaries;") cpp_quote("") cpp_quote("typedef enum _DXVA2_VideoTransferFunction {") cpp_quote(" DXVA2_VideoTransFuncMask = 0x001f,") cpp_quote(" DXVA2_VideoTransFunc_Unknown = 0,") cpp_quote(" DXVA2_VideoTransFunc_10 = 1,") cpp_quote(" DXVA2_VideoTransFunc_18 = 2,") cpp_quote(" DXVA2_VideoTransFunc_20 = 3,") cpp_quote(" DXVA2_VideoTransFunc_22 = 4,") cpp_quote(" DXVA2_VideoTransFunc_709 = 5,") cpp_quote(" DXVA2_VideoTransFunc_240M = 6,") cpp_quote(" DXVA2_VideoTransFunc_sRGB = 7,") cpp_quote(" DXVA2_VideoTransFunc_28 = 8 ") cpp_quote("} DXVA2_VideoTransferFunction;") cpp_quote("") cpp_quote("typedef enum {") cpp_quote(" DXVA2_SurfaceType_DecoderRenderTarget = 0,") cpp_quote(" DXVA2_SurfaceType_ProcessorRenderTarget = 1,") cpp_quote(" DXVA2_SurfaceType_D3DRenderTargetTexture = 2 ") cpp_quote("} DXVA2_SurfaceType;") cpp_quote("") cpp_quote("typedef enum _DXVA2_VideoTransferMatrix {") cpp_quote(" DXVA2_VideoTransferMatrixMask = 0x07,") cpp_quote(" DXVA2_VideoTransferMatrix_Unknown = 0,") cpp_quote(" DXVA2_VideoTransferMatrix_BT709 = 1,") cpp_quote(" DXVA2_VideoTransferMatrix_BT601 = 2,") cpp_quote(" DXVA2_VideoTransferMatrix_SMPTE240M = 3 ") cpp_quote("} DXVA2_VideoTransferMatrix;") cpp_quote("") cpp_quote("typedef struct _DXVA2_AYUVSample16 {") cpp_quote(" USHORT Cr;") cpp_quote(" USHORT Cb;") cpp_quote(" USHORT Y;") cpp_quote(" USHORT Alpha;") cpp_quote("} DXVA2_AYUVSample16;") cpp_quote("") cpp_quote("typedef struct _DXVA2_AYUVSample8 {") cpp_quote(" UCHAR Cr;") cpp_quote(" UCHAR Cb;") cpp_quote(" UCHAR Y;") cpp_quote(" UCHAR Alpha;") cpp_quote("} DXVA2_AYUVSample8;") typedef struct _DXVA2_ConfigPictureDecode { GUID guidConfigBitstreamEncryption; GUID guidConfigMBcontrolEncryption; GUID guidConfigResidDiffEncryption; UINT ConfigBitstreamRaw; UINT ConfigMBcontrolRasterOrder; UINT ConfigResidDiffHost; UINT ConfigSpatialResid8; UINT ConfigResid8Subtraction; UINT ConfigSpatialHost8or9Clipping; UINT ConfigSpatialResidInterleaved; UINT ConfigIntraResidUnsigned; UINT ConfigResidDiffAccelerator; UINT ConfigHostInverseScan; UINT ConfigSpecificIDCT; UINT Config4GroupedCoefs; USHORT ConfigMinRenderTargetBuffCount; USHORT ConfigDecoderSpecific; } DXVA2_ConfigPictureDecode; typedef struct _DXVA2_DecodeBufferDesc { DWORD CompressedBufferType; UINT BufferIndex; UINT DataOffset; UINT DataSize; UINT FirstMBaddress; UINT NumMBsInBuffer; UINT Width; UINT Height; UINT Stride; UINT ReservedBits; PVOID pvPVPState; } DXVA2_DecodeBufferDesc; typedef struct _DXVA2_DecodeExtensionData { UINT Function; PVOID pPrivateInputData; UINT PrivateInputDataSize; PVOID pPrivateOutputData; UINT PrivateOutputDataSize; } DXVA2_DecodeExtensionData; typedef struct _DXVA2_DecodeExecuteParams { UINT NumCompBuffers; DXVA2_DecodeBufferDesc *pCompressedBuffers; DXVA2_DecodeExtensionData *pExtensionData; } DXVA2_DecodeExecuteParams; typedef struct _DXVA2_ExtendedFormat { union { struct { UINT SampleFormat :8; UINT VideoChromaSubsampling :4; UINT NominalRange :3; UINT VideoTransferMatrix :3; UINT VideoLighting :4; UINT VideoPrimaries :5; UINT VideoTransferFunction :5; }; UINT value; }; } DXVA2_ExtendedFormat; cpp_quote("typedef struct _DXVA2_Fixed32 {") cpp_quote(" __C89_NAMELESS union {") cpp_quote(" __C89_NAMELESS struct {") cpp_quote(" USHORT Fraction;") cpp_quote(" SHORT Value;") cpp_quote(" } DUMMYSTRUCTNAME;") cpp_quote(" LONG ll;") cpp_quote(" } DUMMYUNIONNAME;") cpp_quote("} DXVA2_Fixed32;") cpp_quote("") cpp_quote("typedef struct _DXVA2_FilterValues {") cpp_quote(" DXVA2_Fixed32 Level;") cpp_quote(" DXVA2_Fixed32 Threshold;") cpp_quote(" DXVA2_Fixed32 Radius;") cpp_quote("} DXVA2_FilterValues;") typedef struct _DXVA2_Frequency { UINT Numerator; UINT Denominator; } DXVA2_Frequency; cpp_quote("typedef struct _DXVA2_ProcAmpValues {") cpp_quote(" DXVA2_Fixed32 Brightness;") cpp_quote(" DXVA2_Fixed32 Contrast;") cpp_quote(" DXVA2_Fixed32 Hue;") cpp_quote(" DXVA2_Fixed32 Saturation;") cpp_quote("} DXVA2_ProcAmpValues;") cpp_quote("") cpp_quote("typedef struct _DXVA2_ValueRange {") cpp_quote(" DXVA2_Fixed32 MinValue;") cpp_quote(" DXVA2_Fixed32 MaxValue;") cpp_quote(" DXVA2_Fixed32 DefaultValue;") cpp_quote(" DXVA2_Fixed32 StepSize;") cpp_quote("} DXVA2_ValueRange;") typedef struct _DXVA2_VideoDesc { UINT SampleWidth; UINT SampleHeight; DXVA2_ExtendedFormat SampleFormat; D3DFORMAT Format; DXVA2_Frequency InputSampleFreq; DXVA2_Frequency OutputFrameFreq; UINT UABProtectionLevel; UINT Reserved; } DXVA2_VideoDesc; cpp_quote("/* DeviceCaps") cpp_quote("DXVA2_VPDev_EmulatedDXVA1") cpp_quote("DXVA2_VPDev_HardwareDevice") cpp_quote("DXVA2_VPDev_SoftwareDevice") cpp_quote("*/") cpp_quote("/* DeinterlaceTechnology") cpp_quote("DXVA2_DeinterlaceTech_Unknown") cpp_quote("DXVA2_DeinterlaceTech_BOBLineReplicate") cpp_quote("DXVA2_DeinterlaceTech_BOBVerticalStretch") cpp_quote("DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap") cpp_quote("DXVA2_DeinterlaceTech_MedianFiltering") cpp_quote("DXVA2_DeinterlaceTech_EdgeFiltering") cpp_quote("DXVA2_DeinterlaceTech_FieldAdaptive") cpp_quote("DXVA2_DeinterlaceTech_PixelAdaptive") cpp_quote("DXVA2_DeinterlaceTech_MotionVectorSteered") cpp_quote("DXVA2_DeinterlaceTech_InverseTelecine") cpp_quote("*/") cpp_quote("") cpp_quote("/* VideoProcessorOperations") cpp_quote("DXVA2_VideoProcess_YUV2RGB") cpp_quote("DXVA2_VideoProcess_StretchX") cpp_quote("DXVA2_VideoProcess_StretchY") cpp_quote("DXVA2_VideoProcess_AlphaBlend") cpp_quote("DXVA2_VideoProcess_SubRects") cpp_quote("DXVA2_VideoProcess_SubStreams") cpp_quote("DXVA2_VideoProcess_SubStreamsExtended") cpp_quote("DXVA2_VideoProcess_YUV2RGBExtended") cpp_quote("DXVA2_VideoProcess_AlphaBlendExtended") cpp_quote("DXVA2_VideoProcess_Constriction") cpp_quote("DXVA2_VideoProcess_NoiseFilter") cpp_quote("DXVA2_VideoProcess_DetailFilter") cpp_quote("DXVA2_VideoProcess_PlanarAlpha") cpp_quote("DXVA2_VideoProcess_LinearScaling") cpp_quote("DXVA2_VideoProcess_GammaCompensated") cpp_quote("DXVA2_VideoProcess_MaintainsOriginalFieldData") cpp_quote("*/") cpp_quote("") cpp_quote("/*NoiseFilterTechnology") cpp_quote("DXVA2_NoiseFilterTech_Unsupported") cpp_quote("DXVA2_NoiseFilterTech_Unknown") cpp_quote("DXVA2_NoiseFilterTech_Median") cpp_quote("DXVA2_NoiseFilterTech_Temporal") cpp_quote("DXVA2_NoiseFilterTech_BlockNoise") cpp_quote("DXVA2_NoiseFilterTech_MosquitoNoise") cpp_quote("*/") cpp_quote("") cpp_quote("/* DetailFilterTechnology") cpp_quote("DXVA2_DetailFilterTech_Unsupported") cpp_quote("DXVA2_DetailFilterTech_Unknown") cpp_quote("DXVA2_DetailFilterTech_Edge") cpp_quote("DXVA2_DetailFilterTech_Sharpening") cpp_quote("*/") cpp_quote("typedef struct _DXVA2_VideoProcessBltParams {") cpp_quote(" REFERENCE_TIME TargetFrame;") cpp_quote(" RECT TargetRect;") cpp_quote(" SIZE ConstrictionSize;") cpp_quote(" UINT StreamingFlags;") cpp_quote(" DXVA2_AYUVSample16 BackgroundColor;") cpp_quote(" DXVA2_ExtendedFormat DestFormat;") cpp_quote(" DXVA2_ProcAmpValues ProcAmpValues;") cpp_quote(" DXVA2_Fixed32 Alpha;") cpp_quote(" DXVA2_FilterValues NoiseFilterLuma;") cpp_quote(" DXVA2_FilterValues NoiseFilterChroma;") cpp_quote(" DXVA2_FilterValues DetailFilterLuma;") cpp_quote(" DXVA2_FilterValues DetailFilterChroma;") cpp_quote(" DWORD DestData;") cpp_quote("} DXVA2_VideoProcessBltParams;") cpp_quote("") cpp_quote("#ifdef _D3D9_H_") cpp_quote("typedef struct _DXVA2_VideoProcessorCaps {") cpp_quote(" UINT DeviceCaps;") cpp_quote(" D3DPOOL InputPool;") cpp_quote(" UINT NumForwardRefSamples;") cpp_quote(" UINT NumBackwardRefSamples;") cpp_quote(" UINT Reserved;") cpp_quote(" UINT DeinterlaceTechnology;") cpp_quote(" UINT ProcAmpControlCaps;") cpp_quote(" UINT VideoProcessorOperations;") cpp_quote(" UINT NoiseFilterTechnology;") cpp_quote(" UINT DetailFilterTechnology;") cpp_quote("} DXVA2_VideoProcessorCaps;") cpp_quote("#endif") cpp_quote("") cpp_quote("/* SampleData") cpp_quote("DXVA2_SampleData_RFF") cpp_quote("DXVA2_SampleData_TFF") cpp_quote("DXVA2_SampleData_RFF_TFF_Present") cpp_quote("*/") cpp_quote("") cpp_quote("#ifdef _D3D9_H_") cpp_quote("typedef struct _DXVA2_VideoSample {") cpp_quote(" REFERENCE_TIME Start;") cpp_quote(" REFERENCE_TIME End;") cpp_quote(" DXVA2_ExtendedFormat SampleFormat;") cpp_quote(" IDirect3DSurface9* SrcSurface;") cpp_quote(" RECT SrcRect;") cpp_quote(" RECT DstRect;") cpp_quote(" DXVA2_AYUVSample8 Pal[16];") cpp_quote(" DXVA2_Fixed32 PlanarAlpha;") cpp_quote(" DWORD SampleData;") cpp_quote("} DXVA2_VideoSample;") cpp_quote("#endif") cpp_quote("") cpp_quote("/* Constants */") cpp_quote("") cpp_quote("#define DXVA2_VideoDecoderRenderTarget 0") cpp_quote("#define DXVA2_VideoProcessorRenderTarget 1") cpp_quote("#define DXVA2_VideoSoftwareRenderTarget 2") cpp_quote("") cpp_quote("/* CompressedBufferType */") cpp_quote("#define DXVA2_PictureParametersBufferType 0") cpp_quote("#define DXVA2_MacroBlockControlBufferType 1") cpp_quote("#define DXVA2_ResidualDifferenceBufferType 2") cpp_quote("#define DXVA2_DeblockingControlBufferType 3") cpp_quote("#define DXVA2_InverseQuantizationMatrixBufferType 4") cpp_quote("#define DXVA2_SliceControlBufferType 5") cpp_quote("#define DXVA2_BitStreamDateBufferType 6") cpp_quote("#define DXVA2_MotionVectorBuffer 7") cpp_quote("#define DXVA2_FilmGrainBuffer 8") cpp_quote("") cpp_quote("__forceinline const DXVA2_Fixed32 DXVA2_Fixed32OpaqueAlpha (void) {") cpp_quote(" DXVA2_Fixed32 f32;") cpp_quote(" f32.ll = 0 + (1 << 16);") cpp_quote(" return f32;") cpp_quote("}") cpp_quote("") cpp_quote("__forceinline const DXVA2_Fixed32 DXVA2_Fixed32TransparentAlpha (void) {") cpp_quote(" DXVA2_Fixed32 f32;") cpp_quote(" f32.ll = 0;") cpp_quote(" return f32;") cpp_quote("}") cpp_quote("") cpp_quote("__forceinline float DXVA2FixedToFloat (const DXVA2_Fixed32 f32) {") cpp_quote(" return (float)f32.Value + (float)f32.Fraction / (1 << 16);") cpp_quote("}") cpp_quote("") cpp_quote("__forceinline DXVA2_Fixed32 DXVA2FloatToFixed (const float f) {") cpp_quote(" DXVA2_Fixed32 f32;") cpp_quote(" f32.Value = ((ULONG) (f * (1 << 16))) >> 16;") cpp_quote(" f32.Fraction = ((ULONG) (f * (1 << 16))) & 0xFFFF;") cpp_quote(" return f32;") cpp_quote("}") cpp_quote("#ifdef _D3D9_H_") cpp_quote("HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,IDirect3DDeviceManager9 **ppDXVAManager);") cpp_quote("HRESULT WINAPI DXVA2CreateVideoService(IDirect3DDevice9 *pDD,REFIID riid,void **ppService);") [ object, uuid(a0cade0f-06d5-4cf4-a1c7-f3cdd725aa75), local ] interface IDirect3DDeviceManager9 : IUnknown { HRESULT ResetDevice([in] IDirect3DDevice9 *pDevice, [in] UINT resetToken); HRESULT OpenDeviceHandle([out] HANDLE *phDevice); HRESULT CloseDeviceHandle([in] HANDLE hDevice); HRESULT TestDevice([in] HANDLE hDevice); HRESULT LockDevice([in] HANDLE hDevice, [out] IDirect3DDevice9 **ppDevice, [in] BOOL fBlock); HRESULT UnlockDevice([in] HANDLE hDevice, [in] BOOL fSaveState); HRESULT GetVideoService([in] HANDLE hDevice, [in] REFIID riid, [out] void **ppService); } [ object, uuid(f2b0810a-fd00-43c9-918c-df94e2d8ef7d), local ] interface IDirectXVideoDecoder : IUnknown { HRESULT GetVideoDecoderService([out] IDirectXVideoDecoderService **ppService); HRESULT GetCreationParameters([out] GUID *pDeviceGuid, [out] DXVA2_VideoDesc *pVideoDesc, [out] DXVA2_ConfigPictureDecode *pConfig, [out, unique, size_is(*pNumSurfaces)] IDirect3DSurface9 ***pDecoderRenderTargets, [out] UINT *pNumSurfaces); HRESULT GetBuffer([in] UINT BufferType, [out] void **ppBuffer, [out] UINT *pBufferSize); HRESULT ReleaseBuffer([in] UINT BufferType); HRESULT BeginFrame([in] IDirect3DSurface9 *pRenderTarget, [in] void *pvPVPData); HRESULT EndFrame([out] HANDLE *pHandleComplete); HRESULT Execute([in] const DXVA2_DecodeExecuteParams *pExecuteParams); } [ object, uuid(fc51a550-d5e7-11d9-af55-00054e43ff02), local ] interface IDirectXVideoAccelerationService : IUnknown { HRESULT CreateSurface([in] UINT Width, [in] UINT Height, [in] UINT BackBuffers, [in] D3DFORMAT Format, [in] D3DPOOL Pool, [in] DWORD Usage, [in] DWORD DxvaType, [out, size_is(BackBuffers+1)] IDirect3DSurface9 **ppSurface, [in, out] HANDLE *pSharedHandle); } [ object, uuid(fc51a551-d5e7-11d9-af55-00054e43ff02), local ] interface IDirectXVideoDecoderService : IDirectXVideoAccelerationService { HRESULT GetDecoderDeviceGuids([out] UINT *pCount, [out, unique, size_is(*pCount)] GUID **pGuids); HRESULT GetDecoderRenderTargets([in] REFGUID Guid, [out] UINT *pCount, [out, unique, size_is(*pCount)] D3DFORMAT **pFormats); HRESULT GetDecoderConfigurations([in] REFGUID Guid, [in] const DXVA2_VideoDesc *pVideoDesc, [in] void *pReserved, [out] UINT *pCount, [out, unique, size_is(*pCount)] DXVA2_ConfigPictureDecode **ppConfigs); HRESULT CreateVideoDecoder([in] REFGUID Guid, [in] const DXVA2_VideoDesc *pVideoDesc, [in] const DXVA2_ConfigPictureDecode *pConfig, [in, size_is(NumRenderTargets)] IDirect3DSurface9 **ppDecoderRenderTargets, [in] UINT NumRenderTargets, [out] IDirectXVideoDecoder **ppDecode); } cpp_quote("#endif /* _D3D9_H_ */")