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