⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vmr9.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
📖 第 1 页 / 共 5 页
字号:
    {	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;



extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_vmr9_0013_v0_0_s_ifspec;

#ifndef __IVMRMixerControl9_INTERFACE_DEFINED__
#define __IVMRMixerControl9_INTERFACE_DEFINED__

/* interface IVMRMixerControl9 */
/* [unique][helpstring][uuid][local][object][local] */


EXTERN_C const IID IID_IVMRMixerControl9;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b")
    IVMRMixerControl9 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetAlpha(
            /* [in] */ DWORD dwStreamID,
            /* [in] */ float Alpha) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetAlpha(
            /* [in] */ DWORD dwStreamID,
            /* [out] */ float *pAlpha) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetZOrder(
            /* [in] */ DWORD dwStreamID,
            /* [in] */ DWORD dwZ) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetZOrder(
            /* [in] */ DWORD dwStreamID,
            /* [out] */ DWORD *pZ) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetOutputRect(
            /* [in] */ DWORD dwStreamID,
            /* [in] */ const VMR9NormalizedRect *pRect) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetOutputRect(
            /* [in] */ DWORD dwStreamID,
            /* [out] */ VMR9NormalizedRect *pRect) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr(
            /* [in] */ COLORREF ClrBkg) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr(
            /* [in] */ COLORREF *lpClrBkg) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs(
            /* [in] */ DWORD dwMixerPrefs) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs(
            /* [out] */ DWORD *pdwMixerPrefs) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl(
            /* [in] */ DWORD dwStreamID,
            /* [in] */ VMR9ProcAmpControl *lpClrControl) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl(
            /* [in] */ DWORD dwStreamID,
            /* [out][in] */ VMR9ProcAmpControl *lpClrControl) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange(
            /* [in] */ DWORD dwStreamID,
            /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl) = 0;

    };

#else 	/* C style interface */

    typedef struct IVMRMixerControl9Vtbl
    {
        BEGIN_INTERFACE

        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
            IVMRMixerControl9 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);

        ULONG ( STDMETHODCALLTYPE *AddRef )(
            IVMRMixerControl9 * This);

        ULONG ( STDMETHODCALLTYPE *Release )(
            IVMRMixerControl9 * This);

        HRESULT ( STDMETHODCALLTYPE *SetAlpha )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [in] */ float Alpha);

        HRESULT ( STDMETHODCALLTYPE *GetAlpha )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [out] */ float *pAlpha);

        HRESULT ( STDMETHODCALLTYPE *SetZOrder )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [in] */ DWORD dwZ);

        HRESULT ( STDMETHODCALLTYPE *GetZOrder )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [out] */ DWORD *pZ);

        HRESULT ( STDMETHODCALLTYPE *SetOutputRect )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [in] */ const VMR9NormalizedRect *pRect);

        HRESULT ( STDMETHODCALLTYPE *GetOutputRect )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [out] */ VMR9NormalizedRect *pRect);

        HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )(
            IVMRMixerControl9 * This,
            /* [in] */ COLORREF ClrBkg);

        HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )(
            IVMRMixerControl9 * This,
            /* [in] */ COLORREF *lpClrBkg);

        HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwMixerPrefs);

        HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )(
            IVMRMixerControl9 * This,
            /* [out] */ DWORD *pdwMixerPrefs);

        HRESULT ( STDMETHODCALLTYPE *SetProcAmpControl )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [in] */ VMR9ProcAmpControl *lpClrControl);

        HRESULT ( STDMETHODCALLTYPE *GetProcAmpControl )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [out][in] */ VMR9ProcAmpControl *lpClrControl);

        HRESULT ( STDMETHODCALLTYPE *GetProcAmpControlRange )(
            IVMRMixerControl9 * This,
            /* [in] */ DWORD dwStreamID,
            /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl);

        END_INTERFACE
    } IVMRMixerControl9Vtbl;

    interface IVMRMixerControl9
    {
        CONST_VTBL struct IVMRMixerControl9Vtbl *lpVtbl;
    };



#ifdef COBJMACROS


#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)


#define IVMRMixerControl9_SetAlpha(This,dwStreamID,Alpha)	\
    (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)

#define IVMRMixerControl9_GetAlpha(This,dwStreamID,pAlpha)	\
    (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)

#define IVMRMixerControl9_SetZOrder(This,dwStreamID,dwZ)	\
    (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)

