【发布时间】:2011-09-28 17:46:52
【问题描述】:
在构建面向 CUDA 的视频处理管道以专门在 Windows 上运行时,有两种方法。
您要么使用 DirectShow,要么不使用。
不使用 directshow 的决定也是自己对管道的每个部分进行编码的决定。
这包括读取、解析、处理和渲染或重新传输流。如果如果
但是,使用 DirectShow,您可以访问相当多的现有组件,这些组件非常有能力完成管道的某些部分工作。
这意味着您可以将开发过程的重点放在编码一个或多个 DirectShow 源、过滤器或渲染器上,这些源、过滤器或渲染器使用 CUDA 封装任何新的或其他不可用的处理。
由于采用了基于组件的架构,您可以很好地开发替代实现,即 OpenCL。无需接触管道的其他部分。
参与 DirectShow 是否有任何责任需要额外的工作来开发和维护非 CUDA 特定的部分?
【问题讨论】:
-
如果“仅在 Windows 上运行”的断言在您的项目期间不会改变,我认为 DirectShow 中没有任何糟糕的东西可以证明重新发明轮子的成本是合理的。
标签: video cuda directshow opencl video-processing