[Libav-user] How can AVFilter tell if input is CFR/VFR, and determine frame rate?
Richard Ling
richard.b.ling at gmail.com
Sat Sep 30 02:11:24 EEST 2017
Hello,
How can an AVFilter determine whether its input is VFR or CFR?
If the input is CFR, how can it get the frame rate in FPS?
I would like to do this in advance of processing any frames, that is,
in init() or config_input().
Please see the implementation below:
static int is_vfr(AVFilterLink *inlink)
{
return ???; // what goes here?
}
static float get_cfr_fps(AVFilterLink *inlink)
{
return 1.0f / av_q2d(inlink->time_base); // is this correct??
}
static int config_input(AVFilterLink *inlink)
{
float fps;
if (is_vfr(inlink)) {
av_log(ctx, AV_LOG_ERROR, "This filter does not support VFR video.\n");
return AVERROR(EINVAL);
}
fps = get_cfr_fps(inlink);
...
}
Thanks in advance...
R
More information about the Libav-user
mailing list