c++ - GPU 去隔行扫描

标签 c++ windows opengl openmax dxva

我有一个使用 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/

相关文章:

c++ - 多个文件中的全局变量

c++ - 无法创建 ICaptureGraphBuilder2 的实例

windows - Windows 驱动程序中的标准 C++ 容器

windows - 你会如何开始自动化我的工作?

C++/OpenGL : VAOs work individually but not together

c++ - 自定义链表const_iterator不能遍历list的非常量实例

c++ - 使用fopen打开.pak文件并将该文件应用于const unsigned char *(C++)

c++ - 球体的 OpenGL UV 贴图(有接缝)

windows - 使用 VBScript 从 Windows 上下文(右键单击)菜单中选择特定菜单项?

java - 正在解析 .obj 文件 : How to do materials/textures?