X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_afir.h;h=4f44675848a3540154c2cba5b088cfc025681b08;hb=fe7f0d366fdea04af1bb4c7c188750b99b3593c4;hp=aaeb66536fa4c053fbc0f883ffce6f285bc53527;hpb=6e050e0085b3f6f1109a0593aad63ec6e6bf23ff;p=ffmpeg diff --git a/libavfilter/af_afir.h b/libavfilter/af_afir.h index aaeb66536fa..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,7 +31,32 @@ #include "formats.h" #include "internal.h" -#define MAX_IR_DURATION 30 +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; @@ -40,44 +64,43 @@ typedef struct AudioFIRContext { 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[2]; - 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 */