headers: Update to wine master

Signed-off-by: LIU Hao <lh_mouse@126.com>
This commit is contained in:
LIU Hao 2021-10-28 21:51:05 +08:00
parent 572d27c819
commit 0f24d21a67
2 changed files with 518 additions and 18 deletions

View File

@ -1,29 +1,404 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_EVR9
#define _INC_EVR9
/*** Autogenerated by WIDL 6.12 from include/evr9.idl - Do not edit ***/
#if (_WIN32_WINNT >= 0x0600)
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __evr9_h__
#define __evr9_h__
/* Forward declarations */
#ifndef __IMFVideoMixerBitmap_FWD_DEFINED__
#define __IMFVideoMixerBitmap_FWD_DEFINED__
typedef interface IMFVideoMixerBitmap IMFVideoMixerBitmap;
#ifdef __cplusplus
interface IMFVideoMixerBitmap;
#endif /* __cplusplus */
#endif
#ifndef __IMFVideoProcessor_FWD_DEFINED__
#define __IMFVideoProcessor_FWD_DEFINED__
typedef interface IMFVideoProcessor IMFVideoProcessor;
#ifdef __cplusplus
interface IMFVideoProcessor;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <unknwn.h>
#include <evr.h>
#include <dxva2api.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum _evr9_tag_MFVideoAlphaBitmapFlags {
MFVideoAlphaBitmap_EntireDDS = 0x00000001,
MFVideoAlphaBitmap_SrcColorKey = 0x00000002,
MFVideoAlphaBitmap_SrcRect = 0x00000004,
MFVideoAlphaBitmap_DestRect = 0x00000008,
MFVideoAlphaBitmap_FilterMode = 0x00000010,
MFVideoAlphaBitmap_Alpha = 0x00000020,
MFVideoAlphaBitmap_BitMask = 0x0000003f
typedef struct MFVideoAlphaBitmapParams {
DWORD dwFlags;
COLORREF clrSrcKey;
RECT rcSrc;
MFVideoNormalizedRect nrcDest;
FLOAT fAlpha;
DWORD dwFilterMode;
} MFVideoAlphaBitmapParams;
typedef struct MFVideoAlphaBitmap {
WINBOOL GetBitmapFromDC;
union {
HDC hdc;
IDirect3DSurface9 *pDDS;
} bitmap;
MFVideoAlphaBitmapParams params;
} MFVideoAlphaBitmap;
typedef enum __WIDL_evr9_generated_name_00000030 {
MFVideoAlphaBitmap_EntireDDS = 0x1,
MFVideoAlphaBitmap_SrcColorKey = 0x2,
MFVideoAlphaBitmap_SrcRect = 0x4,
MFVideoAlphaBitmap_DestRect = 0x8,
MFVideoAlphaBitmap_FilterMode = 0x10,
MFVideoAlphaBitmap_Alpha = 0x20,
MFVideoAlphaBitmap_BitMask = 0x3f
} MFVideoAlphaBitmapFlags;
/*****************************************************************************
* IMFVideoMixerBitmap interface
*/
#ifndef __IMFVideoMixerBitmap_INTERFACE_DEFINED__
#define __IMFVideoMixerBitmap_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("814c7b20-0fdb-4eec-af8f-f957c8f69edc")
IMFVideoMixerBitmap : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
const MFVideoAlphaBitmap *bitmap) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearAlphaBitmap(
) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
const MFVideoAlphaBitmapParams *params) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
MFVideoAlphaBitmapParams *params) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFVideoMixerBitmap, 0x814c7b20, 0x0fdb, 0x4eec, 0xaf,0x8f, 0xf9,0x57,0xc8,0xf6,0x9e,0xdc)
#endif
#else
typedef struct IMFVideoMixerBitmapVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFVideoMixerBitmap *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFVideoMixerBitmap *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFVideoMixerBitmap *This);
/*** IMFVideoMixerBitmap methods ***/
HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)(
IMFVideoMixerBitmap *This,
const MFVideoAlphaBitmap *bitmap);
HRESULT (STDMETHODCALLTYPE *ClearAlphaBitmap)(
IMFVideoMixerBitmap *This);
HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)(
IMFVideoMixerBitmap *This,
const MFVideoAlphaBitmapParams *params);
HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)(
IMFVideoMixerBitmap *This,
MFVideoAlphaBitmapParams *params);
END_INTERFACE
} IMFVideoMixerBitmapVtbl;
interface IMFVideoMixerBitmap {
CONST_VTBL IMFVideoMixerBitmapVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFVideoMixerBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFVideoMixerBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFVideoMixerBitmap_Release(This) (This)->lpVtbl->Release(This)
/*** IMFVideoMixerBitmap methods ***/
#define IMFVideoMixerBitmap_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap)
#define IMFVideoMixerBitmap_ClearAlphaBitmap(This) (This)->lpVtbl->ClearAlphaBitmap(This)
#define IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(This,params) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,params)
#define IMFVideoMixerBitmap_GetAlphaBitmapParameters(This,params) (This)->lpVtbl->GetAlphaBitmapParameters(This,params)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFVideoMixerBitmap_QueryInterface(IMFVideoMixerBitmap* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFVideoMixerBitmap_AddRef(IMFVideoMixerBitmap* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFVideoMixerBitmap_Release(IMFVideoMixerBitmap* This) {
return This->lpVtbl->Release(This);
}
/*** IMFVideoMixerBitmap methods ***/
static FORCEINLINE HRESULT IMFVideoMixerBitmap_SetAlphaBitmap(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmap *bitmap) {
return This->lpVtbl->SetAlphaBitmap(This,bitmap);
}
static FORCEINLINE HRESULT IMFVideoMixerBitmap_ClearAlphaBitmap(IMFVideoMixerBitmap* This) {
return This->lpVtbl->ClearAlphaBitmap(This);
}
static FORCEINLINE HRESULT IMFVideoMixerBitmap_UpdateAlphaBitmapParameters(IMFVideoMixerBitmap* This,const MFVideoAlphaBitmapParams *params) {
return This->lpVtbl->UpdateAlphaBitmapParameters(This,params);
}
static FORCEINLINE HRESULT IMFVideoMixerBitmap_GetAlphaBitmapParameters(IMFVideoMixerBitmap* This,MFVideoAlphaBitmapParams *params) {
return This->lpVtbl->GetAlphaBitmapParameters(This,params);
}
#endif
#endif
#endif
#endif /* __IMFVideoMixerBitmap_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFVideoProcessor interface
*/
#ifndef __IMFVideoProcessor_INTERFACE_DEFINED__
#define __IMFVideoProcessor_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6ab0000c-fece-4d1f-a2ac-a9573530656e")
IMFVideoProcessor : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoProcessorModes(
UINT *count,
GUID **modes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorCaps(
GUID *mode,
DXVA2_VideoProcessorCaps *caps) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoProcessorMode(
GUID *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoProcessorMode(
GUID *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProcAmpRange(
DWORD prop,
DXVA2_ValueRange *range) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProcAmpValues(
DWORD flags,
DXVA2_ProcAmpValues *values) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProcAmpValues(
DWORD flags,
DXVA2_ProcAmpValues *values) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFilteringRange(
DWORD prop,
DXVA2_ValueRange *range) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFilteringValue(
DWORD prop,
DXVA2_Fixed32 *value) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFilteringValue(
DWORD prop,
DXVA2_Fixed32 *value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBackgroundColor(
COLORREF *color) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBackgroundColor(
COLORREF color) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFVideoProcessor, 0x6ab0000c, 0xfece, 0x4d1f, 0xa2,0xac, 0xa9,0x57,0x35,0x30,0x65,0x6e)
#endif
#else
typedef struct IMFVideoProcessorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFVideoProcessor *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFVideoProcessor *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFVideoProcessor *This);
/*** IMFVideoProcessor methods ***/
HRESULT (STDMETHODCALLTYPE *GetAvailableVideoProcessorModes)(
IMFVideoProcessor *This,
UINT *count,
GUID **modes);
HRESULT (STDMETHODCALLTYPE *GetVideoProcessorCaps)(
IMFVideoProcessor *This,
GUID *mode,
DXVA2_VideoProcessorCaps *caps);
HRESULT (STDMETHODCALLTYPE *GetVideoProcessorMode)(
IMFVideoProcessor *This,
GUID *mode);
HRESULT (STDMETHODCALLTYPE *SetVideoProcessorMode)(
IMFVideoProcessor *This,
GUID *mode);
HRESULT (STDMETHODCALLTYPE *GetProcAmpRange)(
IMFVideoProcessor *This,
DWORD prop,
DXVA2_ValueRange *range);
HRESULT (STDMETHODCALLTYPE *GetProcAmpValues)(
IMFVideoProcessor *This,
DWORD flags,
DXVA2_ProcAmpValues *values);
HRESULT (STDMETHODCALLTYPE *SetProcAmpValues)(
IMFVideoProcessor *This,
DWORD flags,
DXVA2_ProcAmpValues *values);
HRESULT (STDMETHODCALLTYPE *GetFilteringRange)(
IMFVideoProcessor *This,
DWORD prop,
DXVA2_ValueRange *range);
HRESULT (STDMETHODCALLTYPE *GetFilteringValue)(
IMFVideoProcessor *This,
DWORD prop,
DXVA2_Fixed32 *value);
HRESULT (STDMETHODCALLTYPE *SetFilteringValue)(
IMFVideoProcessor *This,
DWORD prop,
DXVA2_Fixed32 *value);
HRESULT (STDMETHODCALLTYPE *GetBackgroundColor)(
IMFVideoProcessor *This,
COLORREF *color);
HRESULT (STDMETHODCALLTYPE *SetBackgroundColor)(
IMFVideoProcessor *This,
COLORREF color);
END_INTERFACE
} IMFVideoProcessorVtbl;
interface IMFVideoProcessor {
CONST_VTBL IMFVideoProcessorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFVideoProcessor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFVideoProcessor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFVideoProcessor_Release(This) (This)->lpVtbl->Release(This)
/*** IMFVideoProcessor methods ***/
#define IMFVideoProcessor_GetAvailableVideoProcessorModes(This,count,modes) (This)->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes)
#define IMFVideoProcessor_GetVideoProcessorCaps(This,mode,caps) (This)->lpVtbl->GetVideoProcessorCaps(This,mode,caps)
#define IMFVideoProcessor_GetVideoProcessorMode(This,mode) (This)->lpVtbl->GetVideoProcessorMode(This,mode)
#define IMFVideoProcessor_SetVideoProcessorMode(This,mode) (This)->lpVtbl->SetVideoProcessorMode(This,mode)
#define IMFVideoProcessor_GetProcAmpRange(This,prop,range) (This)->lpVtbl->GetProcAmpRange(This,prop,range)
#define IMFVideoProcessor_GetProcAmpValues(This,flags,values) (This)->lpVtbl->GetProcAmpValues(This,flags,values)
#define IMFVideoProcessor_SetProcAmpValues(This,flags,values) (This)->lpVtbl->SetProcAmpValues(This,flags,values)
#define IMFVideoProcessor_GetFilteringRange(This,prop,range) (This)->lpVtbl->GetFilteringRange(This,prop,range)
#define IMFVideoProcessor_GetFilteringValue(This,prop,value) (This)->lpVtbl->GetFilteringValue(This,prop,value)
#define IMFVideoProcessor_SetFilteringValue(This,prop,value) (This)->lpVtbl->SetFilteringValue(This,prop,value)
#define IMFVideoProcessor_GetBackgroundColor(This,color) (This)->lpVtbl->GetBackgroundColor(This,color)
#define IMFVideoProcessor_SetBackgroundColor(This,color) (This)->lpVtbl->SetBackgroundColor(This,color)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFVideoProcessor_QueryInterface(IMFVideoProcessor* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFVideoProcessor_AddRef(IMFVideoProcessor* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFVideoProcessor_Release(IMFVideoProcessor* This) {
return This->lpVtbl->Release(This);
}
/*** IMFVideoProcessor methods ***/
static FORCEINLINE HRESULT IMFVideoProcessor_GetAvailableVideoProcessorModes(IMFVideoProcessor* This,UINT *count,GUID **modes) {
return This->lpVtbl->GetAvailableVideoProcessorModes(This,count,modes);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorCaps(IMFVideoProcessor* This,GUID *mode,DXVA2_VideoProcessorCaps *caps) {
return This->lpVtbl->GetVideoProcessorCaps(This,mode,caps);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
return This->lpVtbl->GetVideoProcessorMode(This,mode);
}
static FORCEINLINE HRESULT IMFVideoProcessor_SetVideoProcessorMode(IMFVideoProcessor* This,GUID *mode) {
return This->lpVtbl->SetVideoProcessorMode(This,mode);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
return This->lpVtbl->GetProcAmpRange(This,prop,range);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
return This->lpVtbl->GetProcAmpValues(This,flags,values);
}
static FORCEINLINE HRESULT IMFVideoProcessor_SetProcAmpValues(IMFVideoProcessor* This,DWORD flags,DXVA2_ProcAmpValues *values) {
return This->lpVtbl->SetProcAmpValues(This,flags,values);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringRange(IMFVideoProcessor* This,DWORD prop,DXVA2_ValueRange *range) {
return This->lpVtbl->GetFilteringRange(This,prop,range);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
return This->lpVtbl->GetFilteringValue(This,prop,value);
}
static FORCEINLINE HRESULT IMFVideoProcessor_SetFilteringValue(IMFVideoProcessor* This,DWORD prop,DXVA2_Fixed32 *value) {
return This->lpVtbl->SetFilteringValue(This,prop,value);
}
static FORCEINLINE HRESULT IMFVideoProcessor_GetBackgroundColor(IMFVideoProcessor* This,COLORREF *color) {
return This->lpVtbl->GetBackgroundColor(This,color);
}
static FORCEINLINE HRESULT IMFVideoProcessor_SetBackgroundColor(IMFVideoProcessor* This,COLORREF color) {
return This->lpVtbl->SetBackgroundColor(This,color);
}
#endif
#endif
#endif
#endif /* __IMFVideoProcessor_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_EVR9*/
#endif /* __evr9_h__ */

View File

@ -0,0 +1,125 @@
/*
* 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;
typedef enum
{
MFVideoAlphaBitmap_EntireDDS = 0x1,
MFVideoAlphaBitmap_SrcColorKey = 0x2,
MFVideoAlphaBitmap_SrcRect = 0x4,
MFVideoAlphaBitmap_DestRect = 0x8,
MFVideoAlphaBitmap_FilterMode = 0x10,
MFVideoAlphaBitmap_Alpha = 0x20,
MFVideoAlphaBitmap_BitMask = 0x3f
} MFVideoAlphaBitmapFlags;
[
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
);
}