include: Add some more EVR mixer interfaces.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2020-06-25 17:57:57 +03:00 committed by Alexandre Julliard
parent 23db5357bb
commit 1f57af100f
2 changed files with 115 additions and 0 deletions

View File

@ -276,6 +276,7 @@ SOURCES = \
evntprov.h \
evntrace.h \
evr.idl \
evr9.idl \
excpt.h \
exdisp.idl \
exdispid.h \

114
include/evr9.idl Normal file
View File

@ -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
);
}