使用 ID3D11VideoDecoder 解码 H264 流

Decoding H264 stream with ID3D11VideoDecoder

我正在尝试使用 DirectX11 和接口 https://msdn.microsoft.com/en-us/library/windows/desktop/hh447766%28v=vs.85%29.aspx 解码(和渲染)H264 原始流。不幸的是,我卡在了对 DXVA PictureParameters 缓冲区进行 sumbitting 处理:即 ID3D11VideoContext::SubmitDecoderBuffers 总是 returns E_FAIL。这非常神秘,是否有某个地方使用此接口解码 H264 比特流的示例,因为错误代码 E_FAIL 我可能永远无法断定我做错了什么?这样的例子会很有帮助。

目前,我认为没有用于 h264 解码的带有 ID3D11VideoContext 的示例。但也有一些带有 IDirectXVideoDecoder (DirectX9).

更新

来自 MPC-BE 的源代码是一个好的开始。 (在 src->filters->transform->MPCVideoDec 下)。

(ffmpeg对ID3D11VideoContext有一些使用,但是没有完全详述)

编辑

查看我的回复:How do I use Hardware accelerated video/H.264 decoding with directx 11 and windows 7?