]> git.sesse.net Git - movit/blobdiff - test_util.cpp
Make combine_two_pixels() handle the fact that the GPU has limited subpixel interpola...
[movit] / test_util.cpp
index 1730907c5283b405018ffaa9b21dccec013b7ea7..afeb8486041487878ac666b6916db9efc12d30fd 100644 (file)
@@ -1,3 +1,4 @@
+#include "init.h"
 #include "test_util.h"
 #include "flat_input.h"
 #include "gtest/gtest.h"
@@ -9,8 +10,10 @@
 
 EffectChainTester::EffectChainTester(const float *data, unsigned width, unsigned height,
                                      MovitPixelFormat pixel_format, Colorspace color_space, GammaCurve gamma_curve)
-       : chain(width, height), width(width), height(height)
+       : chain(width, height), width(width), height(height), finalized(false)
 {
+       init_movit();
+
        if (data != NULL) {
                add_input(data, pixel_format, color_space, gamma_curve);
        }
@@ -71,11 +74,14 @@ Input *EffectChainTester::add_input(const unsigned char *data, MovitPixelFormat
 
 void EffectChainTester::run(float *out_data, GLenum format, Colorspace color_space, GammaCurve gamma_curve)
 {
-       ImageFormat image_format;
-       image_format.color_space = color_space;
-       image_format.gamma_curve = gamma_curve;
-       chain.add_output(image_format);
-       chain.finalize();
+       if (!finalized) {
+               ImageFormat image_format;
+               image_format.color_space = color_space;
+               image_format.gamma_curve = gamma_curve;
+               chain.add_output(image_format);
+               chain.finalize();
+               finalized = true;
+       }
 
        chain.render_to_fbo(fbo, width, height);