[PATCH 1/5] include: Add some more EVR mixer interfaces.

Nikolay Sivov nsivov at codeweavers.com
Thu Jun 25 09:57:57 CDT 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 include/Makefile.in |   1 +
 include/evr9.idl    | 114 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)
 create mode 100644 include/evr9.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index 9f70e72b4c7..90fb873f203 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -276,6 +276,7 @@ SOURCES = \
 	evntprov.h \
 	evntrace.h \
 	evr.idl \
+	evr9.idl \
 	excpt.h \
 	exdisp.idl \
 	exdispid.h \
diff --git a/include/evr9.idl b/include/evr9.idl
new file mode 100644
index 00000000000..1572d878387
--- /dev/null
+++ b/include/evr9.idl
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2020 Nikolay Sivov for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "unknwn.idl";
+import "evr.idl";
+import "dxva2api.idl";
+
+typedef struct MFVideoAlphaBitmapParams
+{
+    DWORD dwFlags;
+    COLORREF clrSrcKey;
+    RECT rcSrc;
+    MFVideoNormalizedRect nrcDest;
+    FLOAT fAlpha;
+    DWORD dwFilterMode;
+} MFVideoAlphaBitmapParams;
+
+typedef struct MFVideoAlphaBitmap
+{
+    BOOL GetBitmapFromDC;
+    union
+    {
+        HDC hdc;
+        IDirect3DSurface9 *pDDS;
+    } bitmap;
+    MFVideoAlphaBitmapParams params;
+} MFVideoAlphaBitmap;
+
+[
+    object,
+    uuid(814c7b20-0fdb-4eec-af8f-f957c8f69edc),
+    local
+]
+interface IMFVideoMixerBitmap : IUnknown
+{
+    HRESULT SetAlphaBitmap(
+        [in] const MFVideoAlphaBitmap *bitmap
+    );
+    HRESULT ClearAlphaBitmap(void);
+    HRESULT UpdateAlphaBitmapParameters(
+        [in] const MFVideoAlphaBitmapParams *params
+    );
+    HRESULT GetAlphaBitmapParameters(
+        [out] MFVideoAlphaBitmapParams *params
+    );
+}
+
+[
+    object,
+    uuid(6AB0000C-FECE-4d1f-A2AC-A9573530656E),
+    pointer_default(unique)
+]
+interface IMFVideoProcessor : IUnknown
+{
+    HRESULT GetAvailableVideoProcessorModes(
+        [out] UINT *count,
+        [out, size_is(*count)] GUID **modes
+    );
+    HRESULT GetVideoProcessorCaps(
+        [in] GUID *mode,
+        [out] DXVA2_VideoProcessorCaps *caps
+    );
+    HRESULT GetVideoProcessorMode(
+        [out] GUID *mode
+    );
+    HRESULT SetVideoProcessorMode(
+        [in] GUID *mode
+    );
+    HRESULT GetProcAmpRange(
+        [in] DWORD prop,
+        [out] DXVA2_ValueRange *range
+    );
+    HRESULT GetProcAmpValues(
+        [in] DWORD flags,
+        [out] DXVA2_ProcAmpValues *values
+    );
+    HRESULT SetProcAmpValues(
+        [in] DWORD flags,
+        [in] DXVA2_ProcAmpValues *values
+    );
+    HRESULT GetFilteringRange(
+        [in] DWORD prop,
+        [out] DXVA2_ValueRange *range
+    );
+    HRESULT GetFilteringValue(
+        [in] DWORD prop,
+        [out] DXVA2_Fixed32 *value
+    );
+    HRESULT SetFilteringValue(
+        [in] DWORD prop,
+        [in] DXVA2_Fixed32 *value
+    );
+    HRESULT GetBackgroundColor(
+        [out] COLORREF *color
+    );
+    HRESULT SetBackgroundColor(
+        [in] COLORREF color
+    );
+}
-- 
2.27.0




More information about the wine-devel mailing list