Andreas Rheinhardt: > Only the AudioFIRDSPContext and the functions for its initialization > are needed outside of lavfi/af_afir.c. > Also rename the header to af_afirdsp.h to reflect the change. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > --- > libavfilter/af_afir.c | 71 +++++++++++++++++++++- > libavfilter/af_afir.h | 108 --------------------------------- > libavfilter/af_afirdsp.h | 34 +++++++++++ > libavfilter/x86/af_afir_init.c | 2 +- > tests/checkasm/af_afir.c | 2 +- > 5 files changed, 106 insertions(+), 111 deletions(-) > delete mode 100644 libavfilter/af_afir.h > create mode 100644 libavfilter/af_afirdsp.h > > diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c > index 72e77eda19..d7ae468428 100644 > --- a/libavfilter/af_afir.c > +++ b/libavfilter/af_afir.c > @@ -30,8 +30,11 @@ > #include "libavutil/channel_layout.h" > #include "libavutil/common.h" > #include "libavutil/float_dsp.h" > +#include "libavutil/frame.h" > #include "libavutil/intreadwrite.h" > +#include "libavutil/log.h" > #include "libavutil/opt.h" > +#include "libavutil/rational.h" > #include "libavutil/xga_font_data.h" > > #include "audio.h" > @@ -39,7 +42,73 @@ > #include "filters.h" > #include "formats.h" > #include "internal.h" > -#include "af_afir.h" > +#include "af_afirdsp.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 *sumin; > + AVFrame *sumout; > + AVFrame *blockin; > + AVFrame *blockout; > + AVFrame *buffer; > + AVFrame *coeff; > + AVFrame *input; > + AVFrame *output; > + > + AVTXContext **tx, **itx; > + av_tx_fn tx_fn, itx_fn; > +} AudioFIRSegment; > + > +typedef struct AudioFIRContext { > + const AVClass *class; > + > + float wet_gain; > + float dry_gain; > + float length; > + 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[32]; > + int have_coeffs; > + int nb_taps; > + int nb_channels; > + int nb_coef_channels; > + int one2many; > + > + AudioFIRSegment seg[1024]; > + int nb_segments; > + > + AVFrame *in; > + AVFrame *ir[32]; > + AVFrame *video; > + int min_part_size; > + int64_t pts; > + > + AudioFIRDSPContext afirdsp; > + AVFloatDSPContext *fdsp; > +} AudioFIRContext; > > static void fcmul_add_c(float *sum, const float *t, const float *c, > ptrdiff_t len) > { > diff --git a/libavfilter/af_afir.h b/libavfilter/af_afir.h > deleted file mode 100644 > index cf00dbfc66..0000000000 > --- a/libavfilter/af_afir.h > +++ /dev/null > @@ -1,108 +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 <stddef.h> > -#include <stdint.h> > - > -#include "libavutil/tx.h" > -#include "libavutil/float_dsp.h" > -#include "libavutil/frame.h" > -#include "libavutil/log.h" > -#include "libavutil/rational.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 *sumin; > - AVFrame *sumout; > - AVFrame *blockin; > - AVFrame *blockout; > - AVFrame *buffer; > - AVFrame *coeff; > - AVFrame *input; > - AVFrame *output; > - > - AVTXContext **tx, **itx; > - av_tx_fn tx_fn, itx_fn; > -} 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; > - > - float wet_gain; > - float dry_gain; > - float length; > - 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[32]; > - int have_coeffs; > - int nb_taps; > - int nb_channels; > - int nb_coef_channels; > - int one2many; > - > - AudioFIRSegment seg[1024]; > - int nb_segments; > - > - AVFrame *in; > - AVFrame *ir[32]; > - AVFrame *video; > - int min_part_size; > - int64_t pts; > - > - AudioFIRDSPContext afirdsp; > - AVFloatDSPContext *fdsp; > - > -} AudioFIRContext; > - > -void ff_afir_init(AudioFIRDSPContext *s); > -void ff_afir_init_x86(AudioFIRDSPContext *s); > - > -#endif /* AVFILTER_AFIR_H */ > diff --git a/libavfilter/af_afirdsp.h b/libavfilter/af_afirdsp.h > new file mode 100644 > index 0000000000..f72ab7cd02 > --- /dev/null > +++ b/libavfilter/af_afirdsp.h > @@ -0,0 +1,34 @@ > +/* > + * 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_AFIRDSP_H > +#define AVFILTER_AFIRDSP_H > + > +#include <stddef.h> > + > +typedef struct AudioFIRDSPContext { > + void (*fcmul_add)(float *sum, const float *t, const float *c, > + ptrdiff_t len); > +} AudioFIRDSPContext; > + > +void ff_afir_init(AudioFIRDSPContext *s); > +void ff_afir_init_x86(AudioFIRDSPContext *s); > + > +#endif /* AVFILTER_AFIRDSP_H */ > diff --git a/libavfilter/x86/af_afir_init.c b/libavfilter/x86/af_afir_init.c > index c37212c381..e53817b9c0 100644 > --- a/libavfilter/x86/af_afir_init.c > +++ b/libavfilter/x86/af_afir_init.c > @@ -20,7 +20,7 @@ > #include "libavutil/attributes.h" > #include "libavutil/cpu.h" > #include "libavutil/x86/cpu.h" > -#include "libavfilter/af_afir.h" > +#include "libavfilter/af_afirdsp.h" > > void ff_fcmul_add_sse3(float *sum, const float *t, const float *c, > ptrdiff_t len); > diff --git a/tests/checkasm/af_afir.c b/tests/checkasm/af_afir.c > index b8a845db82..08c55dacfc 100644 > --- a/tests/checkasm/af_afir.c > +++ b/tests/checkasm/af_afir.c > @@ -21,7 +21,7 @@ > #include <float.h> > #include <stdint.h> > > -#include "libavfilter/af_afir.h" > +#include "libavfilter/af_afirdsp.h" > #include "libavutil/internal.h" > #include "libavutil/mem_internal.h" > #include "checkasm.h"
Will apply this patchset tonight unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".