> RGB转换是硬件加速的?

我们有一个应用程序读取GigE YUV视频流并将其显示在屏幕上。 通过分析,我们了解到,将每帧从YUV(UYVY)转换为RGB24的功能比其他任何一款相机到屏幕管道至少要多一倍的时间和CPU。

我们使用的转换功能由GigE软件供应商(Pleora)提供,并且比我们自己的'未经验证'(非优化)实施稍快。 我们正在为我们的其余管道使用DirectShow。 '任务管理器基准测试'显示了我们的1080p 30fps流,当我们跳过转换(当然得到乱码图像)时,CPU使用率为4-5%,当我们调用转换函数时,CPU使用率为15-19%。

我们的问题是:

  • 是否有一个DirectShow过滤器可以为我们做这种转换,希望以更高性能的方式进行,而不是依靠第三方SDK或我们自己的(基于CPU的串行)转换功能?
  • 这个转换必须在CPU上完成,还是以某种方式可以卸载到GPU进行并行处理?
  • 谢谢! 埃里克。


    转换可能是GPU处理的一个很好的候选者,但是你将如何处理转换后的数据呢? 如果您需要软件进行进一步处理,那么从视频适配器读回可能会破坏将处理卸载到GPU可能获得的所有增益。 如果您只是为了演示目的而需要它,那么您不需要转换,您可以将YUV图像传送到视频适配器并让它以这种方式呈现(这是管道的理想配置,因为您没有任何转换)。

    谈到软件转换,我不确定您现在使用的转换的质量,但是有高度优化(SIMD启用)转换可用:

  • 标准Windows Vista + DMO
  • FFmpeg的libswscale
  • 英特尔IPP原始资料
  • 所有这三个或多或少都可以轻松地插入到DirectShow管道中。 此外,高分辨率图像也是并行软件处理的理想选择。

    链接地址: http://www.djcxy.com/p/11295.html

    上一篇: > RGB conversion be hardware accelerated?

    下一篇: Request Parameters Outside Controller