]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_afir.h
avcodec/v210dec: move DSP function setting into dedicated function
[ffmpeg] / libavfilter / af_afir.h
index b70d8e627271c218eadf7c2884b931a0c3aab886..f665c0ef808b9282c11946e3acd95c9aa352b4d5 100644 (file)
 
 typedef struct AudioFIRSegment {
     int nb_partitions;
-    int part_index;
     int part_size;
     int block_size;
     int fft_length;
     int coeff_size;
-    int segment_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;
 
@@ -74,17 +84,20 @@ typedef struct AudioFIRContext {
     int nb_coef_channels;
     int one2many;
 
-    AudioFIRSegment seg;
+    AudioFIRSegment seg[1024];
+    int nb_segments;
 
     AVFrame *in[2];
     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 */