#endif
-typedef struct _DXVA2_PVP_SETKEY DXVA2_PVP_SETKEY; /* XXX */
-
typedef struct _DXVA2_DECODEBUFFERDESC {
IDirect3DSurface9 *pRenderTarget;
DWORD CompressedBufferType;
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:
])
-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"),
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")]),