ID3D12VideoDevice 接口是 Direct3D 12 中用于表示视频设备的接口。这个接口提供了创建视频解码器、处理器等资源的方法。

以下是 ID3D12VideoDevice 接口的一些方法:

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.zyzy.cn/article/detail/26219/Win32 API/D3d12video.h/ID3D12VideoDevice