ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Wed Feb 24 22:10:32 2016 +0100| [c09248aecd0d3f03064387734094ec75a23e1078] | committer: Paul B Mahol
avfilter/af_astats: reset stats prior not after filtering This way stats printed at uninit are also useful. Signed-off-by: Paul B Mahol <one...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c09248aecd0d3f03064387734094ec75a23e1078 --- libavfilter/af_astats.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavfilter/af_astats.c b/libavfilter/af_astats.c index b3b8f28..70ec28a 100644 --- a/libavfilter/af_astats.c +++ b/libavfilter/af_astats.c @@ -119,6 +119,7 @@ static int config_output(AVFilterLink *outlink) s->nb_channels = outlink->channels; s->mult = exp((-1 / s->time_constant / outlink->sample_rate)); s->tc_samples = 5 * s->time_constant * outlink->sample_rate + .5; + s->nb_frames = 0; reset_stats(s); @@ -269,6 +270,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) const double *src; int i, c; + if (s->reset_count > 0) { + if (s->nb_frames >= s->reset_count) { + reset_stats(s); + s->nb_frames = 0; + } + s->nb_frames++; + } + switch (inlink->format) { case AV_SAMPLE_FMT_DBLP: for (c = 0; c < channels; c++) { @@ -292,14 +301,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) if (s->metadata) set_metadata(s, metadata); - if (s->reset_count > 0) { - s->nb_frames++; - if (s->nb_frames >= s->reset_count) { - reset_stats(s); - s->nb_frames = 0; - } - } - return ff_filter_frame(inlink->dst->outputs[0], buf); } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog