Signed-off-by: Nikolay Sivov nsivov@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 + ); +}