[FFmpeg-devel] [PATCH 04/21] lavfi/select: use standard options parsing.

Clément Bœsch ubitux at gmail.com
Sun Mar 24 09:28:58 CET 2013


---
 libavfilter/f_select.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
index 603fad3..351b7f8 100644
--- a/libavfilter/f_select.c
+++ b/libavfilter/f_select.c
@@ -149,15 +149,8 @@ static const AVOption options[] = {
 static av_cold int init(AVFilterContext *ctx, const char *args, const AVClass *class)
 {
     SelectContext *select = ctx->priv;
-    const char *shorthand[] = { "expr", NULL };
     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,
                              var_names, NULL, NULL, NULL, NULL, 0, ctx)) < 0) {
         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);
     select->expr = NULL;
-    av_opt_free(select);
 
 #if CONFIG_AVCODEC
     if (select->do_scene_detect) {
@@ -402,6 +394,8 @@ static int query_formats(AVFilterContext *ctx)
     return 0;
 }
 
+static const char *const shorthand[] = { "expr", NULL };
+
 #if CONFIG_ASELECT_FILTER
 
 #define aselect_options options
@@ -451,6 +445,7 @@ AVFilter avfilter_af_aselect = {
     .inputs    = avfilter_af_aselect_inputs,
     .outputs   = avfilter_af_aselect_outputs,
     .priv_class = &aselect_class,
+    .shorthand  = shorthand,
 };
 #endif /* CONFIG_ASELECT_FILTER */
 
@@ -507,5 +502,6 @@ AVFilter avfilter_vf_select = {
     .inputs    = avfilter_vf_select_inputs,
     .outputs   = avfilter_vf_select_outputs,
     .priv_class = &select_class,
+    .shorthand  = shorthand,
 };
 #endif /* CONFIG_SELECT_FILTER */
-- 
1.8.2



More information about the ffmpeg-devel mailing list