X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=libavfilter%2Fvf_vfrdet.c;h=7e37036aef8c87875f6d366109914d92abce7d15;hb=a04ad248a05e7b613abe09b3bb067f555108d794;hp=cac96e29a2cf760cced27bc85d5fc1721600837b;hpb=e645d7a6d452df83cedcbb1d6708429ceea156da;p=ffmpeg diff --git a/libavfilter/vf_vfrdet.c b/libavfilter/vf_vfrdet.c index cac96e29a2c..7e37036aef8 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"); } @@ -100,7 +104,7 @@ static const AVFilterPad vfrdet_outputs[] = { { NULL } }; -AVFilter ff_vf_vfrdet = { +const AVFilter ff_vf_vfrdet = { .name = "vfrdet", .description = NULL_IF_CONFIG_SMALL("Variable frame rate detect filter."), .priv_size = sizeof(VFRDETContext),