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

📄 vmr9.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
📖 第 1 页 / 共 5 页
字号:
void __RPC_STUB IVMRSurfaceAllocatorNotify9_NotifyEvent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_vmr9_0012 */
/* [local] */

typedef /* [public] */
enum __MIDL___MIDL_itf_vmr9_0012_0001
    {	VMR9ARMode_None	= 0,
	VMR9ARMode_LetterBox	= VMR9ARMode_None + 1
    } 	VMR9AspectRatioMode;



extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_vmr9_0012_v0_0_s_ifspec;

#ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__
#define __IVMRWindowlessControl9_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IVMRWindowlessControl9;

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

    MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927")
    IVMRWindowlessControl9 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize(
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight,
            /* [out] */ LONG *lpARWidth,
            /* [out] */ LONG *lpARHeight) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize(
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize(
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetVideoPosition(
            /* [in] */ const LPRECT lpSRCRect,
            /* [in] */ const LPRECT lpDSTRect) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetVideoPosition(
            /* [out] */ LPRECT lpSRCRect,
            /* [out] */ LPRECT lpDSTRect) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode(
            /* [out] */ DWORD *lpAspectRatioMode) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode(
            /* [in] */ DWORD AspectRatioMode) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow(
            /* [in] */ HWND hwnd) = 0;

        virtual HRESULT STDMETHODCALLTYPE RepaintVideo(
            /* [in] */ HWND hwnd,
            /* [in] */ HDC hdc) = 0;

        virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetCurrentImage(
            /* [out] */ BYTE **lpDib) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
            /* [in] */ COLORREF Clr) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetBorderColor(
            /* [out] */ COLORREF *lpClr) = 0;

    };

#else 	/* C style interface */

    typedef struct IVMRWindowlessControl9Vtbl
    {
        BEGIN_INTERFACE

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

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

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

        HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )(
            IVMRWindowlessControl9 * This,
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight,
            /* [out] */ LONG *lpARWidth,
            /* [out] */ LONG *lpARHeight);

        HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )(
            IVMRWindowlessControl9 * This,
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight);

        HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )(
            IVMRWindowlessControl9 * This,
            /* [out] */ LONG *lpWidth,
            /* [out] */ LONG *lpHeight);

        HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )(
            IVMRWindowlessControl9 * This,
            /* [in] */ const LPRECT lpSRCRect,
            /* [in] */ const LPRECT lpDSTRect);

        HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )(
            IVMRWindowlessControl9 * This,
            /* [out] */ LPRECT lpSRCRect,
            /* [out] */ LPRECT lpDSTRect);

        HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )(
            IVMRWindowlessControl9 * This,
            /* [out] */ DWORD *lpAspectRatioMode);

        HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )(
            IVMRWindowlessControl9 * This,
            /* [in] */ DWORD AspectRatioMode);

        HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )(
            IVMRWindowlessControl9 * This,
            /* [in] */ HWND hwnd);

        HRESULT ( STDMETHODCALLTYPE *RepaintVideo )(
            IVMRWindowlessControl9 * This,
            /* [in] */ HWND hwnd,
            /* [in] */ HDC hdc);

        HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )(
            IVMRWindowlessControl9 * This);

        HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )(
            IVMRWindowlessControl9 * This,
            /* [out] */ BYTE **lpDib);

        HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
            IVMRWindowlessControl9 * This,
            /* [in] */ COLORREF Clr);

        HRESULT ( STDMETHODCALLTYPE *GetBorderColor )(
            IVMRWindowlessControl9 * This,
            /* [out] */ COLORREF *lpClr);

        END_INTERFACE
    } IVMRWindowlessControl9Vtbl;

    interface IVMRWindowlessControl9
    {
        CONST_VTBL struct IVMRWindowlessControl9Vtbl *lpVtbl;
    };



#ifdef COBJMACROS


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


#define IVMRWindowlessControl9_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)	\
    (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)

#define IVMRWindowlessControl9_GetMinIdealVideoSize(This,lpWidth,lpHeight)	\
    (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)

#define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,lpWidth,lpHeight)	\
    (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)

#define IVMRWindowlessControl9_SetVideoPosition(This,lpSRCRect,lpDSTRect)	\
    (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)

#define IVMRWindowlessControl9_GetVideoPosition(This,lpSRCRect,lpDSTRect)	\
    (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)

#define IVMRWindowlessControl9_GetAspectRatioMode(This,lpAspectRatioMode)	\
    (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)

#define IVMRWindowlessControl9_SetAspectRatioMode(This,AspectRatioMode)	\
    (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)

#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,lpDib)	\
    (This)->lpVtbl -> GetCurrentImage(This,lpDib)

#define IVMRWindowlessControl9_SetBorderColor(This,Clr)	\
    (This)->lpVtbl -> SetBorderColor(This,Clr)

#define IVMRWindowlessControl9_GetBorderColor(This,lpClr)	\
    (This)->lpVtbl -> GetBorderColor(This,lpClr)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetNativeVideoSize_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ LONG *lpWidth,
    /* [out] */ LONG *lpHeight,
    /* [out] */ LONG *lpARWidth,
    /* [out] */ LONG *lpARHeight);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMinIdealVideoSize_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ LONG *lpWidth,
    /* [out] */ LONG *lpHeight);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetMaxIdealVideoSize_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ LONG *lpWidth,
    /* [out] */ LONG *lpHeight);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoPosition_Proxy(
    IVMRWindowlessControl9 * This,
    /* [in] */ const LPRECT lpSRCRect,
    /* [in] */ const LPRECT lpDSTRect);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetVideoPosition_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ LPRECT lpSRCRect,
    /* [out] */ LPRECT lpDSTRect);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetAspectRatioMode_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ DWORD *lpAspectRatioMode);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetAspectRatioMode_Proxy(
    IVMRWindowlessControl9 * This,
    /* [in] */ DWORD AspectRatioMode);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetVideoClippingWindow_Proxy(
    IVMRWindowlessControl9 * This,
    /* [in] */ HWND hwnd);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_RepaintVideo_Proxy(
    IVMRWindowlessControl9 * This,
    /* [in] */ HWND hwnd,
    /* [in] */ 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,
    /* [out] */ BYTE **lpDib);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_SetBorderColor_Proxy(
    IVMRWindowlessControl9 * This,
    /* [in] */ COLORREF Clr);


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


HRESULT STDMETHODCALLTYPE IVMRWindowlessControl9_GetBorderColor_Proxy(
    IVMRWindowlessControl9 * This,
    /* [out] */ COLORREF *lpClr);


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



#endif 	/* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_vmr9_0013 */
/* [local] */

typedef /* [public] */
enum __MIDL___MIDL_itf_vmr9_0013_0001
    {	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_RenderTargetMask	= 0xff000,
	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 /* [public][public][public] */
enum __MIDL___MIDL_itf_vmr9_0013_0002

⌨️ 快捷键说明

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