]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_afir.h
avcodec: postpone removal of deprecated libopenh264 wrapper options
[ffmpeg] / libavfilter / af_afir.h
index 9489ad0b00df96ce6f8b9a2514e35703f9ca13d7..4f44675848a3540154c2cba5b088cfc025681b08 100644 (file)
@@ -21,7 +21,6 @@
 #ifndef AVFILTER_AFIR_H
 #define AVFILTER_AFIR_H
 
-#include "libavutil/audio_fifo.h"
 #include "libavutil/common.h"
 #include "libavutil/float_dsp.h"
 #include "libavutil/opt.h"
 #include "formats.h"
 #include "internal.h"
 
+typedef struct AudioFIRSegment {
+    int nb_partitions;
+    int part_size;
+    int block_size;
+    int fft_length;
+    int coeff_size;
+    int input_size;
+    int input_offset;
+
+    int *output_offset;
+    int *part_index;
+
+    AVFrame *sum;
+    AVFrame *block;
+    AVFrame *buffer;
+    AVFrame *coeff;
+    AVFrame *input;
+    AVFrame *output;
+
+    RDFTContext **rdft, **irdft;
+} AudioFIRSegment;
+
+typedef struct AudioFIRDSPContext {
+    void (*fcmul_add)(float *sum, const float *t, const float *c,
+                      ptrdiff_t len);
+} AudioFIRDSPContext;
+
 typedef struct AudioFIRContext {
     const AVClass *class;
 
     float wet_gain;
     float dry_gain;
     float length;
-    int again;
+    int gtype;
+    float ir_gain;
+    int ir_format;
     float max_ir_len;
     int response;
     int w, h;
+    AVRational frame_rate;
     int ir_channel;
+    int minp;
+    int maxp;
+    int nb_irs;
+    int selir;
 
     float gain;
 
-    int eof_coeffs;
+    int eof_coeffs[32];
     int have_coeffs;
-    int nb_coeffs;
     int nb_taps;
-    int part_size;
-    int part_index;
-    int coeff_size;
-    int block_size;
-    int nb_partitions;
     int nb_channels;
-    int ir_length;
-    int fft_length;
     int nb_coef_channels;
     int one2many;
-    int nb_samples;
-    int want_skip;
-    int need_padding;
 
-    RDFTContext **rdft, **irdft;
-    float **sum;
-    float **block;
-    FFTComplex **coeff;
+    AudioFIRSegment seg[1024];
+    int nb_segments;
 
-    AVAudioFifo *fifo;
-    AVFrame *in[2];
-    AVFrame *buffer;
+    AVFrame *in;
+    AVFrame *ir[32];
     AVFrame *video;
+    int min_part_size;
     int64_t pts;
-    int index;
 
+    AudioFIRDSPContext afirdsp;
     AVFloatDSPContext *fdsp;
-    void (*fcmul_add)(float *sum, const float *t, const float *c,
-                      ptrdiff_t len);
+
 } AudioFIRContext;
 
-void ff_afir_init_x86(AudioFIRContext *s);
+void ff_afir_init(AudioFIRDSPContext *s);
+void ff_afir_init_x86(AudioFIRDSPContext *s);
 
 #endif /* AVFILTER_AFIR_H */