--- /dev/null
+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);
+};
\ No newline at end of file
<module name="dxsdk" type="idlheader">
<file>austream.idl</file>
<file>amstream.idl</file>
- <file>ddstream.idl</file>
- <file>mmstream.idl</file>
+ <file>ddstream.idl</file>
+ <file>mixerocx.idl</file>
+ <file>mmstream.idl</file>
+ <file>vidcap.idl</file>
+ <file>Videoacc.idl</file>
</module>
\ No newline at end of file
--- /dev/null
+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();
+};
--- /dev/null
+
+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);
+}
+
+
+