#define IVMRMixerControl9_GetZOrder(This,dwStreamID,pZ)	\
    (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)

#define IVMRMixerControl9_SetOutputRect(This,dwStreamID,pRect)	\
    (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)

#define IVMRMixerControl9_GetOutputRect(This,dwStreamID,pRect)	\
    (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)

#define IVMRMixerControl9_SetBackgroundClr(This,ClrBkg)	\
    (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)

#define IVMRMixerControl9_GetBackgroundClr(This,lpClrBkg)	\
    (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)

#define IVMRMixerControl9_SetMixingPrefs(This,dwMixerPrefs)	\
    (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)

#define IVMRMixerControl9_GetMixingPrefs(This,pdwMixerPrefs)	\
    (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)

#define IVMRMixerControl9_SetProcAmpControl(This,dwStreamID,lpClrControl)	\
    (This)->lpVtbl -> SetProcAmpControl(This,dwStreamID,lpClrControl)

#define IVMRMixerControl9_GetProcAmpControl(This,dwStreamID,lpClrControl)	\
    (This)->lpVtbl -> GetProcAmpControl(This,dwStreamID,lpClrControl)

#define IVMRMixerControl9_GetProcAmpControlRange(This,dwStreamID,lpClrControl)	\
    (This)->lpVtbl -> GetProcAmpControlRange(This,dwStreamID,lpClrControl)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetAlpha_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [in] */ float Alpha);


void __RPC_STUB IVMRMixerControl9_SetAlpha_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetAlpha_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [out] */ float *pAlpha);


void __RPC_STUB IVMRMixerControl9_GetAlpha_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetZOrder_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [in] */ DWORD dwZ);


void __RPC_STUB IVMRMixerControl9_SetZOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetZOrder_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [out] */ DWORD *pZ);


void __RPC_STUB IVMRMixerControl9_GetZOrder_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetOutputRect_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [in] */ const VMR9NormalizedRect *pRect);


void __RPC_STUB IVMRMixerControl9_SetOutputRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetOutputRect_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [out] */ VMR9NormalizedRect *pRect);


void __RPC_STUB IVMRMixerControl9_GetOutputRect_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetBackgroundClr_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ COLORREF ClrBkg);


void __RPC_STUB IVMRMixerControl9_SetBackgroundClr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetBackgroundClr_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ COLORREF *lpClrBkg);


void __RPC_STUB IVMRMixerControl9_GetBackgroundClr_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetMixingPrefs_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwMixerPrefs);


void __RPC_STUB IVMRMixerControl9_SetMixingPrefs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetMixingPrefs_Proxy(
    IVMRMixerControl9 * This,
    /* [out] */ DWORD *pdwMixerPrefs);


void __RPC_STUB IVMRMixerControl9_GetMixingPrefs_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_SetProcAmpControl_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [in] */ VMR9ProcAmpControl *lpClrControl);


void __RPC_STUB IVMRMixerControl9_SetProcAmpControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControl_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [out][in] */ VMR9ProcAmpControl *lpClrControl);


void __RPC_STUB IVMRMixerControl9_GetProcAmpControl_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IVMRMixerControl9_GetProcAmpControlRange_Proxy(
    IVMRMixerControl9 * This,
    /* [in] */ DWORD dwStreamID,
    /* [out][in] */ VMR9ProcAmpControlRange *lpClrControl);


void __RPC_STUB IVMRMixerControl9_GetProcAmpControlRange_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IVMRMixerControl9_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_vmr9_0014 */
/* [local] */

typedef struct _VMR9AlphaBitmap
    {
    DWORD dwFlags;
    HDC hdc;
    IDirect3DSurface9 *pDDS;
    RECT rSrc;
    VMR9NormalizedRect rDest;
    FLOAT fAlpha;
    COLORREF clrSrcKey;
    DWORD dwFilterMode;
    } 	VMR9AlphaBitmap;

typedef /* [public] */
enum __MIDL___MIDL_itf_vmr9_0014_0001
    {	VMR9AlphaBitmap_Disable	= 0x1,
	VMR9AlphaBitmap_hDC	= 0x2,
	VMR9AlphaBitmap_EntireDDS	= 0x4,
	VMR9AlphaBitmap_SrcColorKey	= 0x8,
	VMR9AlphaBitmap_SrcRect	= 0x10,
	VMR9AlphaBitmap_FilterMode	= 0x20
    } 	VMR9AlphaBitmapFlags;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -