From b650046860d3390de9fd3a9ffef28e36a9a6138e Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sat, 11 Jan 2020 14:08:52 +0100 Subject: [PATCH] avfilter/af_dynaudnorm: use better limits for maximal amplification Fixes regression in smoothness of amplification. --- libavfilter/af_dynaudnorm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavfilter/af_dynaudnorm.c b/libavfilter/af_dynaudnorm.c index db91d28b36..365453d60d 100644 --- a/libavfilter/af_dynaudnorm.c +++ b/libavfilter/af_dynaudnorm.c @@ -521,10 +521,11 @@ static void update_gain_history(DynamicAudioNormalizerContext *s, int channel, } while (cqueue_size(s->gain_history_minimum[channel]) >= s->filter_size) { - double smoothed; + double smoothed, limit; smoothed = gaussian_filter(s, s->gain_history_minimum[channel], s->threshold_history[channel]); - smoothed = FFMIN(smoothed, cqueue_peek(s->gain_history_minimum[channel], s->filter_size / 2)); + limit = cqueue_peek(s->gain_history_original[channel], 0); + smoothed = FFMIN(smoothed, limit); cqueue_enqueue(s->gain_history_smoothed[channel], smoothed);