原始 h264 的`D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS` 的数据结构是什么?

问题描述 投票:0回答:1

我正在尝试使用 DirectX 11 视频解码器对 h264 流进行高性能视频解码。

我在微软网站上关注本教程。不幸的是,它们非常模糊。他们只是说:“请求尽可能多的缓冲区”和“填充缓冲区”。

它也只是说:

Direct3D 11 使用与 DXVA 2.0 相同的数据结构进行解码操作。

我假设这意味着

D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS
将映射到:DXVA_PictureParameters 但该结构中的某些字段似乎不符合 Nalu 的 h264 规范DX11 缓冲区类型 Enum 也没有说明如何处理序列参数集 (SPS)。

我为 SPS 和 PPS 使用什么枚举?

我期待更清晰、最新和可用的文档。

c++ windows directx h.264 ms-media-foundation
1个回答
-1
投票

我可以问你为什么要尝试在较低级别解码 H.264 吗?

看,我问是因为您在 stackoverflow 上最近的两个论坛问题中提到的链接指向“Supporting Direct3D 11 Video Decoding in Media Foundation”。

这不是您所谓的“tutorial”,关于如何使用硬件加速解码 H.264。哦,从技术上讲是这样。但该文档实际上是关于如何使用 D3D11 视频解码支持编写您自己的 MFT 的指南。这是一个指南。

但是当 AMD、Intel、NVIDIA 甚至 Microsoft 已经在其所有对象上支持 D3D11 视频解码时,您为什么要尝试编写自己的 H.264 D3D11 视频解码器。你不需要写一个。只需使用他们的一个。

或者您的 D3D11 视频解码尝试是否有任何隐藏的议程或目标?

© www.soinside.com 2019 - 2024. All rights reserved.