Be better at cleaning up at destruction time. Still stuff to do.
[movit] / test_util.h
1 #ifndef _TEST_UTIL_H
2 #define _TEST_UTIL_H 1
3
4 #include "effect_chain.h"
5
6 class EffectChainTester {
7 public:
8         EffectChainTester(const float *data, unsigned width, unsigned height, MovitPixelFormat pixel_format, ColorSpace color_space, GammaCurve gamma_curve);
9         ~EffectChainTester();
10         
11         EffectChain *get_chain() { return &chain; }
12         Input *add_input(const float *data, MovitPixelFormat pixel_format, ColorSpace color_space, GammaCurve gamma_curve);
13         void run(float *out_data, GLenum format, ColorSpace color_space, GammaCurve gamma_curve);
14
15 private:
16         EffectChain chain;
17         GLuint fbo, texnum;
18         unsigned width, height;
19 };
20
21 void expect_equal(const float *ref, const float *result, unsigned width, unsigned height, float largest_difference_limit = 1.5 / 255.0, float rms_limit = 0.2 / 255.0);
22
23 #endif  // !defined(_TEST_UTIL_H)