Commit 30bf54b9 authored by Paul B Mahol's avatar Paul B Mahol

avfilter/af_afir: introduce uninit_segment() and use it

parent 8007e8fc
...@@ -593,39 +593,44 @@ static int config_output(AVFilterLink *outlink) ...@@ -593,39 +593,44 @@ static int config_output(AVFilterLink *outlink)
return 0; return 0;
} }
static av_cold void uninit(AVFilterContext *ctx) static void uninit_segment(AVFilterContext *ctx, AudioFIRSegment *seg)
{ {
AudioFIRContext *s = ctx->priv; AudioFIRContext *s = ctx->priv;
int ch;
if (s->seg.coeff) { if (seg->coeff) {
for (ch = 0; ch < s->nb_coef_channels; ch++) { for (int ch = 0; ch < s->nb_coef_channels; ch++) {
av_freep(&s->seg.coeff[ch]); av_freep(&seg->coeff[ch]);
} }
} }
av_freep(&s->seg.coeff); av_freep(&seg->coeff);
if (s->seg.rdft) { if (seg->rdft) {
for (ch = 0; ch < s->nb_channels; ch++) { for (int ch = 0; ch < s->nb_channels; ch++) {
av_rdft_end(s->seg.rdft[ch]); av_rdft_end(seg->rdft[ch]);
} }
} }
av_freep(&s->seg.rdft); av_freep(&seg->rdft);
if (s->seg.irdft) { if (seg->irdft) {
for (ch = 0; ch < s->nb_channels; ch++) { for (int ch = 0; ch < s->nb_channels; ch++) {
av_rdft_end(s->seg.irdft[ch]); av_rdft_end(seg->irdft[ch]);
} }
} }
av_freep(&s->seg.irdft); av_freep(&seg->irdft);
av_frame_free(&s->in[1]); av_frame_free(&seg->block);
av_frame_free(&seg->sum);
av_frame_free(&seg->buffer);
}
static av_cold void uninit(AVFilterContext *ctx)
{
AudioFIRContext *s = ctx->priv;
av_frame_free(&s->seg.block); uninit_segment(ctx, &s->seg);
av_frame_free(&s->seg.sum);
av_frame_free(&s->seg.buffer);
av_freep(&s->fdsp); av_freep(&s->fdsp);
av_frame_free(&s->in[1]);
for (int i = 0; i < ctx->nb_outputs; i++) for (int i = 0; i < ctx->nb_outputs; i++)
av_freep(&ctx->output_pads[i].name); av_freep(&ctx->output_pads[i].name);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment