]> git.sesse.net Git - movit/blobdiff - fft_pass_effect.h
Fix a small overallocation.
[movit] / fft_pass_effect.h
index f12bda7e416ce3eeefe0f02e55ea4f0bbefa59a9..7689cf1e60688fb60d1c620baffb6ba1fac1dab9 100644 (file)
@@ -57,6 +57,8 @@
 
 #include "effect.h"
 
+namespace movit {
+
 class FFTPassEffect : public Effect {
 public:
        FFTPassEffect();
@@ -96,16 +98,30 @@ public:
                *width = *virtual_width = input_width;
                *height = *virtual_height = input_height;
        }
+
+       virtual void inform_added(EffectChain *chain) { this->chain = chain; }
        
-       enum Direction { HORIZONTAL = 0, VERTICAL = 1 };
+       enum Direction { INVALID = -1, HORIZONTAL = 0, VERTICAL = 1 };
 
 private:
+       void generate_support_texture();
+
+       EffectChain *chain;
        int input_width, input_height;
        GLuint tex;
+
        int fft_size;
        Direction direction;
        int pass_number;  // From 1..n.
        int inverse;  // 0 = forward (FFT), 1 = reverse (IFFT).
+
+       int last_fft_size;
+       Direction last_direction;
+       int last_pass_number;
+       int last_inverse;
+       int last_input_size;
 };
 
+}  // namespace movit
+
 #endif // !defined(_MOVIT_FFT_PASS_EFFECT_H)