以下是 ID3D12VideoDevice1 接口的一些方法:
1. CheckFeatureSupport: 检查硬件对视频相关功能的支持。
HRESULT CheckFeatureSupport(
D3D12_FEATURE_VIDEO Feature,
_Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
UINT FeatureSupportDataSize
);
这个方法用于检查硬件对特定视频功能的支持,并返回相应的支持信息。
2. CreateVideoDecoder: 创建视频解码器。
HRESULT CreateVideoDecoder(
_In_ const D3D12_VIDEO_DECODER_DESC *pDesc,
_In_ REFIID riid,
_COM_Outptr_ void **ppVideoDecoder
);
这个方法用于创建视频解码器,供应用程序使用。
3. CreateVideoDecoderHeap: 创建视频解码器堆。
HRESULT CreateVideoDecoderHeap(
_In_ const D3D12_VIDEO_DECODER_HEAP_DESC *pVideoDecoderHeapDesc,
_In_ REFIID riid,
_COM_Outptr_ void **ppVideoDecoderHeap
);
这个方法用于创建视频解码器堆,用于存储解码器的状态等信息。
4. CreateVideoProcessor: 创建视频处理器。
HRESULT CreateVideoProcessor(
UINT NodeMask,
_In_ const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC *pOutputStreamDesc,
UINT NumInputStreamDescs,
_In_reads_(NumInputStreamDescs) const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC *pInputStreamDescs,
_In_ REFIID riid,
_COM_Outptr_ void **ppVideoProcessor
);
这个方法用于创建视频处理器,用于执行视频处理操作。
5. GetVideoDecoderProfileCount: 获取硬件支持的视频解码器配置文件(profile)数量。
UINT GetVideoDecoderProfileCount();
这个方法返回硬件支持的视频解码器配置文件的数量。
6. GetVideoDecoderProfile: 获取硬件支持的视频解码器配置文件。
HRESULT GetVideoDecoderProfile(
UINT Index,
_Out_ GUID *pDecoderProfile
);
这个方法返回硬件支持的视频解码器配置文件的 GUID。
请注意,这只是一些方法的简要概述,实际的使用需要根据具体的场景和需求进行更详细的配置和调用。如果需要更多详细信息,建议查阅最新的官方文档或 API 参考。
转载请注明出处:http://www.pingtaimeng.com/article/detail/26220/Win32 API/D3d12video.h/ID3D12VideoDevice1