2007-05-27 00:16:01 +08:00
|
|
|
import "unknwn.idl";
|
|
|
|
|
|
|
|
cpp_quote("#if 0")
|
|
|
|
|
|
|
|
typedef void* LPDIRECTDRAWSURFACE;
|
|
|
|
typedef void* LPDDPIXELFORMAT;
|
|
|
|
typedef void* LPAMVAInternalMemInfo;
|
|
|
|
typedef void AMVAUncompDataInfo;
|
|
|
|
typedef void* LPAMVACompBufferInfo;
|
|
|
|
typedef void AMVABUFFERINFO;
|
|
|
|
typedef void AMVAEndFrameInfo;
|
|
|
|
typedef void* LPAMVAUncompBufferInfo;
|
|
|
|
typedef void AMVABeginFrameInfo;
|
|
|
|
typedef IUnknown* IMediaSample;
|
|
|
|
cpp_quote("#endif")
|
|
|
|
|
|
|
|
cpp_quote("#include <ddraw.h>")
|
|
|
|
cpp_quote("#include <amva.h>")
|
|
|
|
|
|
|
|
|
|
|
|
[
|
|
|
|
local,
|
|
|
|
object,
|
|
|
|
uuid(256A6A22-FBAD-11d1-82BF-00A0C9696C8F),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
|
|
|
|
interface IAMVideoAccelerator : IUnknown
|
|
|
|
{
|
|
|
|
HRESULT GetVideoAcceleratorGUIDs([in] [out] LPDWORD pdwNumGuidsSupported, [in] [out] LPGUID pGuidsSupported);
|
|
|
|
HRESULT GetUncompFormatsSupported( [in] const GUID *pGuid, [in] [out] LPDWORD pdwNumFormatsSupported, [in] [out] LPDDPIXELFORMAT pFormatsSupported);
|
|
|
|
HRESULT GetInternalMemInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, [in] [out] LPAMVAInternalMemInfo pamvaInternalMemInfo);
|
|
|
|
HRESULT GetCompBufferInfo([in] const GUID *pGuid, [in] const AMVAUncompDataInfo *pamvaUncompDataInfo, [in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo);
|
|
|
|
HRESULT GetInternalCompBufferInfo([in] [out] LPDWORD pdwNumTypesCompBuffers, [out] LPAMVACompBufferInfo pamvaCompBufferInfo);
|
|
|
|
HRESULT BeginFrame([in] const AMVABeginFrameInfo *amvaBeginFrameInfo);
|
|
|
|
HRESULT EndFrame([in] const AMVAEndFrameInfo *pEndFrameInfo);
|
|
|
|
HRESULT GetBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex, [in] BOOL bReadOnly, [out] LPVOID *ppBuffer, [out] LONG *lpStride);
|
|
|
|
HRESULT ReleaseBuffer([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex);
|
|
|
|
HRESULT Execute([in] DWORD dwFunction, [in] LPVOID lpPrivateInputData, [in] DWORD cbPrivateInputData, [in] LPVOID lpPrivateOutputDat, [in] DWORD cbPrivateOutputData, [in] DWORD dwNumBuffers, [in] const AMVABUFFERINFO *pamvaBufferInfo);
|
|
|
|
HRESULT QueryRenderStatus([in] DWORD dwTypeIndex, [in] DWORD dwBufferIndex, [in] DWORD dwFlags);
|
|
|
|
HRESULT DisplayFrame([in] DWORD dwFlipToIndex, [in] IMediaSample *pMediaSample);
|
|
|
|
};
|
|
|
|
|
|
|
|
[
|
|
|
|
local,
|
|
|
|
object,
|
|
|
|
uuid(256A6A21-FBAD-11d1-82BF-00A0C9696C8F),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
|
|
|
|
interface IAMVideoAcceleratorNotify : IUnknown
|
|
|
|
{
|
|
|
|
HRESULT GetUncompSurfacesInfo([in] const GUID *pGuid, [in] [out] LPAMVAUncompBufferInfo pUncompBufferInfo);
|
|
|
|
HRESULT SetUncompSurfacesInfo([in] DWORD dwActualUncompSurfacesAllocated);
|
|
|
|
HRESULT GetCreateVideoAcceleratorData([in] const GUID *pGuid, [out] LPDWORD pdwSizeMiscData, [out] LPVOID *ppMiscData);
|
2011-05-21 20:39:48 +08:00
|
|
|
};
|