]> git.sesse.net Git - movit/blobdiff - ycbcr_input.cpp
Have separate FBOs per resolution and format.
[movit] / ycbcr_input.cpp
index 476f083af05d1ad9b5f26c1fd1b9a60a3393738b..49747151532ae5863de08fdf0016964cbb2cd30e 100644 (file)
@@ -13,6 +13,8 @@
 using namespace Eigen;
 using namespace std;
 
+namespace movit {
+
 namespace {
 
 // OpenGL has texel center in (0.5, 0.5), but different formats have
@@ -103,7 +105,7 @@ void YCbCrInput::set_gl_state(GLuint glsl_program_num, const string& prefix, uns
 
                if (texture_num[channel] == 0) {
                        // (Re-)upload the texture.
-                       texture_num[channel] = resource_pool->create_2d_texture(GL_LUMINANCE8, widths[channel], heights[channel]);
+                       texture_num[channel] = resource_pool->create_2d_texture(GL_R8, widths[channel], heights[channel]);
                        glBindTexture(GL_TEXTURE_2D, texture_num[channel]);
                        check_error();
                        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -114,7 +116,7 @@ void YCbCrInput::set_gl_state(GLuint glsl_program_num, const string& prefix, uns
                        check_error();
                        glPixelStorei(GL_UNPACK_ROW_LENGTH, pitch[channel]);
                        check_error();
-                       glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, widths[channel], heights[channel], GL_LUMINANCE, GL_UNSIGNED_BYTE, pixel_data[channel]);
+                       glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, widths[channel], heights[channel], GL_RED, GL_UNSIGNED_BYTE, pixel_data[channel]);
                        check_error();
                        glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
                        check_error();
@@ -249,3 +251,5 @@ void YCbCrInput::invalidate_pixel_data()
                }
        }
 }
+
+}  // namespace movit