From 51925daafda9bbd7aba40d23b124ea967552e6dd Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Wed, 15 Jul 2015 19:24:37 +0000 Subject: [PATCH] avfilter/af_astats: make sure p->last is actually always set when measuring max difference Signed-off-by: Paul B Mahol --- libavfilter/af_astats.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/af_astats.c b/libavfilter/af_astats.c index 81cede1cac..0e8c3e243a 100644 --- a/libavfilter/af_astats.c +++ b/libavfilter/af_astats.c @@ -104,6 +104,7 @@ static void reset_stats(AudioStatsContext *s) p->min = p->min_sigma_x2 = DBL_MAX; p->max = p->max_sigma_x2 = DBL_MIN; + p->max_diff = -1; } } @@ -161,7 +162,7 @@ static inline void update_stat(AudioStatsContext *s, ChannelStats *p, double d) p->sigma_x += d; p->sigma_x2 += d * d; p->avg_sigma_x2 = p->avg_sigma_x2 * s->mult + (1.0 - s->mult) * d * d; - p->max_diff = FFMAX(p->max_diff, FFABS(d - p->last)); + p->max_diff = FFMAX(p->max_diff, FFABS(d - (p->max_diff == -1 ? d : p->last))); p->last = d; p->mask |= llrint(d * (1LLU<<63));