X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=ycbcr_input.cpp;h=49747151532ae5863de08fdf0016964cbb2cd30e;hp=6e73d3e2015e219e0fc7f1b7a3961515db96e146;hb=5dfd8dfbd444210f9c9e3a0baf5c82b49e76e7ff;hpb=85f9719bf3519b1f1942738d11601584f5d38725 diff --git a/ycbcr_input.cpp b/ycbcr_input.cpp index 6e73d3e..4974715 100644 --- a/ycbcr_input.cpp +++ b/ycbcr_input.cpp @@ -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