mingw-w64/mingw-w64-headers/direct-x/include/vmr9.h

2444 lines
82 KiB
C
Raw Normal View History

/*** Autogenerated by WIDL 1.1.44 from vmr9.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef __WIDL_VMR9_H
#define __WIDL_VMR9_H
#ifdef __cplusplus
extern "C" {
#endif
/* Headers for imported files */
#include <unknwn.h>
/* Forward declarations */
#ifndef __IVMRImagePresenter9_FWD_DEFINED__
#define __IVMRImagePresenter9_FWD_DEFINED__
typedef interface IVMRImagePresenter9 IVMRImagePresenter9;
#endif
#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__
#define __IVMRSurfaceAllocator9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9;
#endif
#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__
#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9;
#endif
#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9;
#endif
#ifndef __IVMRWindowlessControl9_FWD_DEFINED__
#define __IVMRWindowlessControl9_FWD_DEFINED__
typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9;
#endif
#ifndef __IVMRMixerControl9_FWD_DEFINED__
#define __IVMRMixerControl9_FWD_DEFINED__
typedef interface IVMRMixerControl9 IVMRMixerControl9;
#endif
#ifndef __IVMRMixerBitmap9_FWD_DEFINED__
#define __IVMRMixerBitmap9_FWD_DEFINED__
typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9;
#endif
#ifndef __IVMRSurface9_FWD_DEFINED__
#define __IVMRSurface9_FWD_DEFINED__
typedef interface IVMRSurface9 IVMRSurface9;
#endif
#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__
#define __IVMRImagePresenterConfig9_FWD_DEFINED__
typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9;
#endif
#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__
#define __IVMRVideoStreamControl9_FWD_DEFINED__
typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9;
#endif
#ifndef __IVMRFilterConfig9_FWD_DEFINED__
#define __IVMRFilterConfig9_FWD_DEFINED__
typedef interface IVMRFilterConfig9 IVMRFilterConfig9;
#endif
#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__
#define __IVMRAspectRatioControl9_FWD_DEFINED__
typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9;
#endif
#ifndef __IVMRMonitorConfig9_FWD_DEFINED__
#define __IVMRMonitorConfig9_FWD_DEFINED__
typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9;
#endif
#ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__
#define __IVMRDeinterlaceControl9_FWD_DEFINED__
typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9;
#endif
#ifndef __IVMRImageCompositor9_FWD_DEFINED__
#define __IVMRImageCompositor9_FWD_DEFINED__
typedef interface IVMRImageCompositor9 IVMRImageCompositor9;
#endif
#if 0
#ifndef __IDirect3DSurface9_FWD_DEFINED__
#define __IDirect3DSurface9_FWD_DEFINED__
typedef interface IDirect3DSurface9 IDirect3DSurface9;
#endif
#ifndef __IDirect3DDevice9_FWD_DEFINED__
#define __IDirect3DDevice9_FWD_DEFINED__
typedef interface IDirect3DDevice9 IDirect3DDevice9;
#endif
typedef LONGLONG REFERENCE_TIME;
typedef DWORD D3DFORMAT;
typedef DWORD D3DPOOL;
typedef HANDLE HMONITOR;
typedef struct __WIDL_vmr9_generated_name_00000000 {
char dummy;
} AM_MEDIA_TYPE;
typedef struct __WIDL_vmr9_generated_name_00000001 {
char dummy;
} D3DCOLOR;
#endif
#ifndef __IVMRSurface9_FWD_DEFINED__
#define __IVMRSurface9_FWD_DEFINED__
typedef interface IVMRSurface9 IVMRSurface9;
#endif
#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__
#define __IVMRSurfaceAllocator9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9;
#endif
#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__
#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9;
#endif
#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__
typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9;
#endif
#ifndef __IVMRImagePresenter9_FWD_DEFINED__
#define __IVMRImagePresenter9_FWD_DEFINED__
typedef interface IVMRImagePresenter9 IVMRImagePresenter9;
#endif
#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__
#define __IVMRImagePresenterConfig9_FWD_DEFINED__
typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9;
#endif
#ifndef __IVMRMonitorConfig9_FWD_DEFINED__
#define __IVMRMonitorConfig9_FWD_DEFINED__
typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9;
#endif
#ifndef __IVMRWindowlessControl9_FWD_DEFINED__
#define __IVMRWindowlessControl9_FWD_DEFINED__
typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9;
#endif
#ifndef __IVMRMixerControl9_FWD_DEFINED__
#define __IVMRMixerControl9_FWD_DEFINED__
typedef interface IVMRMixerControl9 IVMRMixerControl9;
#endif
#ifndef __IVMRImageCompositor9_FWD_DEFINED__
#define __IVMRImageCompositor9_FWD_DEFINED__
typedef interface IVMRImageCompositor9 IVMRImageCompositor9;
#endif
#ifndef __IVMRMixerBitmap9_FWD_DEFINED__
#define __IVMRMixerBitmap9_FWD_DEFINED__
typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9;
#endif
#ifndef __IVMRFilterConfig9_FWD_DEFINED__
#define __IVMRFilterConfig9_FWD_DEFINED__
typedef interface IVMRFilterConfig9 IVMRFilterConfig9;
#endif
#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__
#define __IVMRAspectRatioControl9_FWD_DEFINED__
typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9;
#endif
#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__
#define __IVMRVideoStreamControl9_FWD_DEFINED__
typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9;
#endif
typedef enum _VMR9PresentationFlags {
VMR9Sample_SyncPoint = 0x1,
VMR9Sample_Preroll = 0x2,
VMR9Sample_Discontinuity = 0x4,
VMR9Sample_TimeValid = 0x8,
VMR9Sample_SrcDstRectsValid = 0x10
} VMR9PresentationFlags;
typedef struct _VMR9PresentationInfo {
DWORD dwFlags;
IDirect3DSurface9 *lpSurf;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
SIZE szAspectRatio;
RECT rcSrc;
RECT rcDst;
DWORD dwReserved1;
DWORD dwReserved2;
} VMR9PresentationInfo;
/*****************************************************************************
* IVMRImagePresenter9 interface
*/
#ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__
#define __IVMRImagePresenter9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRImagePresenter9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE StartPresenting(
DWORD_PTR id) = 0;
virtual HRESULT STDMETHODCALLTYPE StopPresenting(
DWORD_PTR id) = 0;
virtual HRESULT STDMETHODCALLTYPE PresentImage(
DWORD_PTR id,
VMR9PresentationInfo *info) = 0;
};
#else
typedef struct IVMRImagePresenter9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRImagePresenter9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRImagePresenter9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRImagePresenter9* This);
/*** IVMRImagePresenter9 methods ***/
HRESULT (STDMETHODCALLTYPE *StartPresenting)(
IVMRImagePresenter9* This,
DWORD_PTR id);
HRESULT (STDMETHODCALLTYPE *StopPresenting)(
IVMRImagePresenter9* This,
DWORD_PTR id);
HRESULT (STDMETHODCALLTYPE *PresentImage)(
IVMRImagePresenter9* This,
DWORD_PTR id,
VMR9PresentationInfo *info);
END_INTERFACE
} IVMRImagePresenter9Vtbl;
interface IVMRImagePresenter9 {
CONST_VTBL IVMRImagePresenter9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRImagePresenter9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRImagePresenter9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRImagePresenter9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRImagePresenter9 methods ***/
#define IVMRImagePresenter9_StartPresenting(This,id) (This)->lpVtbl->StartPresenting(This,id)
#define IVMRImagePresenter9_StopPresenting(This,id) (This)->lpVtbl->StopPresenting(This,id)
#define IVMRImagePresenter9_PresentImage(This,id,info) (This)->lpVtbl->PresentImage(This,id,info)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StartPresenting_Proxy(
IVMRImagePresenter9* This,
DWORD_PTR id);
void __RPC_STUB IVMRImagePresenter9_StartPresenting_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_StopPresenting_Proxy(
IVMRImagePresenter9* This,
DWORD_PTR id);
void __RPC_STUB IVMRImagePresenter9_StopPresenting_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRImagePresenter9_PresentImage_Proxy(
IVMRImagePresenter9* This,
DWORD_PTR id,
VMR9PresentationInfo *info);
void __RPC_STUB IVMRImagePresenter9_PresentImage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */
typedef enum _VMR9SurfaceAllocationFlags {
VMR9AllocFlag_3DRenderTarget = 0x1,
VMR9AllocFlag_DXVATarget = 0x2,
VMR9AllocFlag_TextureSurface = 0x4,
VMR9AllocFlag_OffscreenSurface = 0x8,
VMR9AllocFlag_RGBDynamicSwitch = 0x10,
VMR9AllocFlag_UsageReserved = 0xe0,
VMR9AllocFlag_UsageMask = 0xff
} VMR9SurfaceAllocationFlags;
typedef struct _VMR9AllocationInfo {
DWORD dwFlags;
DWORD dwWidth;
DWORD dwHeight;
D3DFORMAT Format;
D3DPOOL Pool;
DWORD MinBuffers;
SIZE szAspectRatio;
SIZE szNativeSize;
} VMR9AllocationInfo;
/*****************************************************************************
* IVMRSurfaceAllocator9 interface
*/
#ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__
#define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRSurfaceAllocator9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitializeDevice(
DWORD_PTR id,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateDevice(
DWORD_PTR id) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSurface(
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface) = 0;
virtual HRESULT STDMETHODCALLTYPE AdviseNotify(
IVMRSurfaceAllocatorNotify9 *allocnotify) = 0;
};
#else
typedef struct IVMRSurfaceAllocator9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRSurfaceAllocator9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRSurfaceAllocator9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRSurfaceAllocator9* This);
/*** IVMRSurfaceAllocator9 methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeDevice)(
IVMRSurfaceAllocator9* This,
DWORD_PTR id,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers);
HRESULT (STDMETHODCALLTYPE *TerminateDevice)(
IVMRSurfaceAllocator9* This,
DWORD_PTR id);
HRESULT (STDMETHODCALLTYPE *GetSurface)(
IVMRSurfaceAllocator9* This,
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface);
HRESULT (STDMETHODCALLTYPE *AdviseNotify)(
IVMRSurfaceAllocator9* This,
IVMRSurfaceAllocatorNotify9 *allocnotify);
END_INTERFACE
} IVMRSurfaceAllocator9Vtbl;
interface IVMRSurfaceAllocator9 {
CONST_VTBL IVMRSurfaceAllocator9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRSurfaceAllocator9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRSurfaceAllocator9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRSurfaceAllocator9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRSurfaceAllocator9 methods ***/
#define IVMRSurfaceAllocator9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers)
#define IVMRSurfaceAllocator9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id)
#define IVMRSurfaceAllocator9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface)
#define IVMRSurfaceAllocator9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_InitializeDevice_Proxy(
IVMRSurfaceAllocator9* This,
DWORD_PTR id,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers);
void __RPC_STUB IVMRSurfaceAllocator9_InitializeDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_TerminateDevice_Proxy(
IVMRSurfaceAllocator9* This,
DWORD_PTR id);
void __RPC_STUB IVMRSurfaceAllocator9_TerminateDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_GetSurface_Proxy(
IVMRSurfaceAllocator9* This,
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface);
void __RPC_STUB IVMRSurfaceAllocator9_GetSurface_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator9_AdviseNotify_Proxy(
IVMRSurfaceAllocator9* This,
IVMRSurfaceAllocatorNotify9 *allocnotify);
void __RPC_STUB IVMRSurfaceAllocator9_AdviseNotify_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVMRSurfaceAllocatorEx9 interface
*/
#ifndef __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__
#define __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRSurfaceAllocatorEx9 : public IVMRSurfaceAllocator9
{
virtual HRESULT STDMETHODCALLTYPE GetSurfaceEx(
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface,
RECT *dest) = 0;
};
#else
typedef struct IVMRSurfaceAllocatorEx9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRSurfaceAllocatorEx9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRSurfaceAllocatorEx9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRSurfaceAllocatorEx9* This);
/*** IVMRSurfaceAllocator9 methods ***/
HRESULT (STDMETHODCALLTYPE *InitializeDevice)(
IVMRSurfaceAllocatorEx9* This,
DWORD_PTR id,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers);
HRESULT (STDMETHODCALLTYPE *TerminateDevice)(
IVMRSurfaceAllocatorEx9* This,
DWORD_PTR id);
HRESULT (STDMETHODCALLTYPE *GetSurface)(
IVMRSurfaceAllocatorEx9* This,
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface);
HRESULT (STDMETHODCALLTYPE *AdviseNotify)(
IVMRSurfaceAllocatorEx9* This,
IVMRSurfaceAllocatorNotify9 *allocnotify);
/*** IVMRSurfaceAllocatorEx9 methods ***/
HRESULT (STDMETHODCALLTYPE *GetSurfaceEx)(
IVMRSurfaceAllocatorEx9* This,
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface,
RECT *dest);
END_INTERFACE
} IVMRSurfaceAllocatorEx9Vtbl;
interface IVMRSurfaceAllocatorEx9 {
CONST_VTBL IVMRSurfaceAllocatorEx9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRSurfaceAllocatorEx9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRSurfaceAllocatorEx9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRSurfaceAllocatorEx9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRSurfaceAllocator9 methods ***/
#define IVMRSurfaceAllocatorEx9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers)
#define IVMRSurfaceAllocatorEx9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id)
#define IVMRSurfaceAllocatorEx9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface)
#define IVMRSurfaceAllocatorEx9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify)
/*** IVMRSurfaceAllocatorEx9 methods ***/
#define IVMRSurfaceAllocatorEx9_GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) (This)->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorEx9_GetSurfaceEx_Proxy(
IVMRSurfaceAllocatorEx9* This,
DWORD_PTR id,
DWORD surfaceindex,
DWORD flags,
IDirect3DSurface9 **surface,
RECT *dest);
void __RPC_STUB IVMRSurfaceAllocatorEx9_GetSurfaceEx_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVMRSurfaceAllocatorNotify9 interface
*/
#ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__
#define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRSurfaceAllocatorNotify9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator(
DWORD_PTR id,
IVMRSurfaceAllocator9 *alloc) = 0;
virtual HRESULT STDMETHODCALLTYPE SetD3DDevice(
IDirect3DDevice9 *device,
HMONITOR monitor) = 0;
virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice(
IDirect3DDevice9 *device,
HMONITOR monitor) = 0;
virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper(
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers,
IDirect3DSurface9 **surface) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyEvent(
LONG code,
LONG_PTR param1,
LONG_PTR param2) = 0;
};
#else
typedef struct IVMRSurfaceAllocatorNotify9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRSurfaceAllocatorNotify9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRSurfaceAllocatorNotify9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRSurfaceAllocatorNotify9* This);
/*** IVMRSurfaceAllocatorNotify9 methods ***/
HRESULT (STDMETHODCALLTYPE *AdviseSurfaceAllocator)(
IVMRSurfaceAllocatorNotify9* This,
DWORD_PTR id,
IVMRSurfaceAllocator9 *alloc);
HRESULT (STDMETHODCALLTYPE *SetD3DDevice)(
IVMRSurfaceAllocatorNotify9* This,
IDirect3DDevice9 *device,
HMONITOR monitor);
HRESULT (STDMETHODCALLTYPE *ChangeD3DDevice)(
IVMRSurfaceAllocatorNotify9* This,
IDirect3DDevice9 *device,
HMONITOR monitor);
HRESULT (STDMETHODCALLTYPE *AllocateSurfaceHelper)(
IVMRSurfaceAllocatorNotify9* This,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers,
IDirect3DSurface9 **surface);
HRESULT (STDMETHODCALLTYPE *NotifyEvent)(
IVMRSurfaceAllocatorNotify9* This,
LONG code,
LONG_PTR param1,
LONG_PTR param2);
END_INTERFACE
} IVMRSurfaceAllocatorNotify9Vtbl;
interface IVMRSurfaceAllocatorNotify9 {
CONST_VTBL IVMRSurfaceAllocatorNotify9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRSurfaceAllocatorNotify9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRSurfaceAllocatorNotify9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRSurfaceAllocatorNotify9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRSurfaceAllocatorNotify9 methods ***/
#define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,id,alloc) (This)->lpVtbl->AdviseSurfaceAllocator(This,id,alloc)
#define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,device,monitor) (This)->lpVtbl->SetD3DDevice(This,device,monitor)
#define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,device,monitor) (This)->lpVtbl->ChangeD3DDevice(This,device,monitor)
#define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) (This)->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface)
#define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,code,param1,param2) (This)->lpVtbl->NotifyEvent(This,code,param1,param2)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Proxy(
IVMRSurfaceAllocatorNotify9* This,
DWORD_PTR id,
IVMRSurfaceAllocator9 *alloc);
void __RPC_STUB IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_SetD3DDevice_Proxy(
IVMRSurfaceAllocatorNotify9* This,
IDirect3DDevice9 *device,
HMONITOR monitor);
void __RPC_STUB IVMRSurfaceAllocatorNotify9_SetD3DDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Proxy(
IVMRSurfaceAllocatorNotify9* This,
IDirect3DDevice9 *device,
HMONITOR monitor);
void __RPC_STUB IVMRSurfaceAllocatorNotify9_ChangeD3DDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Proxy(
IVMRSurfaceAllocatorNotify9* This,
VMR9AllocationInfo *allocinfo,
DWORD *numbuffers,
IDirect3DSurface9 **surface);
void __RPC_STUB IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify9_NotifyEvent_Proxy(
IVMRSurfaceAllocatorNotify9* This,
LONG code,
LONG_PTR param1,
LONG_PTR param2);
void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */
typedef enum _VMR9AspectRatioMode {
VMR9ARMode_None = 0,
VMR9ARMode_LetterBox = 1
} VMR9AspectRatioMode;
/*****************************************************************************
* IVMRWindowlessControl9 interface
*/
#ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__
#define __IVMRWindowlessControl9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRWindowlessControl9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
LONG *width,
LONG *height,
LONG *arwidth,
LONG *arheight) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(
LONG *width,
LONG *height) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(
LONG *width,
LONG *height) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
const RECT *source,
const RECT *dest) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
RECT *source,
RECT *dest) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
DWORD *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
DWORD mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
HWND hwnd,
HDC hdc) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
BYTE **dib) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
COLORREF color) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
COLORREF *color) = 0;
};
#else
typedef struct IVMRWindowlessControl9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRWindowlessControl9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRWindowlessControl9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRWindowlessControl9* This);
/*** IVMRWindowlessControl9 methods ***/
HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height,
LONG *arwidth,
LONG *arheight);
HRESULT (STDMETHODCALLTYPE *GetMinIdealVideoSize)(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height);
HRESULT (STDMETHODCALLTYPE *GetMaxIdealVideoSize)(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height);
HRESULT (STDMETHODCALLTYPE *SetVideoPosition)(
IVMRWindowlessControl9* This,
const RECT *source,
const RECT *dest);
HRESULT (STDMETHODCALLTYPE *GetVideoPosition)(
IVMRWindowlessControl9* This,
RECT *source,
RECT *dest);
HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)(
IVMRWindowlessControl9* This,
DWORD *mode);
HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)(
IVMRWindowlessControl9* This,
DWORD mode);
HRESULT (STDMETHODCALLTYPE *SetVideoClippingWindow)(
IVMRWindowlessControl9* This,
HWND hwnd);
HRESULT (STDMETHODCALLTYPE *RepaintVideo)(
IVMRWindowlessControl9* This,
HWND hwnd,
HDC hdc);
HRESULT (STDMETHODCALLTYPE *DisplayModeChanged)(
IVMRWindowlessControl9* This);
HRESULT (STDMETHODCALLTYPE *GetCurrentImage)(
IVMRWindowlessControl9* This,
BYTE **dib);
HRESULT (STDMETHODCALLTYPE *SetBorderColor)(
IVMRWindowlessControl9* This,
COLORREF color);
HRESULT (STDMETHODCALLTYPE *GetBorderColor)(
IVMRWindowlessControl9* This,
COLORREF *color);
END_INTERFACE
} IVMRWindowlessControl9Vtbl;
interface IVMRWindowlessControl9 {
CONST_VTBL IVMRWindowlessControl9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRWindowlessControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRWindowlessControl9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRWindowlessControl9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRWindowlessControl9 methods ***/
#define IVMRWindowlessControl9_GetNativeVideoSize(This,width,height,arwidth,arheight) (This)->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight)
#define IVMRWindowlessControl9_GetMinIdealVideoSize(This,width,height) (This)->lpVtbl->GetMinIdealVideoSize(This,width,height)
#define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,width,height) (This)->lpVtbl->GetMaxIdealVideoSize(This,width,height)
#define IVMRWindowlessControl9_SetVideoPosition(This,source,dest) (This)->lpVtbl->SetVideoPosition(This,source,dest)
#define IVMRWindowlessControl9_GetVideoPosition(This,source,dest) (This)->lpVtbl->GetVideoPosition(This,source,dest)
#define IVMRWindowlessControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode)
#define IVMRWindowlessControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode)
#define IVMRWindowlessControl9_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd)
#define IVMRWindowlessControl9_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc)
#define IVMRWindowlessControl9_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This)
#define IVMRWindowlessControl9_GetCurrentImage(This,dib) (This)->lpVtbl->GetCurrentImage(This,dib)
#define IVMRWindowlessControl9_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color)
#define IVMRWindowlessControl9_GetBorderColor(This,color) (This)->lpVtbl->GetBorderColor(This,color)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height,
LONG *arwidth,
LONG *arheight);
void __RPC_STUB IVMRWindowlessControl9_GetNativeVideoSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height);
void __RPC_STUB IVMRWindowlessControl9_GetMinIdealVideoSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy(
IVMRWindowlessControl9* This,
LONG *width,
LONG *height);
void __RPC_STUB IVMRWindowlessControl9_GetMaxIdealVideoSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy(
IVMRWindowlessControl9* This,
const RECT *source,
const RECT *dest);
void __RPC_STUB IVMRWindowlessControl9_SetVideoPosition_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy(
IVMRWindowlessControl9* This,
RECT *source,
RECT *dest);
void __RPC_STUB IVMRWindowlessControl9_GetVideoPosition_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy(
IVMRWindowlessControl9* This,
DWORD *mode);
void __RPC_STUB IVMRWindowlessControl9_GetAspectRatioMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy(
IVMRWindowlessControl9* This,
DWORD mode);
void __RPC_STUB IVMRWindowlessControl9_SetAspectRatioMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy(
IVMRWindowlessControl9* This,
HWND hwnd);
void __RPC_STUB IVMRWindowlessControl9_SetVideoClippingWindow_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy(
IVMRWindowlessControl9* This,
HWND hwnd,
HDC hdc);
void __RPC_STUB IVMRWindowlessControl9_RepaintVideo_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_DisplayModeChanged_Proxy(
IVMRWindowlessControl9* This);
void __RPC_STUB IVMRWindowlessControl9_DisplayModeChanged_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetCurrentImage_Proxy(
IVMRWindowlessControl9* This,
BYTE **dib);
void __RPC_STUB IVMRWindowlessControl9_GetCurrentImage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy(
IVMRWindowlessControl9* This,
COLORREF color);
void __RPC_STUB IVMRWindowlessControl9_SetBorderColor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy(
IVMRWindowlessControl9* This,
COLORREF *color);
void __RPC_STUB IVMRWindowlessControl9_GetBorderColor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */
typedef enum _VMR9MixerPrefs {
MixerPref9_NoDecimation = 0x1,
MixerPref9_DecimateOutput = 0x2,
MixerPref9_ARAdjustXorY = 0x4,
MixerPref9_NonSquareMixing = 0x8,
MixerPref9_DecimateMask = 0xf,
MixerPref9_BiLinearFiltering = 0x10,
MixerPref9_PointFiltering = 0x20,
MixerPref9_AnisotropicFiltering = 0x40,
MixerPref9_PyramidalQuadFiltering = 0x80,
MixerPref9_GaussianQuadFiltering = 0x100,
MixerPref9_FilteringReserved = 0xe00,
MixerPref9_FilteringMask = 0xff0,
MixerPref9_RenderTargetRGB = 0x1000,
MixerPref9_RenderTargetYUV = 0x2000,
MixerPref9_RenderTargetReserved = 0xfc000,
MixerPref9_DynamicSwitchToBOB = 0x100000,
MixerPref9_DynamicDecimateBy2 = 0x200000,
MixerPref9_DynamicReserved = 0xc00000,
MixerPref9_DynamicMask = 0xf00000
} VMR9MixerPrefs;
typedef struct _VMR9NormalizedRect {
FLOAT left;
FLOAT top;
FLOAT right;
FLOAT bottom;
} VMR9NormalizedRect;
typedef enum _VMR9ProcAmpControlFlags {
ProcAmpControl9_Brightness = 0x1,
ProcAmpControl9_Contrast = 0x2,
ProcAmpControl9_Hue = 0x4,
ProcAmpControl9_Saturation = 0x8,
ProcAmpControl9_Mask = 0xf
} VMR9ProcAmpControlFlags;
typedef struct _VMR9ProcAmpControl {
DWORD dwSize;
DWORD dwFlags;
FLOAT Brightness;
FLOAT Contrast;
FLOAT Hue;
FLOAT Saturation;
} VMR9ProcAmpControl;
typedef struct _VMR9ProcAmpControlRange {
DWORD dwSize;
VMR9ProcAmpControlFlags dwProperty;
FLOAT MinValue;
FLOAT MaxValue;
FLOAT DefaultValue;
FLOAT StepSize;
} VMR9ProcAmpControlRange;
/*****************************************************************************
* IVMRMixerControl9 interface
*/
#ifndef __IVMRMixerControl9_INTERFACE_DEFINED__
#define __IVMRMixerControl9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRMixerControl9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAlpha(
DWORD streamid,
FLOAT alpha) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAlpha(
DWORD streamid,
FLOAT *alpha) = 0;
virtual HRESULT STDMETHODCALLTYPE SetZOrder(
DWORD streamid,
DWORD zorder) = 0;
virtual HRESULT STDMETHODCALLTYPE GetZOrder(
DWORD streamid,
DWORD *zorder) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputRect(
DWORD streamid,
const VMR9NormalizedRect *rect) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputRect(
DWORD streamid,
VMR9NormalizedRect *rect) = 0;
virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(
COLORREF back) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(
COLORREF *back) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
DWORD mixingprefs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
DWORD *mixingprefs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl(
DWORD streamid,
VMR9ProcAmpControl *control) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl(
DWORD streamid,
VMR9ProcAmpControl *control) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange(
DWORD streamid,
VMR9ProcAmpControlRange *controlrange) = 0;
};
#else
typedef struct IVMRMixerControl9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRMixerControl9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRMixerControl9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRMixerControl9* This);
/*** IVMRMixerControl9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetAlpha)(
IVMRMixerControl9* This,
DWORD streamid,
FLOAT alpha);
HRESULT (STDMETHODCALLTYPE *GetAlpha)(
IVMRMixerControl9* This,
DWORD streamid,
FLOAT *alpha);
HRESULT (STDMETHODCALLTYPE *SetZOrder)(
IVMRMixerControl9* This,
DWORD streamid,
DWORD zorder);
HRESULT (STDMETHODCALLTYPE *GetZOrder)(
IVMRMixerControl9* This,
DWORD streamid,
DWORD *zorder);
HRESULT (STDMETHODCALLTYPE *SetOutputRect)(
IVMRMixerControl9* This,
DWORD streamid,
const VMR9NormalizedRect *rect);
HRESULT (STDMETHODCALLTYPE *GetOutputRect)(
IVMRMixerControl9* This,
DWORD streamid,
VMR9NormalizedRect *rect);
HRESULT (STDMETHODCALLTYPE *SetBackgroundClr)(
IVMRMixerControl9* This,
COLORREF back);
HRESULT (STDMETHODCALLTYPE *GetBackgroundClr)(
IVMRMixerControl9* This,
COLORREF *back);
HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)(
IVMRMixerControl9* This,
DWORD mixingprefs);
HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)(
IVMRMixerControl9* This,
DWORD *mixingprefs);
HRESULT (STDMETHODCALLTYPE *SetProcAmpControl)(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControl *control);
HRESULT (STDMETHODCALLTYPE *GetProcAmpControl)(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControl *control);
HRESULT (STDMETHODCALLTYPE *GetProcAmpControlRange)(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControlRange *controlrange);
END_INTERFACE
} IVMRMixerControl9Vtbl;
interface IVMRMixerControl9 {
CONST_VTBL IVMRMixerControl9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRMixerControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRMixerControl9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRMixerControl9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRMixerControl9 methods ***/
#define IVMRMixerControl9_SetAlpha(This,streamid,alpha) (This)->lpVtbl->SetAlpha(This,streamid,alpha)
#define IVMRMixerControl9_GetAlpha(This,streamid,alpha) (This)->lpVtbl->GetAlpha(This,streamid,alpha)
#define IVMRMixerControl9_SetZOrder(This,streamid,zorder) (This)->lpVtbl->SetZOrder(This,streamid,zorder)
#define IVMRMixerControl9_GetZOrder(This,streamid,zorder) (This)->lpVtbl->GetZOrder(This,streamid,zorder)
#define IVMRMixerControl9_SetOutputRect(This,streamid,rect) (This)->lpVtbl->SetOutputRect(This,streamid,rect)
#define IVMRMixerControl9_GetOutputRect(This,streamid,rect) (This)->lpVtbl->GetOutputRect(This,streamid,rect)
#define IVMRMixerControl9_SetBackgroundClr(This,back) (This)->lpVtbl->SetBackgroundClr(This,back)
#define IVMRMixerControl9_GetBackgroundClr(This,back) (This)->lpVtbl->GetBackgroundClr(This,back)
#define IVMRMixerControl9_SetMixingPrefs(This,mixingprefs) (This)->lpVtbl->SetMixingPrefs(This,mixingprefs)
#define IVMRMixerControl9_GetMixingPrefs(This,mixingprefs) (This)->lpVtbl->GetMixingPrefs(This,mixingprefs)
#define IVMRMixerControl9_SetProcAmpControl(This,streamid,control) (This)->lpVtbl->SetProcAmpControl(This,streamid,control)
#define IVMRMixerControl9_GetProcAmpControl(This,streamid,control) (This)->lpVtbl->GetProcAmpControl(This,streamid,control)
#define IVMRMixerControl9_GetProcAmpControlRange(This,streamid,controlrange) (This)->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
FLOAT alpha);
void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
FLOAT *alpha);
void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
DWORD zorder);
void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
DWORD *zorder);
void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
const VMR9NormalizedRect *rect);
void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
VMR9NormalizedRect *rect);
void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy(
IVMRMixerControl9* This,
COLORREF back);
void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy(
IVMRMixerControl9* This,
COLORREF *back);
void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy(
IVMRMixerControl9* This,
DWORD mixingprefs);
void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy(
IVMRMixerControl9* This,
DWORD *mixingprefs);
void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControl *control);
void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControl *control);
void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy(
IVMRMixerControl9* This,
DWORD streamid,
VMR9ProcAmpControlRange *controlrange);
void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRMixerControl9_INTERFACE_DEFINED__ */
typedef struct _VMR9AlphaBitmap {
DWORD dwFlags;
HDC hdc;
IDirect3DSurface9 *pDDS;
RECT rSrc;
VMR9NormalizedRect *rDest;
FLOAT fAlpha;
COLORREF clrSrcKey;
DWORD dwFilterMode;
} VMR9AlphaBitmap;
typedef enum _VMR9AlphaBitmapFlags {
VMR9AlphaBitmap_Disable = 0x1,
VMR9AlphaBitmap_hDC = 0x2,
VMR9AlphaBitmap_EntireDDS = 0x4,
VMR9AlphaBitmap_SrcColorKey = 0x8,
VMR9AlphaBitmap_SrcRect = 0x10,
VMR9AlphaBitmap_FilterMode = 0x20
} VMR9AlphaBitmapFlags;
/*****************************************************************************
* IVMRMixerBitmap9 interface
*/
#ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__
#define __IVMRMixerBitmap9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRMixerBitmap9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap(
const VMR9AlphaBitmap *bitmap) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters(
const VMR9AlphaBitmap *bitmap) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters(
VMR9AlphaBitmap *bitmap) = 0;
};
#else
typedef struct IVMRMixerBitmap9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRMixerBitmap9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRMixerBitmap9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRMixerBitmap9* This);
/*** IVMRMixerBitmap9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)(
IVMRMixerBitmap9* This,
const VMR9AlphaBitmap *bitmap);
HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)(
IVMRMixerBitmap9* This,
const VMR9AlphaBitmap *bitmap);
HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)(
IVMRMixerBitmap9* This,
VMR9AlphaBitmap *bitmap);
END_INTERFACE
} IVMRMixerBitmap9Vtbl;
interface IVMRMixerBitmap9 {
CONST_VTBL IVMRMixerBitmap9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRMixerBitmap9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRMixerBitmap9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRMixerBitmap9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRMixerBitmap9 methods ***/
#define IVMRMixerBitmap9_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap)
#define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap)
#define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->GetAlphaBitmapParameters(This,bitmap)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_SetAlphaBitmap_Proxy(
IVMRMixerBitmap9* This,
const VMR9AlphaBitmap *bitmap);
void __RPC_STUB IVMRMixerBitmap9_SetAlphaBitmap_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Proxy(
IVMRMixerBitmap9* This,
const VMR9AlphaBitmap *bitmap);
void __RPC_STUB IVMRMixerBitmap9_UpdateAlphaBitmapParameters_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMixerBitmap9_GetAlphaBitmapParameters_Proxy(
IVMRMixerBitmap9* This,
VMR9AlphaBitmap *bitmap);
void __RPC_STUB IVMRMixerBitmap9_GetAlphaBitmapParameters_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVMRSurface9 interface
*/
#ifndef __IVMRSurface9_INTERFACE_DEFINED__
#define __IVMRSurface9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRSurface9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked(
) = 0;
virtual HRESULT STDMETHODCALLTYPE LockSurface(
BYTE **surface) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockSurface(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSurface(
IDirect3DSurface9 **surface) = 0;
};
#else
typedef struct IVMRSurface9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRSurface9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRSurface9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRSurface9* This);
/*** IVMRSurface9 methods ***/
HRESULT (STDMETHODCALLTYPE *IsSurfaceLocked)(
IVMRSurface9* This);
HRESULT (STDMETHODCALLTYPE *LockSurface)(
IVMRSurface9* This,
BYTE **surface);
HRESULT (STDMETHODCALLTYPE *UnlockSurface)(
IVMRSurface9* This);
HRESULT (STDMETHODCALLTYPE *GetSurface)(
IVMRSurface9* This,
IDirect3DSurface9 **surface);
END_INTERFACE
} IVMRSurface9Vtbl;
interface IVMRSurface9 {
CONST_VTBL IVMRSurface9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRSurface9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRSurface9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRSurface9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRSurface9 methods ***/
#define IVMRSurface9_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This)
#define IVMRSurface9_LockSurface(This,surface) (This)->lpVtbl->LockSurface(This,surface)
#define IVMRSurface9_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This)
#define IVMRSurface9_GetSurface(This,surface) (This)->lpVtbl->GetSurface(This,surface)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRSurface9_IsSurfaceLocked_Proxy(
IVMRSurface9* This);
void __RPC_STUB IVMRSurface9_IsSurfaceLocked_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurface9_LockSurface_Proxy(
IVMRSurface9* This,
BYTE **surface);
void __RPC_STUB IVMRSurface9_LockSurface_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurface9_UnlockSurface_Proxy(
IVMRSurface9* This);
void __RPC_STUB IVMRSurface9_UnlockSurface_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRSurface9_GetSurface_Proxy(
IVMRSurface9* This,
IDirect3DSurface9 **surface);
void __RPC_STUB IVMRSurface9_GetSurface_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRSurface9_INTERFACE_DEFINED__ */
typedef enum _VMR9RenderPrefs {
RenderPrefs9_DoNotRenderBorder = 0x1,
RenderPrefs9_Mask = 0x1
} VMR9RenderPrefs;
/*****************************************************************************
* IVMRImagePresenterConfig9 interface
*/
#ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__
#define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRImagePresenterConfig9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
DWORD renderflags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
DWORD *renderflags) = 0;
};
#else
typedef struct IVMRImagePresenterConfig9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRImagePresenterConfig9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRImagePresenterConfig9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRImagePresenterConfig9* This);
/*** IVMRImagePresenterConfig9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)(
IVMRImagePresenterConfig9* This,
DWORD renderflags);
HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)(
IVMRImagePresenterConfig9* This,
DWORD *renderflags);
END_INTERFACE
} IVMRImagePresenterConfig9Vtbl;
interface IVMRImagePresenterConfig9 {
CONST_VTBL IVMRImagePresenterConfig9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRImagePresenterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRImagePresenterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRImagePresenterConfig9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRImagePresenterConfig9 methods ***/
#define IVMRImagePresenterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags)
#define IVMRImagePresenterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_SetRenderingPrefs_Proxy(
IVMRImagePresenterConfig9* This,
DWORD renderflags);
void __RPC_STUB IVMRImagePresenterConfig9_SetRenderingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig9_GetRenderingPrefs_Proxy(
IVMRImagePresenterConfig9* This,
DWORD *renderflags);
void __RPC_STUB IVMRImagePresenterConfig9_GetRenderingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVMRVideoStreamControl9 interface
*/
#ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__
#define __IVMRVideoStreamControl9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRVideoStreamControl9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState(
BOOL active) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState(
BOOL *active) = 0;
};
#else
typedef struct IVMRVideoStreamControl9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRVideoStreamControl9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRVideoStreamControl9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRVideoStreamControl9* This);
/*** IVMRVideoStreamControl9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetStreamActiveState)(
IVMRVideoStreamControl9* This,
BOOL active);
HRESULT (STDMETHODCALLTYPE *GetStreamActiveState)(
IVMRVideoStreamControl9* This,
BOOL *active);
END_INTERFACE
} IVMRVideoStreamControl9Vtbl;
interface IVMRVideoStreamControl9 {
CONST_VTBL IVMRVideoStreamControl9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRVideoStreamControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRVideoStreamControl9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRVideoStreamControl9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRVideoStreamControl9 methods ***/
#define IVMRVideoStreamControl9_SetStreamActiveState(This,active) (This)->lpVtbl->SetStreamActiveState(This,active)
#define IVMRVideoStreamControl9_GetStreamActiveState(This,active) (This)->lpVtbl->GetStreamActiveState(This,active)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_SetStreamActiveState_Proxy(
IVMRVideoStreamControl9* This,
BOOL active);
void __RPC_STUB IVMRVideoStreamControl9_SetStreamActiveState_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl9_GetStreamActiveState_Proxy(
IVMRVideoStreamControl9* This,
BOOL *active);
void __RPC_STUB IVMRVideoStreamControl9_GetStreamActiveState_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */
typedef enum _VMR9Mode {
VMR9Mode_Windowed = 0x1,
VMR9Mode_Windowless = 0x2,
VMR9Mode_Renderless = 0x4,
VMR9Mode_Mask = 0x7
} VMR9Mode;
/*****************************************************************************
* IVMRFilterConfig9 interface
*/
#ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__
#define __IVMRFilterConfig9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRFilterConfig9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetImageCompositor(
IVMRImageCompositor9 *compositor) = 0;
virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams(
DWORD max) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams(
DWORD *max) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs(
DWORD renderflags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs(
DWORD *renderflags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRenderingMode(
DWORD mode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRenderingMode(
DWORD *mode) = 0;
};
#else
typedef struct IVMRFilterConfig9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRFilterConfig9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRFilterConfig9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRFilterConfig9* This);
/*** IVMRFilterConfig9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetImageCompositor)(
IVMRFilterConfig9* This,
IVMRImageCompositor9 *compositor);
HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)(
IVMRFilterConfig9* This,
DWORD max);
HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)(
IVMRFilterConfig9* This,
DWORD *max);
HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)(
IVMRFilterConfig9* This,
DWORD renderflags);
HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)(
IVMRFilterConfig9* This,
DWORD *renderflags);
HRESULT (STDMETHODCALLTYPE *SetRenderingMode)(
IVMRFilterConfig9* This,
DWORD mode);
HRESULT (STDMETHODCALLTYPE *GetRenderingMode)(
IVMRFilterConfig9* This,
DWORD *mode);
END_INTERFACE
} IVMRFilterConfig9Vtbl;
interface IVMRFilterConfig9 {
CONST_VTBL IVMRFilterConfig9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRFilterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRFilterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRFilterConfig9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRFilterConfig9 methods ***/
#define IVMRFilterConfig9_SetImageCompositor(This,compositor) (This)->lpVtbl->SetImageCompositor(This,compositor)
#define IVMRFilterConfig9_SetNumberOfStreams(This,max) (This)->lpVtbl->SetNumberOfStreams(This,max)
#define IVMRFilterConfig9_GetNumberOfStreams(This,max) (This)->lpVtbl->GetNumberOfStreams(This,max)
#define IVMRFilterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags)
#define IVMRFilterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags)
#define IVMRFilterConfig9_SetRenderingMode(This,mode) (This)->lpVtbl->SetRenderingMode(This,mode)
#define IVMRFilterConfig9_GetRenderingMode(This,mode) (This)->lpVtbl->GetRenderingMode(This,mode)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetImageCompositor_Proxy(
IVMRFilterConfig9* This,
IVMRImageCompositor9 *compositor);
void __RPC_STUB IVMRFilterConfig9_SetImageCompositor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetNumberOfStreams_Proxy(
IVMRFilterConfig9* This,
DWORD max);
void __RPC_STUB IVMRFilterConfig9_SetNumberOfStreams_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetNumberOfStreams_Proxy(
IVMRFilterConfig9* This,
DWORD *max);
void __RPC_STUB IVMRFilterConfig9_GetNumberOfStreams_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingPrefs_Proxy(
IVMRFilterConfig9* This,
DWORD renderflags);
void __RPC_STUB IVMRFilterConfig9_SetRenderingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingPrefs_Proxy(
IVMRFilterConfig9* This,
DWORD *renderflags);
void __RPC_STUB IVMRFilterConfig9_GetRenderingPrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_SetRenderingMode_Proxy(
IVMRFilterConfig9* This,
DWORD mode);
void __RPC_STUB IVMRFilterConfig9_SetRenderingMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRFilterConfig9_GetRenderingMode_Proxy(
IVMRFilterConfig9* This,
DWORD *mode);
void __RPC_STUB IVMRFilterConfig9_GetRenderingMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */
/*****************************************************************************
* IVMRAspectRatioControl9 interface
*/
#ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__
#define __IVMRAspectRatioControl9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRAspectRatioControl9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
DWORD *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
DWORD mode) = 0;
};
#else
typedef struct IVMRAspectRatioControl9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRAspectRatioControl9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRAspectRatioControl9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRAspectRatioControl9* This);
/*** IVMRAspectRatioControl9 methods ***/
HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)(
IVMRAspectRatioControl9* This,
DWORD *mode);
HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)(
IVMRAspectRatioControl9* This,
DWORD mode);
END_INTERFACE
} IVMRAspectRatioControl9Vtbl;
interface IVMRAspectRatioControl9 {
CONST_VTBL IVMRAspectRatioControl9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRAspectRatioControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRAspectRatioControl9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRAspectRatioControl9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRAspectRatioControl9 methods ***/
#define IVMRAspectRatioControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode)
#define IVMRAspectRatioControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_GetAspectRatioMode_Proxy(
IVMRAspectRatioControl9* This,
DWORD *mode);
void __RPC_STUB IVMRAspectRatioControl9_GetAspectRatioMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRAspectRatioControl9_SetAspectRatioMode_Proxy(
IVMRAspectRatioControl9* This,
DWORD mode);
void __RPC_STUB IVMRAspectRatioControl9_SetAspectRatioMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */
typedef struct _VMR9MonitorInfo {
UINT uDevID;
RECT rcMonitor;
HMONITOR hMon;
DWORD dwFlags;
WCHAR szDevice[32];
WCHAR szDescription[512];
LARGE_INTEGER liDriverVersion;
DWORD dwVendorId;
DWORD dwDeviceId;
DWORD dwSubSysId;
DWORD dwRevision;
} VMR9MonitorInfo;
/*****************************************************************************
* IVMRMonitorConfig9 interface
*/
#ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__
#define __IVMRMonitorConfig9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRMonitorConfig9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetMonitor(
UINT uDev) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMonitor(
UINT *uDev) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor(
UINT uDev) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor(
UINT *uDev) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors(
VMR9MonitorInfo *info,
DWORD arraysize,
DWORD *numdev) = 0;
};
#else
typedef struct IVMRMonitorConfig9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRMonitorConfig9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRMonitorConfig9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRMonitorConfig9* This);
/*** IVMRMonitorConfig9 methods ***/
HRESULT (STDMETHODCALLTYPE *SetMonitor)(
IVMRMonitorConfig9* This,
UINT uDev);
HRESULT (STDMETHODCALLTYPE *GetMonitor)(
IVMRMonitorConfig9* This,
UINT *uDev);
HRESULT (STDMETHODCALLTYPE *SetDefaultMonitor)(
IVMRMonitorConfig9* This,
UINT uDev);
HRESULT (STDMETHODCALLTYPE *GetDefaultMonitor)(
IVMRMonitorConfig9* This,
UINT *uDev);
HRESULT (STDMETHODCALLTYPE *GetAvailableMonitors)(
IVMRMonitorConfig9* This,
VMR9MonitorInfo *info,
DWORD arraysize,
DWORD *numdev);
END_INTERFACE
} IVMRMonitorConfig9Vtbl;
interface IVMRMonitorConfig9 {
CONST_VTBL IVMRMonitorConfig9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRMonitorConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRMonitorConfig9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRMonitorConfig9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRMonitorConfig9 methods ***/
#define IVMRMonitorConfig9_SetMonitor(This,uDev) (This)->lpVtbl->SetMonitor(This,uDev)
#define IVMRMonitorConfig9_GetMonitor(This,uDev) (This)->lpVtbl->GetMonitor(This,uDev)
#define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev) (This)->lpVtbl->SetDefaultMonitor(This,uDev)
#define IVMRMonitorConfig9_GetDefaultMonitor(This,uDev) (This)->lpVtbl->GetDefaultMonitor(This,uDev)
#define IVMRMonitorConfig9_GetAvailableMonitors(This,info,arraysize,numdev) (This)->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetMonitor_Proxy(
IVMRMonitorConfig9* This,
UINT uDev);
void __RPC_STUB IVMRMonitorConfig9_SetMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetMonitor_Proxy(
IVMRMonitorConfig9* This,
UINT *uDev);
void __RPC_STUB IVMRMonitorConfig9_GetMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_SetDefaultMonitor_Proxy(
IVMRMonitorConfig9* This,
UINT uDev);
void __RPC_STUB IVMRMonitorConfig9_SetDefaultMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetDefaultMonitor_Proxy(
IVMRMonitorConfig9* This,
UINT *uDev);
void __RPC_STUB IVMRMonitorConfig9_GetDefaultMonitor_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRMonitorConfig9_GetAvailableMonitors_Proxy(
IVMRMonitorConfig9* This,
VMR9MonitorInfo *info,
DWORD arraysize,
DWORD *numdev);
void __RPC_STUB IVMRMonitorConfig9_GetAvailableMonitors_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */
typedef enum _VMR9DeinterlacePrefs {
DeinterlacePref9_NextBest = 0x1,
DeinterlacePref9_BOB = 0x2,
DeinterlacePref9_Weave = 0x4,
DeinterlacePref9_Mask = 0x7
} VMR9DeinterlacePrefs;
typedef enum _VMR9DeinterlaceTech {
DeinterlaceTech9_Unknown = 0,
DeinterlaceTech9_BOBLineReplicate = 0x1,
DeinterlaceTech9_BOBVerticalStretch = 0x2,
DeinterlaceTech9_MedianFiltering = 0x4,
DeinterlaceTech9_EdgeFiltering = 0x10,
DeinterlaceTech9_FieldAdaptive = 0x20,
DeinterlaceTech9_PixelAdaptive = 0x40,
DeinterlaceTech9_MotionVectorSteered = 0x80
} VMR9DeinterlaceTech;
typedef struct _VMR9Frequency {
DWORD dwNumerator;
DWORD dwDenominator;
} VMR9Frequency;
typedef enum _VMR9_SampleFormat {
VMR9_SampleReserved = 1,
VMR9_SampleProgressiveFrame = 2,
VMR9_SampleFieldInterleavedEvenFirst = 3,
VMR9_SampleFieldInterleavedOddFirst = 4,
VMR9_SampleFieldSingleEven = 5,
VMR9_SampleFieldSingleOdd = 6
} VMR9_SampleFormat;
typedef struct _VMR9VideoDesc {
DWORD dwSize;
DWORD dwSampleWidth;
DWORD dwSampleHeight;
VMR9_SampleFormat SampleFormat;
DWORD dwFourCC;
VMR9Frequency InputSampleFreq;
VMR9Frequency OutputFrameFreq;
} VMR9VideoDesc;
typedef struct _VMR9DeinterlaceCaps {
DWORD dwSize;
DWORD dwNumPreviousOutputFrames;
DWORD dwNumForwardRefSamples;
DWORD dwNumBackwardRefSamples;
VMR9DeinterlaceTech DeinterlaceTechnology;
} VMR9DeinterlaceCaps;
/*****************************************************************************
* IVMRDeinterlaceControl9 interface
*/
#ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__
#define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRDeinterlaceControl9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes(
VMR9VideoDesc *desc,
DWORD *nummodes,
GUID *modes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps(
GUID *mode,
VMR9VideoDesc *desc,
VMR9DeinterlaceCaps *caps) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode(
DWORD streamid,
GUID *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode(
DWORD streamid,
GUID *mode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs(
DWORD *prefs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs(
DWORD prefs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode(
DWORD streamid,
GUID *mode) = 0;
};
#else
typedef struct IVMRDeinterlaceControl9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRDeinterlaceControl9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRDeinterlaceControl9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRDeinterlaceControl9* This);
/*** IVMRDeinterlaceControl9 methods ***/
HRESULT (STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes)(
IVMRDeinterlaceControl9* This,
VMR9VideoDesc *desc,
DWORD *nummodes,
GUID *modes);
HRESULT (STDMETHODCALLTYPE *GetDeinterlaceModeCaps)(
IVMRDeinterlaceControl9* This,
GUID *mode,
VMR9VideoDesc *desc,
VMR9DeinterlaceCaps *caps);
HRESULT (STDMETHODCALLTYPE *GetDeinterlaceMode)(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
HRESULT (STDMETHODCALLTYPE *SetDeinterlaceMode)(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
HRESULT (STDMETHODCALLTYPE *GetDeinterlacePrefs)(
IVMRDeinterlaceControl9* This,
DWORD *prefs);
HRESULT (STDMETHODCALLTYPE *SetDeinterlacePrefs)(
IVMRDeinterlaceControl9* This,
DWORD prefs);
HRESULT (STDMETHODCALLTYPE *GetActualDeinterlaceMode)(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
END_INTERFACE
} IVMRDeinterlaceControl9Vtbl;
interface IVMRDeinterlaceControl9 {
CONST_VTBL IVMRDeinterlaceControl9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRDeinterlaceControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRDeinterlaceControl9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRDeinterlaceControl9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRDeinterlaceControl9 methods ***/
#define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes)
#define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,mode,desc,caps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps)
#define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetDeinterlaceMode(This,streamid,mode)
#define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->SetDeinterlaceMode(This,streamid,mode)
#define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,prefs) (This)->lpVtbl->GetDeinterlacePrefs(This,prefs)
#define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,prefs) (This)->lpVtbl->SetDeinterlacePrefs(This,prefs)
#define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Proxy(
IVMRDeinterlaceControl9* This,
VMR9VideoDesc *desc,
DWORD *nummodes,
GUID *modes);
void __RPC_STUB IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Proxy(
IVMRDeinterlaceControl9* This,
GUID *mode,
VMR9VideoDesc *desc,
VMR9DeinterlaceCaps *caps);
void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceModeCaps_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlaceMode_Proxy(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlaceMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlaceMode_Proxy(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlaceMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetDeinterlacePrefs_Proxy(
IVMRDeinterlaceControl9* This,
DWORD *prefs);
void __RPC_STUB IVMRDeinterlaceControl9_GetDeinterlacePrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_SetDeinterlacePrefs_Proxy(
IVMRDeinterlaceControl9* This,
DWORD prefs);
void __RPC_STUB IVMRDeinterlaceControl9_SetDeinterlacePrefs_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Proxy(
IVMRDeinterlaceControl9* This,
DWORD streamid,
GUID *mode);
void __RPC_STUB IVMRDeinterlaceControl9_GetActualDeinterlaceMode_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */
typedef struct _VMR9VideoStreamInfo {
IDirect3DSurface9 *pddsVideoSurface;
DWORD dwWidth;
DWORD dwHeight;
DWORD dwStrmID;
FLOAT fAlpha;
VMR9NormalizedRect rNormal;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
VMR9_SampleFormat SampleFormat;
} VMR9VideoStreamInfo;
/*****************************************************************************
* IVMRImageCompositor9 interface
*/
#ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__
#define __IVMRImageCompositor9_INTERFACE_DEFINED__
DEFINE_GUID(IID_IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface IVMRImageCompositor9 : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice(
IUnknown *d3ddev) = 0;
virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice(
IUnknown *d3ddev) = 0;
virtual HRESULT STDMETHODCALLTYPE CompositeImage(
IUnknown *d3ddev,
IDirect3DSurface9 *d3dtarget,
AM_MEDIA_TYPE *mttarget,
REFERENCE_TIME start,
REFERENCE_TIME stop,
D3DCOLOR back,
VMR9VideoStreamInfo *info,
UINT streams) = 0;
};
#else
typedef struct IVMRImageCompositor9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IVMRImageCompositor9* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IVMRImageCompositor9* This);
ULONG (STDMETHODCALLTYPE *Release)(
IVMRImageCompositor9* This);
/*** IVMRImageCompositor9 methods ***/
HRESULT (STDMETHODCALLTYPE *InitCompositionDevice)(
IVMRImageCompositor9* This,
IUnknown *d3ddev);
HRESULT (STDMETHODCALLTYPE *TermCompositionDevice)(
IVMRImageCompositor9* This,
IUnknown *d3ddev);
HRESULT (STDMETHODCALLTYPE *CompositeImage)(
IVMRImageCompositor9* This,
IUnknown *d3ddev,
IDirect3DSurface9 *d3dtarget,
AM_MEDIA_TYPE *mttarget,
REFERENCE_TIME start,
REFERENCE_TIME stop,
D3DCOLOR back,
VMR9VideoStreamInfo *info,
UINT streams);
END_INTERFACE
} IVMRImageCompositor9Vtbl;
interface IVMRImageCompositor9 {
CONST_VTBL IVMRImageCompositor9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
/*** IUnknown methods ***/
#define IVMRImageCompositor9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IVMRImageCompositor9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IVMRImageCompositor9_Release(This) (This)->lpVtbl->Release(This)
/*** IVMRImageCompositor9 methods ***/
#define IVMRImageCompositor9_InitCompositionDevice(This,d3ddev) (This)->lpVtbl->InitCompositionDevice(This,d3ddev)
#define IVMRImageCompositor9_TermCompositionDevice(This,d3ddev) (This)->lpVtbl->TermCompositionDevice(This,d3ddev)
#define IVMRImageCompositor9_CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) (This)->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams)
#endif
#endif
HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_InitCompositionDevice_Proxy(
IVMRImageCompositor9* This,
IUnknown *d3ddev);
void __RPC_STUB IVMRImageCompositor9_InitCompositionDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_TermCompositionDevice_Proxy(
IVMRImageCompositor9* This,
IUnknown *d3ddev);
void __RPC_STUB IVMRImageCompositor9_TermCompositionDevice_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IVMRImageCompositor9_CompositeImage_Proxy(
IVMRImageCompositor9* This,
IUnknown *d3ddev,
IDirect3DSurface9 *d3dtarget,
AM_MEDIA_TYPE *mttarget,
REFERENCE_TIME start,
REFERENCE_TIME stop,
D3DCOLOR back,
VMR9VideoStreamInfo *info,
UINT streams);
void __RPC_STUB IVMRImageCompositor9_CompositeImage_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __WIDL_VMR9_H */