X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fvf_vfrdet.c;h=abfa19cdcdedc2475cab70b27ee933776454c1e3;hb=9caf132462de6fe9b68644703c953c899c4e5bb8;hp=cac96e29a2cf760cced27bc85d5fc1721600837b;hpb=c0a647644f2703e1da980dcf988cefd81528d8c9;p=ffmpeg diff --git a/libavfilter/vf_vfrdet.c b/libavfilter/vf_vfrdet.c index cac96e29a2c..abfa19cdcde 100644 --- a/libavfilter/vf_vfrdet.c +++ b/libavfilter/vf_vfrdet.c @@ -29,6 +29,7 @@ typedef struct VFRDETContext { int64_t delta; int64_t min_delta; int64_t max_delta; + int64_t avg_delta; uint64_t vfr; uint64_t cfr; @@ -44,6 +45,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) if (s->delta == AV_NOPTS_VALUE) { s->delta = delta; + s->min_delta = delta; + s->max_delta = delta; } if (s->delta != delta) { @@ -51,6 +54,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) s->delta = delta; s->min_delta = FFMIN(delta, s->min_delta); s->max_delta = FFMAX(delta, s->max_delta); + s->avg_delta += delta; } else { s->cfr++; } @@ -79,7 +83,7 @@ static av_cold void uninit(AVFilterContext *ctx) av_log(ctx, AV_LOG_INFO, "VFR:%f (%"PRIu64"/%"PRIu64")", s->vfr / (float)(s->vfr + s->cfr), s->vfr, s->cfr); if (s->vfr) - av_log(ctx, AV_LOG_INFO, " min: %"PRId64" max: %"PRId64")", s->min_delta, s->max_delta); + av_log(ctx, AV_LOG_INFO, " min: %"PRId64" max: %"PRId64" avg: %"PRId64, s->min_delta, s->max_delta, s->avg_delta / s->vfr); av_log(ctx, AV_LOG_INFO, "\n"); }