lavfi/select: use standard options parsing.
This commit is contained in:
parent
f7324c068f
commit
8b994c8c1c
@ -149,15 +149,8 @@ static const AVOption options[] = {
|
|||||||
static av_cold int init(AVFilterContext *ctx, const char *args, const AVClass *class)
|
static av_cold int init(AVFilterContext *ctx, const char *args, const AVClass *class)
|
||||||
{
|
{
|
||||||
SelectContext *select = ctx->priv;
|
SelectContext *select = ctx->priv;
|
||||||
const char *shorthand[] = { "expr", NULL };
|
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
select->class = class;
|
|
||||||
av_opt_set_defaults(select);
|
|
||||||
|
|
||||||
if ((ret = av_opt_set_from_string(select, args, shorthand, "=", ":")) < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
if ((ret = av_expr_parse(&select->expr, select->expr_str,
|
if ((ret = av_expr_parse(&select->expr, select->expr_str,
|
||||||
var_names, NULL, NULL, NULL, NULL, 0, ctx)) < 0) {
|
var_names, NULL, NULL, NULL, NULL, 0, ctx)) < 0) {
|
||||||
av_log(ctx, AV_LOG_ERROR, "Error while parsing expression '%s'\n", select->expr_str);
|
av_log(ctx, AV_LOG_ERROR, "Error while parsing expression '%s'\n", select->expr_str);
|
||||||
@ -373,7 +366,6 @@ static av_cold void uninit(AVFilterContext *ctx)
|
|||||||
|
|
||||||
av_expr_free(select->expr);
|
av_expr_free(select->expr);
|
||||||
select->expr = NULL;
|
select->expr = NULL;
|
||||||
av_opt_free(select);
|
|
||||||
|
|
||||||
#if CONFIG_AVCODEC
|
#if CONFIG_AVCODEC
|
||||||
if (select->do_scene_detect) {
|
if (select->do_scene_detect) {
|
||||||
@ -402,6 +394,8 @@ static int query_formats(AVFilterContext *ctx)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *const shorthand[] = { "expr", NULL };
|
||||||
|
|
||||||
#if CONFIG_ASELECT_FILTER
|
#if CONFIG_ASELECT_FILTER
|
||||||
|
|
||||||
#define aselect_options options
|
#define aselect_options options
|
||||||
@ -451,6 +445,7 @@ AVFilter avfilter_af_aselect = {
|
|||||||
.inputs = avfilter_af_aselect_inputs,
|
.inputs = avfilter_af_aselect_inputs,
|
||||||
.outputs = avfilter_af_aselect_outputs,
|
.outputs = avfilter_af_aselect_outputs,
|
||||||
.priv_class = &aselect_class,
|
.priv_class = &aselect_class,
|
||||||
|
.shorthand = shorthand,
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_ASELECT_FILTER */
|
#endif /* CONFIG_ASELECT_FILTER */
|
||||||
|
|
||||||
@ -507,5 +502,6 @@ AVFilter avfilter_vf_select = {
|
|||||||
.inputs = avfilter_vf_select_inputs,
|
.inputs = avfilter_vf_select_inputs,
|
||||||
.outputs = avfilter_vf_select_outputs,
|
.outputs = avfilter_vf_select_outputs,
|
||||||
.priv_class = &select_class,
|
.priv_class = &select_class,
|
||||||
|
.shorthand = shorthand,
|
||||||
};
|
};
|
||||||
#endif /* CONFIG_SELECT_FILTER */
|
#endif /* CONFIG_SELECT_FILTER */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user