server: Add hardware_msg_data size for variable size messages.
[wine.git] / include / evr9.idl
blobb3d363cdee95422708e8c709e3852567a9d91d0c
1 /*
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
19 import "unknwn.idl";
20 import "evr.idl";
21 import "dxva2api.idl";
23 typedef struct MFVideoAlphaBitmapParams
25 DWORD dwFlags;
26 COLORREF clrSrcKey;
27 RECT rcSrc;
28 MFVideoNormalizedRect nrcDest;
29 FLOAT fAlpha;
30 DWORD dwFilterMode;
31 } MFVideoAlphaBitmapParams;
33 typedef struct MFVideoAlphaBitmap
35 BOOL GetBitmapFromDC;
36 union
38 HDC hdc;
39 IDirect3DSurface9 *pDDS;
40 } bitmap;
41 MFVideoAlphaBitmapParams params;
42 } MFVideoAlphaBitmap;
45 object,
46 uuid(814c7b20-0fdb-4eec-af8f-f957c8f69edc),
47 local
49 interface IMFVideoMixerBitmap : IUnknown
51 HRESULT SetAlphaBitmap(
52 [in] const MFVideoAlphaBitmap *bitmap
54 HRESULT ClearAlphaBitmap(void);
55 HRESULT UpdateAlphaBitmapParameters(
56 [in] const MFVideoAlphaBitmapParams *params
58 HRESULT GetAlphaBitmapParameters(
59 [out] MFVideoAlphaBitmapParams *params
64 object,
65 uuid(6ab0000c-fece-4d1f-a2ac-a9573530656e),
66 pointer_default(unique)
68 interface IMFVideoProcessor : IUnknown
70 HRESULT GetAvailableVideoProcessorModes(
71 [out] UINT *count,
72 [out, size_is(*count)] GUID **modes
74 HRESULT GetVideoProcessorCaps(
75 [in] GUID *mode,
76 [out] DXVA2_VideoProcessorCaps *caps
78 HRESULT GetVideoProcessorMode(
79 [out] GUID *mode
81 HRESULT SetVideoProcessorMode(
82 [in] GUID *mode
84 HRESULT GetProcAmpRange(
85 [in] DWORD prop,
86 [out] DXVA2_ValueRange *range
88 HRESULT GetProcAmpValues(
89 [in] DWORD flags,
90 [out] DXVA2_ProcAmpValues *values
92 HRESULT SetProcAmpValues(
93 [in] DWORD flags,
94 [in] DXVA2_ProcAmpValues *values
96 HRESULT GetFilteringRange(
97 [in] DWORD prop,
98 [out] DXVA2_ValueRange *range
100 HRESULT GetFilteringValue(
101 [in] DWORD prop,
102 [out] DXVA2_Fixed32 *value
104 HRESULT SetFilteringValue(
105 [in] DWORD prop,
106 [in] DXVA2_Fixed32 *value
108 HRESULT GetBackgroundColor(
109 [out] COLORREF *color
111 HRESULT SetBackgroundColor(
112 [in] COLORREF color