I have an application that does video processing such as color transforms, scaling and translations using OpenGL. I'm mostly working with BGRA (1xGL_BGRA) or YUVA (4xGL_R) video, i.e. including alpha.
Now I would also like to do some high quality deinterlacing. I've noticed that Nvidia supports high quality hardware accelerated de-interlacing through their "PureVideo" functionality. Basically what i'd like to do is to send in a interlaced OpenGL texture with x number of color channels and get out two progressive textures.
My question is how do I access this functionality easiest, and most efficiently (possibly in interop with OpenGL)?
I've been looking at DXVA and OpenMax, but both seem rather focused on playback (not deinterlace processing, i.e. non-relevant options such as frame-rate needs to be set etc...) and no-alpha formats...
If the setting is On, VLC will apply deinterlacing even if the original is not interlaced (which is a really bad idea). The setting Off, respectively, always keeps deinterlacing off. The most reliable choice is to switch deinterlacing on/off manually when needed.
The “deinterlace video” setting is one of the easiest ways to improve video quality and it requires nothing more than a click of a button.
Deinterlacing is the process of converting interlaced video into a non-interlaced or progressive form. Interlaced video signals are commonly found in analog television, digital television (HDTV) when in the 1080i format, some DVD titles, and a smaller number of Blu-ray discs.
To convert an interlaced image to a progressive scan image. Also called "I to P conversion," deinterlacing is built into most DVD players, A/V receivers, video processors and digital TVs.
gStreamer libraries have good de-interlacing modules. You can use a directshow module to display the results in a window, or process the frames yourself by hooking into various events. We're using this at work at the moment for all of our video processing needs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With