I am using OpenGL 4.2 in my project, using glew and SDL.
What is the fastest way to transfer an RGB 24-bit or grey scale 8-bit image (decoded video frame) from system memory to an OpenGL texture? Is using PBOs the best way to accomplish this, even with modern OpenGL? I saw a NVidia sample using PBOs for this, but its quite a few years old.
The video frames are coming in at 30-60 hz, 640x480..
What is the best way to allocate the gl texture? Should I force power of 2 for the texture (and update a sub rect)?
Use GL_BGRA8 for the internal format, and GL_BGRA for the pixel format (as apposed to GL_RGB for both)?
Should I use BGRA even for grey scale video?
Thanx for any suggestions.