avfilter/vf_avgblur: fix memory leaks if config_input() is called again

release/5.1
Paul B Mahol 3 years ago
parent 9809f318ea
commit 9bdb476c40
  1. 16
      libavfilter/vf_avgblur.c

@ -187,12 +187,21 @@ static void build_lut(AVFilterContext *ctx, int max)
}
}
static av_cold void uninit(AVFilterContext *ctx)
{
AverageBlurContext *s = ctx->priv;
av_freep(&s->buffer);
}
static int config_input(AVFilterLink *inlink)
{
AVFilterContext *ctx = inlink->dst;
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
AverageBlurContext *s = ctx->priv;
uninit(ctx);
s->depth = desc->comp[0].depth;
s->max = 1 << s->depth;
s->planewidth[1] = s->planewidth[2] = AV_CEIL_RSHIFT(inlink->w, desc->log2_chroma_w);
@ -316,13 +325,6 @@ static int process_command(AVFilterContext *ctx, const char *cmd, const char *ar
return 0;
}
static av_cold void uninit(AVFilterContext *ctx)
{
AverageBlurContext *s = ctx->priv;
av_freep(&s->buffer);
}
static const AVFilterPad avgblur_inputs[] = {
{
.name = "default",

Loading…
Cancel
Save