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

📄 wmcodeciface.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
📖 第 1 页 / 共 2 页
字号:
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetBufferSizeBits(
            /* [in] */ ULONG ulBufferSize) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetBufferSizeBits(
            /* [out] */ ULONG *pulBufferSize) = 0;

        virtual HRESULT STDMETHODCALLTYPE SetBufferFullnessBits(
            /* [in] */ ULONG ulBufferFullness) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetBufferFullnessBits(
            /* [out] */ ULONG *pulBufferFullness) = 0;

    };

#else 	/* C style interface */

    typedef struct IWMCodecLeakyBucketVtbl
    {
        BEGIN_INTERFACE

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

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

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

        HRESULT ( STDMETHODCALLTYPE *SetBufferSizeBits )(
            IWMCodecLeakyBucket * This,
            /* [in] */ ULONG ulBufferSize);

        HRESULT ( STDMETHODCALLTYPE *GetBufferSizeBits )(
            IWMCodecLeakyBucket * This,
            /* [out] */ ULONG *pulBufferSize);

        HRESULT ( STDMETHODCALLTYPE *SetBufferFullnessBits )(
            IWMCodecLeakyBucket * This,
            /* [in] */ ULONG ulBufferFullness);

        HRESULT ( STDMETHODCALLTYPE *GetBufferFullnessBits )(
            IWMCodecLeakyBucket * This,
            /* [out] */ ULONG *pulBufferFullness);

        END_INTERFACE
    } IWMCodecLeakyBucketVtbl;

    interface IWMCodecLeakyBucket
    {
        CONST_VTBL struct IWMCodecLeakyBucketVtbl *lpVtbl;
    };



#ifdef COBJMACROS


#define IWMCodecLeakyBucket_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMCodecLeakyBucket_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMCodecLeakyBucket_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMCodecLeakyBucket_SetBufferSizeBits(This,ulBufferSize)	\
    (This)->lpVtbl -> SetBufferSizeBits(This,ulBufferSize)

#define IWMCodecLeakyBucket_GetBufferSizeBits(This,pulBufferSize)	\
    (This)->lpVtbl -> GetBufferSizeBits(This,pulBufferSize)

#define IWMCodecLeakyBucket_SetBufferFullnessBits(This,ulBufferFullness)	\
    (This)->lpVtbl -> SetBufferFullnessBits(This,ulBufferFullness)

#define IWMCodecLeakyBucket_GetBufferFullnessBits(This,pulBufferFullness)	\
    (This)->lpVtbl -> GetBufferFullnessBits(This,pulBufferFullness)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMCodecLeakyBucket_SetBufferSizeBits_Proxy(
    IWMCodecLeakyBucket * This,
    /* [in] */ ULONG ulBufferSize);


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


HRESULT STDMETHODCALLTYPE IWMCodecLeakyBucket_GetBufferSizeBits_Proxy(
    IWMCodecLeakyBucket * This,
    /* [out] */ ULONG *pulBufferSize);


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


HRESULT STDMETHODCALLTYPE IWMCodecLeakyBucket_SetBufferFullnessBits_Proxy(
    IWMCodecLeakyBucket * This,
    /* [in] */ ULONG ulBufferFullness);


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


HRESULT STDMETHODCALLTYPE IWMCodecLeakyBucket_GetBufferFullnessBits_Proxy(
    IWMCodecLeakyBucket * This,
    /* [out] */ ULONG *pulBufferFullness);


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



#endif 	/* __IWMCodecLeakyBucket_INTERFACE_DEFINED__ */


#ifndef __IWMCodecMetaData_INTERFACE_DEFINED__
#define __IWMCodecMetaData_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IWMCodecMetaData;

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

    MIDL_INTERFACE("D051ED9F-BC5C-4e83-B14E-8428485C286A")
    IWMCodecMetaData : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNumberOfValues(
            /* [out] */ ULONG *pulNumValues) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetBufferSizes(
            /* [in] */ ULONG ulValueIndex,
            /* [out] */ ULONG *pcbData,
            /* [out] */ ULONG *pcchName) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetValueAndName(
            /* [in] */ ULONG ulValueIndex,
            /* [out] */ BYTE *pbData,
            /* [in] */ ULONG cbData,
            /* [out] */ ULONG *pcbData,
            /* [out] */ WCHAR *szName,
            /* [in] */ ULONG cchName,
            /* [out] */ ULONG *pcchName) = 0;

    };

#else 	/* C style interface */

    typedef struct IWMCodecMetaDataVtbl
    {
        BEGIN_INTERFACE

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

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

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

        HRESULT ( STDMETHODCALLTYPE *GetNumberOfValues )(
            IWMCodecMetaData * This,
            /* [out] */ ULONG *pulNumValues);

        HRESULT ( STDMETHODCALLTYPE *GetBufferSizes )(
            IWMCodecMetaData * This,
            /* [in] */ ULONG ulValueIndex,
            /* [out] */ ULONG *pcbData,
            /* [out] */ ULONG *pcchName);

        HRESULT ( STDMETHODCALLTYPE *GetValueAndName )(
            IWMCodecMetaData * This,
            /* [in] */ ULONG ulValueIndex,
            /* [out] */ BYTE *pbData,
            /* [in] */ ULONG cbData,
            /* [out] */ ULONG *pcbData,
            /* [out] */ WCHAR *szName,
            /* [in] */ ULONG cchName,
            /* [out] */ ULONG *pcchName);

        END_INTERFACE
    } IWMCodecMetaDataVtbl;

    interface IWMCodecMetaData
    {
        CONST_VTBL struct IWMCodecMetaDataVtbl *lpVtbl;
    };



#ifdef COBJMACROS


