c++ - VMR9 是否支持原生 YUV 渲染?

标签 c++ directshow

我一直在使用 VMR9 渲染 YUV 视频流。我有一些性能问题,所以我运行了一个分析器,发现名为 _yvRgb24 的函数占用了 25% 的 CPU 时间。通过进一步调查,我发现 VMR9 使用该函数来呈现我的视频流。

VMR9 是否会在渲染之前将我的 YUV 视频转换为 RGB24?它不能立即进行渲染吗?转换算法好像不快。

我正在使用 MEDIASUBTYPE_IYUV 作为 VMR9 的输出类型。

最佳答案

VMR-9 由 Direct3D 支持,具体像素格式支持的可用性分别取决于。在大多数情况下,您可以选择多种像素格式来渲染,最流行的是 YUY2、YV12、NV12。视频显示时未转换为 RGB。

关于c++ - VMR9 是否支持原生 YUV 渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23567621/

相关文章:

c - 是否可以使用 OpenCV 录制音频

c++ - GNU Make 会自动添加额外的先决条件吗?

c++ - C++ (Visual Studio) 的评论弹出窗口,类似于 Eclipse 和 Javadoc

c++ - 通过输入重定向读取二进制文件 C++ 的最佳方法

c# - 如何从 C++/C# 与 silverlight 网站交互

c++ - 处理器类型的运行时检测 - 原子操作

c# - 如何在 VS 2010 中创建 DirectShow 项目

c++ - 使用 DirectShow 预览网络摄像头

c++ - 播放前 SetPosition 后 EVR 在 Window 上显示少量黑框

c++ - DirectShow - 将 IGraphBuilder * 转换为 double (C++)