【发布时间】:2014-05-09 14:49:10
【问题描述】:
我一直在使用 VMR9 渲染 YUV 视频流。我有一些性能问题,所以我运行了一个分析器,发现名为 _yvRgb24 的函数占用了 25% 的 CPU 时间。通过进一步调查,我发现 VMR9 使用该功能来渲染我的视频流。
VMR9 是否在渲染之前将我的YUV 视频转换为 RGB24?它不能立即进行渲染吗?转换算法好像不是很快。
我使用MEDIASUBTYPE_IYUV 作为 VMR9 的输出类型。
【问题讨论】:
-
除非您有专门的硬件,否则必须在一个或另一个地方进行从 YUV 到 RGB 的转换。理想情况下,转换可以直接在 GPU 上而不是在 CPU 上进行,以使事情变得更快、更高效
-
所以最终输出到 HWND 应该是 RGB?
-
是的,据我所知,没有任何 PC/控制台/移动设备硬件可以从软件输出除 RGB 或其变体(rgb8、rgba8、rgba5551、rgb565 等)以外的任何内容
标签: c++ directshow