#define IWMCodecMetaData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMCodecMetaData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMCodecMetaData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMCodecMetaData_GetNumberOfValues(This,pulNumValues)	\
    (This)->lpVtbl -> GetNumberOfValues(This,pulNumValues)

#define IWMCodecMetaData_GetBufferSizes(This,ulValueIndex,pcbData,pcchName)	\
    (This)->lpVtbl -> GetBufferSizes(This,ulValueIndex,pcbData,pcchName)

#define IWMCodecMetaData_GetValueAndName(This,ulValueIndex,pbData,cbData,pcbData,szName,cchName,pcchName)	\
    (This)->lpVtbl -> GetValueAndName(This,ulValueIndex,pbData,cbData,pcbData,szName,cchName,pcchName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMCodecMetaData_GetNumberOfValues_Proxy(
    IWMCodecMetaData * This,
    /* [out] */ ULONG *pulNumValues);


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


HRESULT STDMETHODCALLTYPE IWMCodecMetaData_GetBufferSizes_Proxy(
    IWMCodecMetaData * This,
    /* [in] */ ULONG ulValueIndex,
    /* [out] */ ULONG *pcbData,
    /* [out] */ ULONG *pcchName);


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


HRESULT STDMETHODCALLTYPE IWMCodecMetaData_GetValueAndName_Proxy(
    IWMCodecMetaData * This,
    /* [in] */ ULONG ulValueIndex,
    /* [out] */ BYTE *pbData,
    /* [in] */ ULONG cbData,
    /* [out] */ ULONG *pcbData,
    /* [out] */ WCHAR *szName,
    /* [in] */ ULONG cchName,
    /* [out] */ ULONG *pcchName);


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



#endif 	/* __IWMCodecMetaData_INTERFACE_DEFINED__ */


#ifndef __IWMCodecOutputTimestamp_INTERFACE_DEFINED__
#define __IWMCodecOutputTimestamp_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IWMCodecOutputTimestamp;

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

    MIDL_INTERFACE("B72ADF95-7ADC-4a72-BC05-577D8EA6BF68")
    IWMCodecOutputTimestamp : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNextOutputTime(
            /* [out] */ REFERENCE_TIME *prtTime) = 0;

    };

#else 	/* C style interface */

    typedef struct IWMCodecOutputTimestampVtbl
    {
        BEGIN_INTERFACE

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

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

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

        HRESULT ( STDMETHODCALLTYPE *GetNextOutputTime )(
            IWMCodecOutputTimestamp * This,
            /* [out] */ REFERENCE_TIME *prtTime);

        END_INTERFACE
    } IWMCodecOutputTimestampVtbl;

    interface IWMCodecOutputTimestamp
    {
        CONST_VTBL struct IWMCodecOutputTimestampVtbl *lpVtbl;
    };



#ifdef COBJMACROS


#define IWMCodecOutputTimestamp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMCodecOutputTimestamp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMCodecOutputTimestamp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMCodecOutputTimestamp_GetNextOutputTime(This,prtTime)	\
    (This)->lpVtbl -> GetNextOutputTime(This,prtTime)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMCodecOutputTimestamp_GetNextOutputTime_Proxy(
    IWMCodecOutputTimestamp * This,
    /* [out] */ REFERENCE_TIME *prtTime);


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



#endif 	/* __IWMCodecOutputTimestamp_INTERFACE_DEFINED__ */


#ifndef __IWMCodecPrivateData_INTERFACE_DEFINED__
#define __IWMCodecPrivateData_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IWMCodecPrivateData;

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

    MIDL_INTERFACE("73F0BE8E-57F7-4f01-AA66-9F57340CFE0E")
    IWMCodecPrivateData : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPartialOutputType(
            /* [in] */ DMO_MEDIA_TYPE *pmt) = 0;

        virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
            /* [out] */ BYTE *pbData,
            /* [out][in] */ ULONG *pcbData) = 0;

    };

#else 	/* C style interface */

    typedef struct IWMCodecPrivateDataVtbl
    {
        BEGIN_INTERFACE

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

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

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

        HRESULT ( STDMETHODCALLTYPE *SetPartialOutputType )(
            IWMCodecPrivateData * This,
            /* [in] */ DMO_MEDIA_TYPE *pmt);

        HRESULT ( STDMETHODCALLTYPE *GetPrivateData )(
            IWMCodecPrivateData * This,
            /* [out] */ BYTE *pbData,
            /* [out][in] */ ULONG *pcbData);

        END_INTERFACE
    } IWMCodecPrivateDataVtbl;

    interface IWMCodecPrivateData
    {
        CONST_VTBL struct IWMCodecPrivateDataVtbl *lpVtbl;
    };



#ifdef COBJMACROS


#define IWMCodecPrivateData_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IWMCodecPrivateData_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IWMCodecPrivateData_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IWMCodecPrivateData_SetPartialOutputType(This,pmt)	\
    (This)->lpVtbl -> SetPartialOutputType(This,pmt)

#define IWMCodecPrivateData_GetPrivateData(This,pbData,pcbData)	\
    (This)->lpVtbl -> GetPrivateData(This,pbData,pcbData)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IWMCodecPrivateData_SetPartialOutputType_Proxy(
    IWMCodecPrivateData * This,
    /* [in] */ DMO_MEDIA_TYPE *pmt);


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


HRESULT STDMETHODCALLTYPE IWMCodecPrivateData_GetPrivateData_Proxy(
    IWMCodecPrivateData * This,
    /* [out] */ BYTE *pbData,
    /* [out][in] */ ULONG *pcbData);


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



#endif 	/* __IWMCodecPrivateData_INTERFACE_DEFINED__ */


/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif






⌨️ 快捷键说明

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