]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_afir.h
avfilter/vf_gblur: add missing arch check
[ffmpeg] / libavfilter / af_afir.h
index f9bec54b8ce29040c8f2b89bbf4923f5a5a15fc2..4f44675848a3540154c2cba5b088cfc025681b08 100644 (file)
@@ -53,6 +53,11 @@ typedef struct AudioFIRSegment {
     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;
 
@@ -69,10 +74,12 @@ typedef struct AudioFIRContext {
     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_taps;
     int nb_channels;
@@ -82,16 +89,18 @@ typedef struct AudioFIRContext {
     AudioFIRSegment seg[1024];
     int nb_segments;
 
-    AVFrame *in[2];
+    AVFrame *in;
+    AVFrame *ir[32];
     AVFrame *video;
     int min_part_size;
     int64_t pts;
 
+    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 */