我有一个使用 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 模块在窗口中显示结果,或者通过 Hook 各种事件自己处理帧。我们目前在工作中使用它来满足我们所有的视频处理需求。
关于c++ - GPU 去隔行扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9725396/