adding mixerocx.idl, vidcap.idl, videoacc.idl compatible with ms dxsdk 2004 dec

svn path=/trunk/; revision=26906
This commit is contained in:
Magnus Olsen 2007-05-26 16:16:01 +00:00
parent d9221af45a
commit 15e6e8404d
4 changed files with 165 additions and 2 deletions

View File

@ -0,0 +1,58 @@
import "unknwn.idl";
cpp_quote("#if 0")
typedef void* LPVOID;
typedef void* LPGUID;
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);
};

View File

@ -2,5 +2,8 @@
<file>austream.idl</file> <file>austream.idl</file>
<file>amstream.idl</file> <file>amstream.idl</file>
<file>ddstream.idl</file> <file>ddstream.idl</file>
<file>mixerocx.idl</file>
<file>mmstream.idl</file> <file>mmstream.idl</file>
<file>vidcap.idl</file>
<file>Videoacc.idl</file>
</module> </module>

View File

@ -0,0 +1,42 @@
import "unknwn.idl";
#define MIXER_DATA_ASPECT_RATIO 0x00000001
#define MIXER_DATA_NATIVE_SIZE 0x00000002
#define MIXER_DATA_PALETTE 0x00000004
#define MIXER_STATE_MASK 0x00000003
#define MIXER_STATE_UNCONNECTED 0x00000000
#define MIXER_STATE_CONNECTED_STOPPED 0x00000001
#define MIXER_STATE_CONNECTED_PAUSED 0x00000002
#define MIXER_STATE_CONNECTED_PLAYING 0x00000003
interface IMixerOCXNotify;
interface IMixerOCX;
[
object,
uuid(81A3BD31-DEE1-11d1-8508-00A0C91F9CA0),
pointer_default(unique)
]
interface IMixerOCXNotify : IUnknown
{
HRESULT OnInvalidateRect([in] LPCRECT lpcRect);
HRESULT OnStatusChange([in] ULONG ulStatusFlags);
HRESULT OnDataChange([in] ULONG ulDataFlags);
};
[
object,
uuid(81A3BD32-DEE1-11d1-8508-00A0C91F9CA0),
pointer_default(unique)
]
interface IMixerOCX : IUnknown
{
HRESULT OnDisplayChange([in] ULONG ulBitsPerPixel, [in] ULONG ulScreenWidth, [in] ULONG ulScreenHeight);
HRESULT GetAspectRatio([out] LPDWORD pdwPictAspectRatioX, [out] LPDWORD pdwPictAspectRatioY);
HRESULT GetVideoSize([out] LPDWORD pdwVideoWidth, [out] LPDWORD pdwVideoHeight);
HRESULT GetStatus([out] LPDWORD *pdwStatus);
HRESULT OnDraw([in] HDC hdcDraw, [in] LPCRECT prcDraw);
HRESULT SetDrawRegion([in] LPPOINT lpptTopLeftSC, [in] LPCRECT prcDrawCC, [in] LPCRECT lprcClip);
HRESULT Advise([in] IMixerOCXNotify *pmdns);
HRESULT UnAdvise();
};

View File

@ -0,0 +1,60 @@
import "unknwn.idl";
import "strmif.idl";
cpp_quote("#include \"ks.h\"")
cpp_quote("#ifndef _KS_")
typedef struct {
ULONG FromNode;
ULONG FromNodePin;
ULONG ToNode;
ULONG ToNodePin;
} KSTOPOLOGY_CONNECTION, *PKSTOPOLOGY_CONNECTION;
cpp_quote("#endif")
[
object,
local,
uuid(720D4AC0-7533-11D0-A5D6-28DB04C10000),
pointer_default(unique)
]
interface IKsTopologyInfo : IUnknown
{
HRESULT get_NumCategories([out] DWORD *pdwNumCategories);
HRESULT get_Category([in] DWORD dwIndex, [out] GUID *pCategory);
HRESULT get_NumConnections([out] DWORD *pdwNumConnections);
HRESULT get_ConnectionInfo([in] DWORD dwIndex, [out] KSTOPOLOGY_CONNECTION *pConnectionInfo);
HRESULT get_NodeName([in] DWORD dwNodeId, [out] WCHAR *pwchNodeName, [in] DWORD dwBufSize, [out] DWORD *pdwNameLen);
HRESULT get_NumNodes([out] DWORD *pdwNumNodes);
HRESULT get_NodeType([in] DWORD dwNodeId, [out] GUID *pNodeType);
HRESULT CreateNodeInstance([in] DWORD dwNodeId, [in] REFIID iid, [out] void **ppvObject);
}
[
object,
local,
uuid(11737C14-24A7-4bb5-81A0-0D003813B0C4),
pointer_default(unique)
]
interface IKsNodeControl :IUnknown
{
HRESULT put_NodeId([in] DWORD dwNodeId);
HRESULT put_KsControl([in] PVOID pKsControl);
}
[
object,
local,
uuid(1ABDAECA-68B6-4F83-9371-B413907C7B9F),
pointer_default(unique)
]
interface ISelector : IUnknown
{
HRESULT get_NumSources([out] DWORD *pdwNumSources);
HRESULT get_SourceNodeId([out] DWORD *pdwPinId);
HRESULT put_SourceNodeId([in] DWORD dwPinId);
}