2

我正在将 Y4M 电影显示到屏幕上。解析我可以处理的文件,但是我目前有一个 2d 字节数组,其中包含帧的 YUV 值。是否有内置的硬件加速方式或者我必须将其转换为 RGB 并创建位图?如果有人有一个很好的 WPF 中 DirectX 教程的网站,那也将不胜感激。顺便说一句,这是在 C# 中。

4

1 回答 1

1

YUV 表面可能是特定硬件供应商 (IHV) FourCC 支持的特殊表面。您需要从 IHV 了解他们是否有可以使用的 FourCC,并且您不能依赖它在其他平台上工作。

4:2:2(D3DFMT_YUY2 或 D3DFMT_UYVY)有一个标准的 D3DFORMAT,但 4:4:4 没有默认的 D3DFORMAT。我确信大多数 IHV 确实为此类渲染提供了 FourCC。

值得牢记的是,如果您知道传入数据的 FourCC,那么直接尝试使用该 FourCC 创建一个表面可能是值得的。如果它有效,您就可以开始了 :) 如果没有,那么您可能能够找到一个有效的替代方案,或者您可能需要进行一些手动格式转换。

于 2010-12-22T19:02:11.893 回答