blob: 007a2e4c959fc805dadb88870bfdbd389b0a719f [file] [log] [blame] [edit]
/**
* 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")
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(IID_IDirectXVideoDecoderService, 0xfc51a551, 0xd5e7, 0x11d9, 0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02);")
cpp_quote("DEFINE_GUID(IID_IDirectXVideoAccelerationService, 0xfc51a550, 0xd5e7, 0x11d9, 0xaf,0x55,0x00,0x05,0x4e,0x43,0xff,0x02);")
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 struct IDirectXVideoDecoderService IDirectXVideoDecoderService;")
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;")
cpp_quote("")
cpp_quote("typedef struct _DXVA2_ConfigPictureDecode {")
cpp_quote(" GUID guidConfigBitstreamEncryption;")
cpp_quote(" GUID guidConfigMBcontrolEncryption;")
cpp_quote(" GUID guidConfigResidDiffEncryption;")
cpp_quote(" UINT ConfigBitstreamRaw;")
cpp_quote(" UINT ConfigMBcontrolRasterOrder;")
cpp_quote(" UINT ConfigResidDiffHost;")
cpp_quote(" UINT ConfigSpatialResid8;")
cpp_quote(" UINT ConfigResid8Subtraction;")
cpp_quote(" UINT ConfigSpatialHost8or9Clipping;")
cpp_quote(" UINT ConfigSpatialResidInterleaved;")
cpp_quote(" UINT ConfigIntraResidUnsigned;")
cpp_quote(" UINT ConfigResidDiffAccelerator;")
cpp_quote(" UINT ConfigHostInverseScan;")
cpp_quote(" UINT ConfigSpecificIDCT;")
cpp_quote(" UINT Config4GroupedCoefs;")
cpp_quote(" USHORT ConfigMinRenderTargetBuffCount;")
cpp_quote(" USHORT ConfigDecoderSpecific;")
cpp_quote("} DXVA2_ConfigPictureDecode;")
cpp_quote("")
cpp_quote("typedef struct _DXVA2_DecodeBufferDesc {")
cpp_quote(" DWORD CompressedBufferType;")
cpp_quote(" UINT BufferIndex;")
cpp_quote(" UINT DataOffset;")
cpp_quote(" UINT DataSize;")
cpp_quote(" UINT FirstMBaddress;")
cpp_quote(" UINT NumMBsInBuffer;")
cpp_quote(" UINT Width;")
cpp_quote(" UINT Height;")
cpp_quote(" UINT Stride;")
cpp_quote(" UINT ReservedBits;")
cpp_quote(" PVOID pvPVPState;")
cpp_quote("} DXVA2_DecodeBufferDesc;")
cpp_quote("")
cpp_quote("typedef struct _DXVA2_DecodeExtensionData {")
cpp_quote(" UINT Function;")
cpp_quote(" PVOID pPrivateInputData;")
cpp_quote(" UINT PrivateInputDataSize;")
cpp_quote(" PVOID pPrivateOutputData;")
cpp_quote(" UINT PrivateOutputDataSize;")
cpp_quote("} DXVA2_DecodeExtensionData;")
cpp_quote("")
cpp_quote("typedef struct _DXVA2_DecodeExecuteParams {")
cpp_quote(" UINT NumCompBuffers;")
cpp_quote(" DXVA2_DecodeBufferDesc *pCompressedBuffers;")
cpp_quote(" DXVA2_DecodeExtensionData *pExtensionData;")
cpp_quote("} DXVA2_DecodeExecuteParams;")
cpp_quote("")
cpp_quote("typedef struct {")
cpp_quote(" __C89_NAMELESS union {")
cpp_quote(" __C89_NAMELESS struct {")
cpp_quote(" UINT SampleFormat :8;")
cpp_quote(" UINT VideoChromaSubsampling :4;")
cpp_quote(" UINT NominalRange :3;")
cpp_quote(" UINT VideoTransferMatrix :3;")
cpp_quote(" UINT VideoLighting :4;")
cpp_quote(" UINT VideoPrimaries :5;")
cpp_quote(" UINT VideoTransferFunction :5;")
cpp_quote(" } DUMMYSTRUCTNAME;")
cpp_quote(" UINT value;")
cpp_quote(" } DUMMYUNIONNAME;")
cpp_quote("} DXVA2_ExtendedFormat;")
cpp_quote("")
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;")
cpp_quote("")
cpp_quote("typedef struct _DXVA2_Frequency {")
cpp_quote(" UINT Numerator;")
cpp_quote(" UINT Denominator;")
cpp_quote("} DXVA2_Frequency;")
cpp_quote("")
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;")
cpp_quote("")
cpp_quote("#ifdef _D3D9_H_")
cpp_quote("typedef struct _DXVA2_VideoDesc {")
cpp_quote(" UINT SampleWidth;")
cpp_quote(" UINT SampleHeight;")
cpp_quote(" DXVA2_ExtendedFormat SampleFormat;")
cpp_quote(" D3DFORMAT Format;")
cpp_quote(" DXVA2_Frequency InputSampleFreq;")
cpp_quote(" DXVA2_Frequency OutputFrameFreq;")
cpp_quote(" UINT UABProtectionLevel;")
cpp_quote(" UINT Reserved;")
cpp_quote("} DXVA2_VideoDesc;")
cpp_quote("#endif")
cpp_quote("")
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("")
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);
}
cpp_quote("#undef INTERFACE")
cpp_quote("#define INTERFACE IDirectXVideoDecoder")
cpp_quote("DECLARE_INTERFACE_(IDirectXVideoDecoder,IUnknown)")
cpp_quote("{")
cpp_quote(" BEGIN_INTERFACE")
cpp_quote("")
cpp_quote(" /* IUnknown methods */")
cpp_quote(" STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;")
cpp_quote(" STDMETHOD_(ULONG, AddRef)(THIS) PURE;")
cpp_quote(" STDMETHOD_(ULONG, Release)(THIS) PURE;")
cpp_quote("")
cpp_quote(" /* IDirectXVideoDecoder methods */")
cpp_quote(" STDMETHOD_(HRESULT,GetVideoDecoderService)(THIS_ IDirectXVideoDecoderService **ppAccelServices) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,GetCreationParameters)(THIS_ GUID *pDeviceGuid,DXVA2_VideoDesc *pVideoDesc,DXVA2_ConfigPictureDecode *pConfig,IDirect3DSurface9 ***pppDecoderRenderTargets,UINT *pNumSurfaces) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,GetBuffer)(THIS_ UINT BufferType,void **ppBuffer,UINT *pBufferSize) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,ReleaseBuffer)(THIS_ UINT BufferType) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,BeginFrame)(THIS_ IDirect3DSurface9 *pRenderTarget,void *pvPVPData) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,EndFrame)(THIS_ HANDLE *pHandleComplete) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,Execute)(THIS_ const DXVA2_DecodeExecuteParams *pExecuteParams) PURE;")
cpp_quote("")
cpp_quote(" END_INTERFACE")
cpp_quote("};")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDirectXVideoDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDirectXVideoDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDirectXVideoDecoder_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDirectXVideoDecoder_GetVideoDecoderService(This,ppAccelServices) (This)->lpVtbl->GetVideoDecoderService(This,ppAccelServices)")
cpp_quote("#define IDirectXVideoDecoder_GetCreationParameters(This,pDeviceGuid,pVideoDesc,pConfig,pppDecoderRenderTargets,pNumSurfaces) (This)->lpVtbl->GetCreationParameters(This,pDeviceGuid,pVideoDesc,pConfig,pppDecoderRenderTargets,pNumSurfaces)")
cpp_quote("#define IDirectXVideoDecoder_GetBuffer(This,BufferType,ppBuffer,pBufferSize) (This)->lpVtbl->GetBuffer(This,BufferType,ppBuffer,pBufferSize)")
cpp_quote("#define IDirectXVideoDecoder_ReleaseBuffer(This,BufferType) (This)->lpVtbl->ReleaseBuffer(This,BufferType)")
cpp_quote("#define IDirectXVideoDecoder_BeginFrame(This,pRenderTarget,pvPVPData) (This)->lpVtbl->BeginFrame(This,pRenderTarget,pvPVPData)")
cpp_quote("#define IDirectXVideoDecoder_EndFrame(This,pHandleComplete) (This)->lpVtbl->EndFrame(This,pHandleComplete)")
cpp_quote("#define IDirectXVideoDecoder_Execute(This,pExecuteParams) (This)->lpVtbl->Execute(This,pExecuteParams)")
cpp_quote("#endif /*COBJMACROS*/")
cpp_quote("")
cpp_quote("#undef INTERFACE")
cpp_quote("#define INTERFACE IDirectXVideoAccelerationService")
cpp_quote("DECLARE_INTERFACE_(IDirectXVideoAccelerationService,IUnknown)")
cpp_quote("{")
cpp_quote(" BEGIN_INTERFACE")
cpp_quote("")
cpp_quote(" /* IUnknown methods */")
cpp_quote(" STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;")
cpp_quote(" STDMETHOD_(ULONG, AddRef)(THIS) PURE;")
cpp_quote(" STDMETHOD_(ULONG, Release)(THIS) PURE;")
cpp_quote("")
cpp_quote(" /* IDirectXVideoAccelerationService methods */")
cpp_quote(" STDMETHOD_(HRESULT,CreateSurface)(THIS_ UINT Width,UINT Height,UINT BackBuffers,D3DFORMAT Format,D3DPOOL Pool,DWORD Usage,DWORD DxvaType,IDirect3DSurface9 **ppSurface,HANDLE *pSharedHandle) PURE;")
cpp_quote("")
cpp_quote(" END_INTERFACE")
cpp_quote("};")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDirectXVideoAccelerationService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDirectXVideoAccelerationService_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDirectXVideoAccelerationService_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDirectXVideoAccelerationService_CreateSurface(This,Width,Height,BackBuffers,Format,Pool,Usage,DxvaType,ppSurface,pSharedHandle) (This)->lpVtbl->CreateSurface(This,Width,Height,BackBuffers,Format,Pool,Usage,DxvaType,ppSurface,pSharedHandle)")
cpp_quote("#endif /*COBJMACROS*/")
cpp_quote("")
cpp_quote("#undef INTERFACE")
cpp_quote("#define INTERFACE IDirectXVideoDecoderService")
cpp_quote("DECLARE_INTERFACE_(IDirectXVideoDecoderService,IDirectXVideoAccelerationService)")
cpp_quote("{")
cpp_quote(" BEGIN_INTERFACE")
cpp_quote("")
cpp_quote(" /* IUnknown methods */")
cpp_quote(" STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;")
cpp_quote(" STDMETHOD_(ULONG, AddRef)(THIS) PURE;")
cpp_quote(" STDMETHOD_(ULONG, Release)(THIS) PURE;")
cpp_quote("")
cpp_quote(" /* IDirectXVideoAccelerationService methods */")
cpp_quote(" STDMETHOD_(HRESULT,CreateSurface)(THIS_ UINT Width,UINT Height,UINT BackBuffers,D3DFORMAT Format,D3DPOOL Pool,DWORD Usage,DWORD DxvaType,IDirect3DSurface9 **ppSurface,HANDLE *pSharedHandle) PURE;")
cpp_quote(" ")
cpp_quote(" /* IDirectXVideoDecoderService methods */")
cpp_quote(" STDMETHOD_(HRESULT,GetDecoderDeviceGuids)(THIS_ UINT *Count,GUID **pGuids) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,GetDecoderRenderTargets)(THIS_ REFGUID Guid,UINT *pCount,D3DFORMAT **pFormats) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,GetDecoderConfigurations)(THIS_ REFGUID Guid,const DXVA2_VideoDesc *pVideoDesc,IUnknown *pReserved,UINT *pCount,DXVA2_ConfigPictureDecode **ppConfigs) PURE;")
cpp_quote(" STDMETHOD_(HRESULT,CreateVideoDecoder)(THIS_ REFGUID Guid,const DXVA2_VideoDesc *pVideoDesc,DXVA2_ConfigPictureDecode *pConfig,IDirect3DSurface9 **ppDecoderRenderTargets,UINT NumSurfaces,IDirectXVideoDecoder **ppDecode) PURE;")
cpp_quote("")
cpp_quote(" END_INTERFACE")
cpp_quote("};")
cpp_quote("#endif")
cpp_quote("#ifdef COBJMACROS")
cpp_quote("#define IDirectXVideoDecoderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)")
cpp_quote("#define IDirectXVideoDecoderService_AddRef(This) (This)->lpVtbl->AddRef(This)")
cpp_quote("#define IDirectXVideoDecoderService_Release(This) (This)->lpVtbl->Release(This)")
cpp_quote("#define IDirectXVideoDecoderService_CreateSurface(This,Width,Height,BackBuffers,Format,Pool,Usage,DxvaType,ppSurface,pSharedHandle) (This)->lpVtbl->CreateSurface(This,Width,Height,BackBuffers,Format,Pool,Usage,DxvaType,ppSurface,pSharedHandle)")
cpp_quote("#define IDirectXVideoDecoderService_GetDecoderDeviceGuids(This,Count,pGuids) (This)->lpVtbl->GetDecoderDeviceGuids(This,Count,pGuids)")
cpp_quote("#define IDirectXVideoDecoderService_GetDecoderRenderTargets(This,Guid,pCount,pFormats) (This)->lpVtbl->GetDecoderRenderTargets(This,Guid,pCount,pFormats)")
cpp_quote("#define IDirectXVideoDecoderService_GetDecoderConfigurations(This,Guid,pVideoDesc,pReserved,pCount,ppConfigs) (This)->lpVtbl->GetDecoderConfigurations(This,Guid,pVideoDesc,pReserved,pCount,ppConfigs)")
cpp_quote("#define IDirectXVideoDecoderService_CreateVideoDecoder(This,Guid,pVideoDesc,pConfig,ppDecoderRenderTargets,NumSurfaces,ppDecode) (This)->lpVtbl->CreateVideoDecoder(This,Guid,pVideoDesc,pConfig,ppDecoderRenderTargets,NumSurfaces,ppDecode)")
cpp_quote("#endif /*COBJMACROS*/")