[1/5] include: Add dxva2api.idl

Nikolay Sivov bunglehead at gmail.com
Fri Apr 4 00:23:31 CDT 2014


On 4/4/2014 08:44, Michael Müller wrote:
> This first set of patches adds the required interface definitions and
> headers which are required for the dxva2 implementation. Please note
> that the ugly names of the header files were not my idea, thats exactly
> the same name how they're called by MS.
Yes, looks like 8.3 rule no longer applies :)
>
> The last patch of the series implements stub functions for every member
> of dxva2.dll, such that applications do not abort anymore when they hit
> one of the stub exports.
>
> ---
>   include/Makefile.in  |    1 +
>   include/dxva2api.idl |  534
> ++++++++++++++++++++++++++++++++++++++++++++++++++
>   2 files changed, 535 insertions(+)
>   create mode 100644 include/dxva2api.idl

> +cpp_quote("#if 0")
> +typedef DWORD IDirect3DDevice9;
> +typedef DWORD IDirect3DSurface9;
> +
> +typedef DWORD D3DFORMAT;
> +typedef DWORD D3DPOOL;
> +cpp_quote("#endif")
First I thought it's a bit ugly, but apparently that's how it's done in SDK.
> +enum
> +{
> +    DXVA2_PictureParametersBufferType = 0,
> +    DXVA2_MacroBlockControlBufferType = 1,
> +    DXVA2_ResidualDifferenceBufferType = 2,
> +    DXVA2_DeblockingControlBufferType = 3,
> +    DXVA2_InverseQuantizationMatrixBufferType = 4,
> +    DXVA2_SliceControlBufferType = 5,
> +    DXVA2_BitStreamDateBufferType = 6,
> +    DXVA2_MotionVectorBuffer = 7,
> +    DXVA2_FilmGrainBuffer = 8
> +};
> +
> +enum
> +{
> +    DXVA2_VideoDecoderRenderTarget = 0,
> +    DXVA2_VideoProcessorRenderTarget = 1,
> +    DXVA2_VideoSoftwareRenderTarget = 2
> +};
> +
You don't need explicit initializers in this case.

> +[
> +    object,
> +    uuid(a0cade0f-06d5-4cf4-a1c7-f3cdd725aa75),
> +    helpstring("IDirect3DDeviceManager9 Interface"),
> +    local
> +]
No need for helpstring(), it's only used definitions participating in 
typelibs.



More information about the wine-devel mailing list