1import "unknwn.idl"; 2 3cpp_quote("#if 0") 4 5typedef void* LPDIRECTDRAWSURFACE; 6typedef void* LPDDPIXELFORMAT; 7typedef void* LPAMVAInternalMemInfo; 8typedef void AMVAUncompDataInfo; 9typedef void* LPAMVACompBufferInfo; 10typedef void AMVABUFFERINFO; 11typedef void AMVAEndFrameInfo; 12typedef void* LPAMVAUncompBufferInfo; 13typedef void AMVABeginFrameInfo; 14typedef IUnknown* IMediaSample; 15cpp_quote("#endif") 16 17cpp_quote("#include <ddraw.h>") 18cpp_quote("#include <amva.h>") 19 20 21[ 22 local, 23 object, 24 uuid(256A6A22-FBAD-11d1-82BF-00A0C9696C8F), 25 pointer_default(unique) 26] 27 28interface IAMVideoAccelerator : IUnknown 29{ 30 HRESULT GetVideoAcceleratorGUIDs([in] [out] LPDWORD pdwNumGuidsSupported, [in] [out] LPGUID pGuidsSupported); 31 HRESULT GetUncompFormatsSupported( [in] const GUID *pGuid, [in] [out] LPDWORD pdwNumFormatsSupported, [in] [out] LPDDPIXELFORMAT pFormatsSupported); 32 HRESULT GetInternalMemInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, [in] [out] LPAMVAInternalMemInfo pamvaInternalMemInfo); 33 HRESULT GetCompBufferInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, [in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo); 34 HRESULT GetInternalCompBufferInfo([in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo); 35 HRESULT BeginFrame([in] const AMVABeginFrameInfo *amvaBeginFrameInfo); 36 HRESULT EndFrame([in] const AMVAEndFrameInfo *pEndFrameInfo); 37 HRESULT GetBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex, [in] BOOL bReadOnly, [out] LPVOID *ppBuffer, [out] LONG *lpStride); 38 HRESULT ReleaseBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex); 39 HRESULT Execute([in] DWORD dwFunction, [in] LPVOID lpPrivateInputData, [in] DWORD cbPrivateInputData, [in] LPVOID lpPrivateOutputDat, [in] DWORD cbPrivateOutputData, [in] DWORD dwNumBuffers, [in] const AMVABUFFERINFO *pamvaBufferInfo); 40 HRESULT QueryRenderStatus([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex, [in] DWORD dwFlags); 41 HRESULT DisplayFrame([in] DWORD dwFlipToIndex, [in] IMediaSample *pMediaSample); 42}; 43 44[ 45 local, 46 object, 47 uuid(256A6A21-FBAD-11d1-82BF-00A0C9696C8F), 48 pointer_default(unique) 49] 50 51interface IAMVideoAcceleratorNotify : IUnknown 52{ 53 HRESULT GetUncompSurfacesInfo([in] const GUID *pGuid, [in] [out] LPAMVAUncompBufferInfo pUncompBufferInfo); 54 HRESULT SetUncompSurfacesInfo([in] DWORD dwActualUncompSurfacesAllocated); 55 HRESULT GetCreateVideoAcceleratorData([in] const GUID *pGuid, [out] LPDWORD pdwSizeMiscData, [out] LPVOID *ppMiscData); 56}; 57