X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=resample_effect.cpp;h=c2ef531d3dee6b9fa272bebfe2f97086ce23126a;hp=600b939ace7107b3db9fc7295ef4b13655b5a41e;hb=18fdebc534adc6b7a4c36b290b01d598bcb671bc;hpb=29072985d0a00a53e5b578a1444cee61a0c9e1f2 diff --git a/resample_effect.cpp b/resample_effect.cpp index 600b939..c2ef531 100644 --- a/resample_effect.cpp +++ b/resample_effect.cpp @@ -1,12 +1,16 @@ // Three-lobed Lanczos, the most common choice. #define LANCZOS_RADIUS 3.0 -#include -#include #include +#include +#include +#include +#include +#include -#include "resample_effect.h" #include "effect_chain.h" +#include "effect_util.h" +#include "resample_effect.h" #include "util.h" namespace { @@ -207,7 +211,7 @@ std::string SingleResamplePassEffect::output_fragment_shader() // so out[0] will read from parameters = <0,0>, <1,0>, <2,0> and so on. // // For horizontal scaling, we fill in the exact same texture; -// the shader just interprets is differently. +// the shader just interprets it differently. void SingleResamplePassEffect::update_texture(GLuint glsl_program_num, const std::string &prefix, unsigned *sampler_num) { unsigned src_size, dst_size; @@ -348,6 +352,11 @@ void SingleResamplePassEffect::set_gl_state(GLuint glsl_program_num, const std:: { Effect::set_gl_state(glsl_program_num, prefix, sampler_num); + assert(input_width > 0); + assert(input_height > 0); + assert(output_width > 0); + assert(output_height > 0); + if (input_width != last_input_width || input_height != last_input_height || output_width != last_output_width ||