ID3D11VideoDevice 接口是Direct3D 11中的一部分,用于支持视频处理相关的功能。以下是 ID3D11VideoDevice 接口的一些基本信息:
DECLARE_INTERFACE_(ID3D11VideoDevice, IUnknown)
{
    // 省略了其他继承的成员

    virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoder(
        /* [annotation] */
        _In_  const D3D11_VIDEO_DECODER_DESC *pVideoDesc,
        /* [annotation] */
        _In_  const D3D11_VIDEO_DECODER_CONFIG *pConfig,
        /* [annotation] */
        _COM_Outptr_  ID3D11VideoDecoder **ppDecoder) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessor(
        /* [annotation] */
        _In_  ID3D11VideoProcessorEnumerator *pEnum,
        /* [annotation] */
        _In_  UINT RateConversionIndex,
        /* [annotation] */
        _COM_Outptr_  ID3D11VideoProcessor **ppVideoProcessor) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateAuthenticatedChannel(
        /* [annotation] */
        _In_  D3D11_AUTHENTICATED_CHANNEL_TYPE ChannelType,
        /* [annotation] */
        _COM_Outptr_  ID3D11AuthenticatedChannel **ppAuthenticatedChannel) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateCryptoSession(
        /* [annotation] */
        _In_  const GUID *pCryptoType,
        /* [annotation] */
        _In_opt_  const GUID *pDecoderProfile,
        /* [annotation] */
        _In_  const GUID *pKeyExchangeType,
        /* [annotation] */
        _COM_Outptr_  ID3D11CryptoSession **ppCryptoSession) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateVideoDecoderOutputView(
        /* [annotation] */
        _In_  ID3D11Resource *pResource,
        /* [annotation] */
        _In_  const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC *pDesc,
        /* [annotation] */
        _COM_Outptr_opt_  ID3D11VideoDecoderOutputView **ppVDOVView) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorInputView(
        /* [annotation] */
        _In_  ID3D11Resource *pResource,
        /* [annotation] */
        _In_  ID3D11VideoProcessorEnumerator *pEnum,
        /* [annotation] */
        _In_  const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC *pDesc,
        /* [annotation] */
        _COM_Outptr_opt_  ID3D11VideoProcessorInputView **ppVPIView) = 0;

    virtual HRESULT STDMETHODCALLTYPE CreateVideoProcessorOutputView(
        /* [annotation] */
        _In_  ID3D11Resource *pResource,
        /* [annotation] */
        _In_  ID3D11VideoProcessorEnumerator *pEnum,
        /* [annotation] */
        _In_  const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC *pDesc,
        /* [annotation] */
        _COM_Outptr_opt_  ID3D11VideoProcessorOutputView **ppVPOView) = 0;

    // 更多方法...

    // Video Processor Enumerator methods
    // ...

    // Video MFT methods
    // ...

    // 更多方法...
};

这个接口提供了一系列方法,用于创建与视频处理相关的对象,例如视频解码器、视频处理器、受保护的通道等。你可以使用这些方法来配置和处理Direct3D 11中与视频相关的功能。要使用这些方法,你需要先通过Direct3D 11设备 (ID3D11Device) 获取一个 ID3D11VideoDevice 对象。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25808/Win32 API/D3d11.h/ID3D11VideoDevice