I am new to OpenGL, but I had written a couple of video drivers in embedded systems where I had direct access to video frame buffer.
Right now, all I want is to have fast transfer of video frames into the graphics card.
The hardware is a standard PC with a dual core CPU and most probably with a NVIDIA graphics card. The application will run on both windows and linux. The user interface framework is choosen as Qt.
Due to portability issues (Linux and Windows), I want to use OpenGL through the Qt QGLWidget classes.
I will not perform any 3D fancy stuff. All I need is:
Fast transfer of video frames into the graphics card.
(The target is 16 video windows which are bombarded with 640x480@25fps video streams. This means 400 frames per second.
The scaling of these images into smaller windows. This should be performed on the GPU (graphix processor) if possible.
So I need a fast frame transfer (bitblt) and scaling.
I tried a few things with Qt QGLWidget and PBOs but the result is ugly. One video window consuming almost 30 - 45% of the CPU.
So I need some advice maybe some article, tutorial or code samples to start with.
Unfortunately, most of OpenGL tutorials are concentrated on 3D drawing features of the OpenGL.