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.