xref: /reactos/sdk/include/dxsdk/videoacc.idl (revision 8a978a17)
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