]> git.sesse.net Git - movit/blobdiff - ycbcr_input.cpp
Merge branch 'master' into epoxy
[movit] / ycbcr_input.cpp
index 6e73d3e2015e219e0fc7f1b7a3961515db96e146..dc5e4d9fd2db9e619d9b680583b6c1f514f65220 100644 (file)
@@ -1,6 +1,6 @@
 #include <Eigen/Core>
 #include <Eigen/LU>
-#include <GL/glew.h>
+#include <epoxy/gl.h>
 #include <assert.h>
 #include <stdio.h>
 #include <string.h>
@@ -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
@@ -63,7 +65,6 @@ YCbCrInput::YCbCrInput(const ImageFormat &image_format,
                        unsigned width, unsigned height)
        : image_format(image_format),
          ycbcr_format(ycbcr_format),
-         finalized(false),
          needs_mipmaps(false),
          width(width),
          height(height),
@@ -96,11 +97,6 @@ YCbCrInput::~YCbCrInput()
        }
 }
 
-void YCbCrInput::finalize()
-{
-       finalized = true;
-}
-       
 void YCbCrInput::set_gl_state(GLuint glsl_program_num, const string& prefix, unsigned *sampler_num)
 {
        for (unsigned channel = 0; channel < 3; ++channel) {
@@ -109,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);
@@ -120,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();
@@ -255,3 +251,5 @@ void YCbCrInput::invalidate_pixel_data()
                }
        }
 }
+
+}  // namespace movit