Commit 7ac736af authored by Paul B Mahol's avatar Paul B Mahol

lavfi/frei0r: use AV_OPT_TYPE_VIDEO_RATE

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 2634af57
...@@ -68,7 +68,7 @@ typedef struct Frei0rContext { ...@@ -68,7 +68,7 @@ typedef struct Frei0rContext {
char *dl_name; char *dl_name;
char *params; char *params;
char *size; char *size;
char *framerate; AVRational framerate;
/* only used by the source */ /* only used by the source */
int w, h; int w, h;
...@@ -455,19 +455,14 @@ AVFilter avfilter_vf_frei0r = { ...@@ -455,19 +455,14 @@ AVFilter avfilter_vf_frei0r = {
static av_cold int source_init(AVFilterContext *ctx) static av_cold int source_init(AVFilterContext *ctx)
{ {
Frei0rContext *s = ctx->priv; Frei0rContext *s = ctx->priv;
AVRational frame_rate_q;
if (av_parse_video_size(&s->w, &s->h, s->size) < 0) { if (av_parse_video_size(&s->w, &s->h, s->size) < 0) {
av_log(ctx, AV_LOG_ERROR, "Invalid frame size: '%s'\n", s->size); av_log(ctx, AV_LOG_ERROR, "Invalid frame size: '%s'\n", s->size);
return AVERROR(EINVAL); return AVERROR(EINVAL);
} }
if (av_parse_video_rate(&frame_rate_q, s->framerate) < 0) { s->time_base.num = s->framerate.den;
av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: '%s'\n", s->framerate); s->time_base.den = s->framerate.num;
return AVERROR(EINVAL);
}
s->time_base.num = frame_rate_q.den;
s->time_base.den = frame_rate_q.num;
return frei0r_init(ctx, s->dl_name, F0R_PLUGIN_TYPE_SOURCE); return frei0r_init(ctx, s->dl_name, F0R_PLUGIN_TYPE_SOURCE);
} }
...@@ -513,7 +508,7 @@ static int source_request_frame(AVFilterLink *outlink) ...@@ -513,7 +508,7 @@ static int source_request_frame(AVFilterLink *outlink)
static const AVOption frei0r_src_options[] = { static const AVOption frei0r_src_options[] = {
{ "size", "Dimensions of the generated video.", OFFSET(size), AV_OPT_TYPE_STRING, { .str = "" }, .flags = FLAGS }, { "size", "Dimensions of the generated video.", OFFSET(size), AV_OPT_TYPE_STRING, { .str = "" }, .flags = FLAGS },
{ "framerate", NULL, OFFSET(framerate), AV_OPT_TYPE_STRING, { .str = "25" }, .flags = FLAGS }, { "framerate", NULL, OFFSET(framerate), AV_OPT_TYPE_VIDEO_RATE, { .str = "25" }, .flags = FLAGS },
{ "filter_name", NULL, OFFSET(dl_name), AV_OPT_TYPE_STRING, .flags = FLAGS }, { "filter_name", NULL, OFFSET(dl_name), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ "filter_params", NULL, OFFSET(params), AV_OPT_TYPE_STRING, .flags = FLAGS }, { "filter_params", NULL, OFFSET(params), AV_OPT_TYPE_STRING, .flags = FLAGS },
{ NULL }, { NULL },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment