Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GPU deinterlacing

Tags:

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...

like image 637
ronag Avatar asked Mar 15 '12 17:03

ronag


People also ask

Should deinterlacing be on or off?

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.

Does deinterlacing improve quality?

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.

What is deinterlacing video mean?

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.

What is the purpose of deinterlacing?

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.


1 Answers

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.

like image 168
Robinson Avatar answered Nov 12 '22 05:11

Robinson