我要写一个堆叠软件。因此,我想将一个或多个视频文件的帧提取到 opencl
缓冲区,然后使用 opencl 内核
处理它们。
但我不知道如何加载视频帧,因为我从未处理过视频。 当我使用 opencl 时,我的主要关注点显然是高性能!
我知道有 ffmpeg
或 opencv
等库,但由于我不喜欢它,所以我不知道哪个最适合我的需求。
那么你能给我建议使用哪个库/函数,哪个与 opencl
结合使用效果最好(最快)?
我还没有找到有用的东西。我可以从哪里开始? (像简短的文档或教程之类的东西会很好)
提前致谢!
我在 Linux(不需要跨平台)下使用 nvidia 卡工作,我的(首选)编程语言是 c++
。我更喜欢 h264
作为视频格式,但是 avi
、mov
、mp4
... 也是可以的。
最佳答案
如果您在 Windows 上使用 AMD GPU,请尝试使用 AMD Media SDK。
来自 SemiAcurate 网站 http://semiaccurate.com/2012/06/18/amd-media-sdk-announced-at-afds/
'AMD 的媒体 SDK。该 SDK 的目的是通过 API 和代码示例公开 AMD 的固定功能硬件 block 和 GPU 加速能力。在竞争激烈的市场环境中,AMD 需要开发人员利用其 APU 中基于 GPU 的功能,以便 APU 为一般计算工作负载提供切实的好处。为此,AMD 正在准备示例应用程序,创建供开发人员在其应用程序中使用的 API,并通过指南和教程记录所有内容,作为他们创建此媒体 SDK 的一部分。”
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/media-sdk/
我认为它仍处于测试阶段,但有一组示例
关于c++ - OpenCL 视频处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20953729/