ID3D12VideoDecoderHeap 接口是 Direct3D 12 中用于表示视频解码器堆(heap)的接口。视频解码器堆用于存储解码所需的资源,例如解码器状态、参考图像等。

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

1. GetDesc: 获取解码器堆的描述信息。
   HRESULT GetDesc(
       _Out_  D3D12_VIDEO_DECODER_HEAP_DESC *pDesc
   );

   这个方法用于获取解码器堆的描述信息,包括堆的大小、解码器的关联等。

2. GetProtectedResourceSession: 获取解码器堆的保护资源会话。
   HRESULT GetProtectedResourceSession(
       REFIID riid,
       _COM_Outptr_  void **ppProtectedResourceSession
   );

   这个方法用于获取与解码器堆关联的保护资源会话。

3. GetCreationNode: 获取创建解码器堆的节点。
   UINT GetCreationNode();

   这个方法返回创建解码器堆的节点索引。

4. MapHeap: 将解码器堆映射到CPU地址空间。
   HRESULT MapHeap(
       _Outptr_result_bytebuffer_(*pSizeInBytes)  void **ppData,
       _Out_opt_  UINT *pSizeInBytes
   );

   这个方法用于将解码器堆映射到 CPU 地址空间,以便 CPU 可以访问堆中的数据。

5. UnmapHeap: 取消解码器堆的映射。
   void UnmapHeap();

   这个方法用于取消解码器堆的映射。

请注意,这只是一些方法的简要概述,实际的使用需要根据具体的场景和需求进行更详细的配置和调用。如果需要更多详细信息,建议查阅最新的官方文档或 API 参考。


转载请注明出处:http://www.zyzy.cn/article/detail/26218/Win32 API/D3d12video.h/ID3D12VideoDecoderHeap