[DXSDK]
[reactos.git] / include / dxsdk / videoacc.idl
1 import "unknwn.idl";
2
3 cpp_quote("#if 0")
4
5 typedef void* LPDIRECTDRAWSURFACE;
6 typedef void* LPDDPIXELFORMAT;
7 typedef void* LPAMVAInternalMemInfo;
8 typedef void AMVAUncompDataInfo;
9 typedef void* LPAMVACompBufferInfo;
10 typedef void AMVABUFFERINFO;
11 typedef void AMVAEndFrameInfo;
12 typedef void* LPAMVAUncompBufferInfo;
13 typedef void AMVABeginFrameInfo;
14 typedef IUnknown* IMediaSample;
15 cpp_quote("#endif")
16
17 cpp_quote("#include <ddraw.h>")
18 cpp_quote("#include <amva.h>")
19
20
21 [
22 local,
23 object,
24 uuid(256A6A22-FBAD-11d1-82BF-00A0C9696C8F),
25 pointer_default(unique)
26 ]
27
28 interface 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
51 interface 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 };