X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_afir.h;h=4f44675848a3540154c2cba5b088cfc025681b08;hb=fe7f0d366fdea04af1bb4c7c188750b99b3593c4;hp=3dc2f86f7eb29e0f519dd41d16d4ddac5ddb6dc6;hpb=1d9fe1fdf65b5eebe9d1981fd96b4930f0855a68;p=ffmpeg diff --git a/libavfilter/af_afir.h b/libavfilter/af_afir.h index 3dc2f86f7eb..4f44675848a 100644 --- a/libavfilter/af_afir.h +++ b/libavfilter/af_afir.h @@ -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" @@ -32,6 +31,33 @@ #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; @@ -46,44 +72,35 @@ typedef struct AudioFIRContext { 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 */