2 * Copyright 2020 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 import
"dxva2api.idl";
23 typedef struct MFVideoAlphaBitmapParams
28 MFVideoNormalizedRect nrcDest
;
31 } MFVideoAlphaBitmapParams
;
33 typedef struct MFVideoAlphaBitmap
39 IDirect3DSurface9
*pDDS
;
41 MFVideoAlphaBitmapParams params
;
46 MFVideoAlphaBitmap_EntireDDS
= 0x1,
47 MFVideoAlphaBitmap_SrcColorKey
= 0x2,
48 MFVideoAlphaBitmap_SrcRect
= 0x4,
49 MFVideoAlphaBitmap_DestRect
= 0x8,
50 MFVideoAlphaBitmap_FilterMode
= 0x10,
51 MFVideoAlphaBitmap_Alpha
= 0x20,
52 MFVideoAlphaBitmap_BitMask
= 0x3f
53 } MFVideoAlphaBitmapFlags
;
57 uuid(814c7b20
-0fdb
-4eec
-af8f
-f957c8f69edc
),
60 interface IMFVideoMixerBitmap
: IUnknown
62 HRESULT SetAlphaBitmap
(
63 [in] const MFVideoAlphaBitmap
*bitmap
65 HRESULT ClearAlphaBitmap
(void);
66 HRESULT UpdateAlphaBitmapParameters
(
67 [in] const MFVideoAlphaBitmapParams
*params
69 HRESULT GetAlphaBitmapParameters
(
70 [out] MFVideoAlphaBitmapParams
*params
76 uuid(6ab0000c
-fece
-4d1f
-a2ac
-a9573530656e
),
77 pointer_default(unique)
79 interface IMFVideoProcessor
: IUnknown
81 HRESULT GetAvailableVideoProcessorModes
(
83 [out, size_is(*count
)] GUID
**modes
85 HRESULT GetVideoProcessorCaps
(
87 [out] DXVA2_VideoProcessorCaps
*caps
89 HRESULT GetVideoProcessorMode
(
92 HRESULT SetVideoProcessorMode
(
95 HRESULT GetProcAmpRange
(
97 [out] DXVA2_ValueRange
*range
99 HRESULT GetProcAmpValues
(
101 [out] DXVA2_ProcAmpValues
*values
103 HRESULT SetProcAmpValues
(
105 [in] DXVA2_ProcAmpValues
*values
107 HRESULT GetFilteringRange
(
109 [out] DXVA2_ValueRange
*range
111 HRESULT GetFilteringValue
(
113 [out] DXVA2_Fixed32
*value
115 HRESULT SetFilteringValue
(
117 [in] DXVA2_Fixed32
*value
119 HRESULT GetBackgroundColor
(
120 [out] COLORREF
*color
122 HRESULT SetBackgroundColor
(