Andreas Rheinhardt: > Done in 0df18f29ae218f30b3ecff7c930176b8ebee56aa, > accidentally undone in 163e737c1793eeea9c2df15298253ffc04906afe. > > Signed-off-by: Andreas Rheinhardt <[email protected]> > --- > libavfilter/af_afir.c | 81 ++++++++++++++++++++++++++++++- > libavfilter/af_afir.h | 110 ------------------------------------------ > 2 files changed, 80 insertions(+), 111 deletions(-) > delete mode 100644 libavfilter/af_afir.h > > diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c > index 8997fbd7c9..24f8f8cbf1 100644 > --- a/libavfilter/af_afir.c > +++ b/libavfilter/af_afir.c > @@ -34,15 +34,94 @@ > #include "libavutil/frame.h" > #include "libavutil/log.h" > #include "libavutil/opt.h" > +#include "libavutil/rational.h" > > #include "audio.h" > #include "avfilter.h" > #include "filters.h" > #include "formats.h" > #include "internal.h" > -#include "af_afir.h" > #include "af_afirdsp.h" > > +#define MAX_IR_STREAMS 32 > + > +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 *sumin; > + AVFrame *sumout; > + AVFrame *blockout; > + AVFrame *tempin; > + AVFrame *tempout; > + AVFrame *buffer; > + AVFrame *coeff; > + AVFrame *input; > + AVFrame *output; > + > + AVTXContext **ctx, **tx, **itx; > + av_tx_fn ctx_fn, tx_fn, itx_fn; > +} AudioFIRSegment; > + > +typedef struct AudioFIRContext { > + const AVClass *class; > + > + float wet_gain; > + float dry_gain; > + float length; > + int gtype; > + float ir_norm; > + float ir_link; > + float ir_gain; > + int ir_format; > + int ir_load; > + float max_ir_len; > + int response; > + int w, h; > + AVRational frame_rate; > + int ir_channel; > + int minp; > + int maxp; > + int nb_irs; > + int prev_selir; > + int selir; > + int precision; > + int format; > + > + int eof_coeffs[MAX_IR_STREAMS]; > + int have_coeffs[MAX_IR_STREAMS]; > + int nb_taps[MAX_IR_STREAMS]; > + int nb_segments[MAX_IR_STREAMS]; > + int max_offset[MAX_IR_STREAMS]; > + int nb_channels; > + int one2many; > + int prev_is_disabled; > + int *loading; > + double *ch_gain; > + > + AudioFIRSegment seg[MAX_IR_STREAMS][1024]; > + > + AVFrame *in; > + AVFrame *xfade[2]; > + AVFrame *fadein[2]; > + AVFrame *ir[MAX_IR_STREAMS]; > + AVFrame *norm_ir[MAX_IR_STREAMS]; > + int min_part_size; > + int max_part_size; > + int64_t pts; > + > + AudioFIRDSPContext afirdsp; > + AVFloatDSPContext *fdsp; > +} AudioFIRContext; > + > #define DEPTH 32 > #include "afir_template.c" > > diff --git a/libavfilter/af_afir.h b/libavfilter/af_afir.h > deleted file mode 100644 > index 8e4afd79c9..0000000000 > --- a/libavfilter/af_afir.h > +++ /dev/null > @@ -1,110 +0,0 @@ > -/* > - * Copyright (c) 2017 Paul B Mahol > - * > - * This file is part of FFmpeg. > - * > - * FFmpeg is free software; you can redistribute it and/or > - * modify it under the terms of the GNU Lesser General Public > - * License as published by the Free Software Foundation; either > - * version 2.1 of the License, or (at your option) any later version. > - * > - * FFmpeg is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - * Lesser General Public License for more details. > - * > - * You should have received a copy of the GNU Lesser General Public > - * License along with FFmpeg; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > - */ > - > -#ifndef AVFILTER_AFIR_H > -#define AVFILTER_AFIR_H > - > -#include "libavutil/float_dsp.h" > -#include "libavutil/frame.h" > -#include "libavutil/rational.h" > -#include "libavutil/tx.h" > -#include "avfilter.h" > -#include "af_afirdsp.h" > - > -#define MAX_IR_STREAMS 32 > - > -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 *sumin; > - AVFrame *sumout; > - AVFrame *blockout; > - AVFrame *tempin; > - AVFrame *tempout; > - AVFrame *buffer; > - AVFrame *coeff; > - AVFrame *input; > - AVFrame *output; > - > - AVTXContext **ctx, **tx, **itx; > - av_tx_fn ctx_fn, tx_fn, itx_fn; > -} AudioFIRSegment; > - > -typedef struct AudioFIRContext { > - const AVClass *class; > - > - float wet_gain; > - float dry_gain; > - float length; > - int gtype; > - float ir_norm; > - float ir_link; > - float ir_gain; > - int ir_format; > - int ir_load; > - float max_ir_len; > - int response; > - int w, h; > - AVRational frame_rate; > - int ir_channel; > - int minp; > - int maxp; > - int nb_irs; > - int prev_selir; > - int selir; > - int precision; > - int format; > - > - int eof_coeffs[MAX_IR_STREAMS]; > - int have_coeffs[MAX_IR_STREAMS]; > - int nb_taps[MAX_IR_STREAMS]; > - int nb_segments[MAX_IR_STREAMS]; > - int max_offset[MAX_IR_STREAMS]; > - int nb_channels; > - int one2many; > - int prev_is_disabled; > - int *loading; > - double *ch_gain; > - > - AudioFIRSegment seg[MAX_IR_STREAMS][1024]; > - > - AVFrame *in; > - AVFrame *xfade[2]; > - AVFrame *fadein[2]; > - AVFrame *ir[MAX_IR_STREAMS]; > - AVFrame *norm_ir[MAX_IR_STREAMS]; > - int min_part_size; > - int max_part_size; > - int64_t pts; > - > - AudioFIRDSPContext afirdsp; > - AVFloatDSPContext *fdsp; > -} AudioFIRContext; > - > -#endif /* AVFILTER_AFIR_H */
Will apply this patch tomorrow unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
