D3D11:渲染到 NV12 纹理上

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

MSDN 表示 NV12 纹理的 RTV(渲染目标视图)在硬件功能级别 11_1 或更高版本上受支持。 我正在通过两个 RTV(Y 的 R8_UNORM,UV 的 R8G8_UNORM)将 RGBA 纹理渲染到 NV12 纹理上,同时在像素着色器中转换色彩空间。

嗯..它不起作用。可能的原因是
1) 我的显示适配器的可用功能级别是 11_0。
2) 只有 MS 的框架可以使用该功能。
3) d3d 设备或上下文上的某些配置丢失。

顺便说一句,当我在 MediaElement 视频效果中构建 NV12 渲染示例时,它运行良好。然后我尝试将我的渲染代码嵌入到示例中(在 MediaElement 视频效果的回调中使用 D3D 设备)。我的代码运行良好!

问题是
1) NV 渲染是否仅适用于 MediaElement?
2) 如果我升级支持 11_1 的显示适配器,它是否可以正常工作?
3) 如果我缺少某些配置,请告诉我。

rendering yuv direct3d11
1个回答
0
投票

看看 Github 中的这个代码示例,我试过 D3D11 Videoprocessor 方法,效果很好。

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