]> git.sesse.net Git - movit/blobdiff - flat_input.cpp
needs_update should be set even after we have created the texture, since we have...
[movit] / flat_input.cpp
index f8e36ca2f610eecc607d1da1bdfd291ae8c9a1ec..9c27cc8d66fc110132f43723e60f3c02211f14b7 100644 (file)
@@ -5,8 +5,9 @@
 #include "util.h"
 #include "opengl.h"
 
-FlatInput::FlatInput(ImageFormat image_format, unsigned width, unsigned height)
+FlatInput::FlatInput(ImageFormat image_format, MovitPixelFormat pixel_format, unsigned width, unsigned height)
        : image_format(image_format),
+          pixel_format(pixel_format),
          needs_update(false),
          finalized(false),
          output_linear_gamma(false),
@@ -28,19 +29,19 @@ void FlatInput::finalize()
        } else {
                internal_format = GL_RGBA8;
        }
-       if (image_format.pixel_format == FORMAT_RGB) {
+       if (pixel_format == FORMAT_RGB) {
                format = GL_RGB;
                bytes_per_pixel = 3;
-       } else if (image_format.pixel_format == FORMAT_RGBA) {
+       } else if (pixel_format == FORMAT_RGBA) {
                format = GL_RGBA;
                bytes_per_pixel = 4;
-       } else if (image_format.pixel_format == FORMAT_BGR) {
+       } else if (pixel_format == FORMAT_BGR) {
                format = GL_BGR;
                bytes_per_pixel = 3;
-       } else if (image_format.pixel_format == FORMAT_BGRA) {
+       } else if (pixel_format == FORMAT_BGRA) {
                format = GL_BGRA;
                bytes_per_pixel = 4;
-       } else if (image_format.pixel_format == FORMAT_GRAYSCALE) {
+       } else if (pixel_format == FORMAT_GRAYSCALE) {
                format = GL_LUMINANCE;
                bytes_per_pixel = 1;
        } else {
@@ -74,7 +75,7 @@ void FlatInput::finalize()
        glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
        check_error();
 
-       needs_update = false;
+       needs_update = true;
        finalized = true;
 }