From 1eb7673ecc412fa7358750fc3d0bb68bebe09e46 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 8 Feb 2013 13:47:40 +0000 Subject: [PATCH] specs/dxva: Try to define DXVA2_PVP_SETKEY. --- dispatch/dxvaint.h | 12 ++++++++++-- specs/d3d9dxva2.py | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/dispatch/dxvaint.h b/dispatch/dxvaint.h index ad11304..8a5ecfd 100644 --- a/dispatch/dxvaint.h +++ b/dispatch/dxvaint.h @@ -44,8 +44,6 @@ #endif -typedef struct _DXVA2_PVP_SETKEY DXVA2_PVP_SETKEY; /* XXX */ - typedef struct _DXVA2_DECODEBUFFERDESC { IDirect3DSurface9 *pRenderTarget; DWORD CompressedBufferType; @@ -112,6 +110,16 @@ static const GUID IID_IDirect3DDXVAExtensionDevice9 = {0x00000000,0x0000,0x0000, static const GUID IID_IDirect3DDxva2Container9 = {0x126D0349,0x4787,0x4AA6,{0x8E,0x1B,0x40,0xC1,0x77,0xC6,0x0A,0x01}}; +typedef struct DECLSPEC_ALIGN(16) _DXVA2_PVP_KEY128 +{ + BYTE Data[16]; +} DXVA2_PVP_KEY128; + +typedef struct _DXVA2_PVP_SETKEY +{ + DXVA2_PVP_KEY128 ContentKey; +} DXVA2_PVP_SETKEY; + class IDirect3DDecodeDevice9 : public IUnknown { public: diff --git a/specs/d3d9dxva2.py b/specs/d3d9dxva2.py index 3acbd40..5c52f98 100644 --- a/specs/d3d9dxva2.py +++ b/specs/d3d9dxva2.py @@ -263,7 +263,15 @@ DXVA2_VideoProcessorCaps = Struct("DXVA2_VideoProcessorCaps", [ ]) -DXVA2_PVP_SETKEY = Opaque('DXVA2_PVP_SETKEY') +# See also DXVADDI_PVP_KEY128 +DXVA2_PVP_KEY128 = Struct('DXVA2_PVP_KEY128', [ + (Array(BYTE, 16), 'Data'), +]) + +# See also DXVADDI_PVP_SETKEY +DXVA2_PVP_SETKEY = Struct('DXVA2_PVP_SETKEY', [ + (DXVA2_PVP_KEY128, 'ContentKey'), +]) DXVA2_DECODEBUFFERDESC = Struct("DXVA2_DECODEBUFFERDESC", [ (ObjPointer(IDirect3DSurface9), "pRenderTarget"), @@ -321,7 +329,7 @@ DXVA2_DECODEBUFFERINFO = Opaque('DXVA2_DECODEBUFFERINFO') IDirect3DDecodeDevice9 = Interface("IDirect3DDecodeDevice9", IUnknown) IDirect3DDecodeDevice9.methods += [ - StdMethod(HRESULT, "DecodeBeginFrame", [(OpaquePointer(DXVA2_PVP_SETKEY), "pPVPSetKey")]), + StdMethod(HRESULT, "DecodeBeginFrame", [(Pointer(DXVA2_PVP_SETKEY), "pPVPSetKey")]), StdMethod(HRESULT, "DecodeEndFrame", [(Pointer(HANDLE), "pHandleComplete")]), StdMethod(HRESULT, "DecodeSetRenderTarget", [(ObjPointer(IDirect3DSurface9), "pRenderTarget")]), StdMethod(HRESULT, "DecodeExecute", [(Pointer(DXVA2_DECODEEXECUTE), "pExecuteParams")]), -- 2.43.0