qv4l2: fix opengl support for RGB32/BGR32.
authorHans Verkuil <hans.verkuil@cisco.com>
Mon, 23 Jun 2014 14:14:54 +0000 (16:14 +0200)
committerHans Verkuil <hans.verkuil@cisco.com>
Mon, 23 Jun 2014 14:14:54 +0000 (16:14 +0200)
For whatever reason the GL_RGBA4 internal format was used instead of
GL_RGB8, so each color component was just 4 bits instead of 8.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
utils/qv4l2/capture-win-gl.cpp

index 5df1c70..27c30fb 100644 (file)
@@ -226,7 +226,7 @@ void CaptureWinGLEngine::changeShader()
                glActiveTexture(GL_TEXTURE0);
                glGenTextures(m_screenTextureCount, m_screenTexture);
                configureTexture(0);
-               glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA4, m_frameWidth, m_frameHeight, 0,
+               glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, m_frameWidth, m_frameHeight, 0,
                             GL_BGRA, GL_UNSIGNED_INT_8_8_8_8, NULL);
                checkError("RGB32 shader");
                break;
@@ -236,7 +236,7 @@ void CaptureWinGLEngine::changeShader()
                glActiveTexture(GL_TEXTURE0);
                glGenTextures(m_screenTextureCount, m_screenTexture);
                configureTexture(0);
-               glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA4, m_frameWidth, m_frameHeight, 0,
+               glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB8, m_frameWidth, m_frameHeight, 0,
                             GL_RGBA, GL_UNSIGNED_INT_8_8_8_8, NULL);
                checkError("BGR32 shader");
                break;