【问题标题】:Is it foolish not to use DirectShow as the basis of a CUDA video processing pipeline for Windows?不使用 DirectShow 作为 Windows 的 CUDA 视频处理管道的基础是愚蠢的吗?
【发布时间】:2011-09-28 17:46:52
【问题描述】:

在构建面向 CUDA 的视频处理管道以专门在 Windows 上运行时,有两种方法。

您要么使用 DirectShow,要么不使用。

不使用 directshow 的决定也是自己对管道的每个部分进行编码的决定。

这包括读取、解析、处理和渲染或重新传输流。如果如果

但是,使用 DirectShow,您可以访问相当多的现有组件,这些组件非常有能力完成管道的某些部分工作。

这意味着您可以将开发过程的重点放在编码一个或多个 DirectShow 源、过滤器或渲染器上,这些源、过滤器或渲染器使用 CUDA 封装任何新的或其他不可用的处理。

由于采用了基于组件的架构,您可以很好地开发替代实现,即 OpenCL。无需接触管道的其他部分。

参与 DirectShow 是否有任何责任需要额外的工作来开发和维护非 CUDA 特定的部分?

【问题讨论】:

  • 如果“仅在 Windows 上运行”的断言在您的项目期间不会改变,我认为 DirectShow 中没有任何糟糕的东西可以证明重新发明轮子的成本是合理的。

标签: video cuda directshow opencl video-processing


【解决方案1】:

如果您还没有看过,不妨看看 NVidia GPU SDK (CUDA SDK) 中的“cudaDecodeD3D9”演示。它在没有 DirectShow 的情况下解码和渲染视频(使用 CUDA 和 DirectX9)。同样,如果您愿意,还有一个“cudaDecodeOpenGL”演示。

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 2010-09-18
    • 2013-09-15
    • 2016-05-15
    • 2016-06-17
    • 2018-04-10
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多