我有一个应用程序可以使用OpenGL进行视频处理,例如颜色转换,缩放和翻译。我主要使用BGRA(1xGL_BGRA)或YUVA(4xGL_R)视频,即包括Alpha。
现在,我还要进行一些高质量的去隔行处理。我注意到Nvidia通过其“PureVideo”功能支持高质量的硬件加速去隔行。基本上,我想做的是发送带有x个颜色 channel 的隔行扫描OpenGL纹理,并得到两个渐进纹理。
我的问题是如何最轻松,最有效地访问此功能(可能与OpenGL互操作)?
我一直在看DXVA和OpenMax,但它们似乎都专注于回放(不是去隔行处理,即需要设置帧速率等不相关的选项等)和无alpha格式...
最佳答案
gStreamer libraries have good de-interlacing modules.您可以使用DirectShow模块在窗口中显示结果,或者通过挂钩各种事件来自己处理帧。目前,我们正在使用此功能来满足我们所有的视频处理需求。