adding mixerocx.idl, vidcap.idl, videoacc.idl compatible with ms dxsdk 2004 dec
authorMagnus Olsen <magnus@greatlord.com>
Sat, 26 May 2007 16:16:01 +0000 (16:16 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Sat, 26 May 2007 16:16:01 +0000 (16:16 +0000)
svn path=/trunk/; revision=26906

reactos/include/dxsdk/Videoacc.idl [new file with mode: 0644]
reactos/include/dxsdk/dxsdk.rbuild
reactos/include/dxsdk/mixerocx.idl [new file with mode: 0644]
reactos/include/dxsdk/vidcap.idl [new file with mode: 0644]

diff --git a/reactos/include/dxsdk/Videoacc.idl b/reactos/include/dxsdk/Videoacc.idl
new file mode 100644 (file)
index 0000000..faefa96
--- /dev/null
@@ -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);
+};
\ No newline at end of file
index a1de80d..a6ce453 100644 (file)
@@ -1,6 +1,9 @@
 <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
diff --git a/reactos/include/dxsdk/mixerocx.idl b/reactos/include/dxsdk/mixerocx.idl
new file mode 100644 (file)
index 0000000..c011343
--- /dev/null
@@ -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();
+};
diff --git a/reactos/include/dxsdk/vidcap.idl b/reactos/include/dxsdk/vidcap.idl
new file mode 100644 (file)
index 0000000..e560c08
--- /dev/null
@@ -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);
+}
+
+
+