X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=ycbcr_input.cpp;fp=ycbcr_input.cpp;h=ed1f5694faa65e0567116b9977cb71cc78175eaa;hp=091880fdade7f0dd2ee778b9bc74366dc668a637;hb=9c12e38b7cd88a77ef297d080b7c41e6bd6326fb;hpb=1ec439c7fb975c09029adaa9090e7f35ce6484b8 diff --git a/ycbcr_input.cpp b/ycbcr_input.cpp index 091880f..ed1f569 100644 --- a/ycbcr_input.cpp +++ b/ycbcr_input.cpp @@ -39,6 +39,10 @@ YCbCrInput::YCbCrInput(const ImageFormat &image_format, heights[2] = height / ycbcr_format.chroma_subsampling_y; pixel_data[0] = pixel_data[1] = pixel_data[2] = NULL; + + register_uniform_sampler2d("tex_y", &uniform_tex_y); + register_uniform_sampler2d("tex_cb", &uniform_tex_cb); + register_uniform_sampler2d("tex_cr", &uniform_tex_cr); } YCbCrInput::~YCbCrInput() @@ -87,9 +91,9 @@ void YCbCrInput::set_gl_state(GLuint glsl_program_num, const string& prefix, uns check_error(); // Bind samplers. - set_uniform_int(glsl_program_num, prefix, "tex_y", *sampler_num + 0); - set_uniform_int(glsl_program_num, prefix, "tex_cb", *sampler_num + 1); - set_uniform_int(glsl_program_num, prefix, "tex_cr", *sampler_num + 2); + uniform_tex_y = *sampler_num + 0; + uniform_tex_cb = *sampler_num + 1; + uniform_tex_cr = *sampler_num + 2; *sampler_num += 3; }