lavfi/vf_pad: use standard options parsing.
authorNicolas George <nicolas.george@normalesup.org>
Sat, 16 Mar 2013 20:27:41 +0000 (21:27 +0100)
committerNicolas George <nicolas.george@normalesup.org>
Wed, 20 Mar 2013 20:13:56 +0000 (21:13 +0100)
libavfilter/vf_pad.c

index 4e1e3b0..ed979bb 100644 (file)
@@ -111,14 +111,6 @@ AVFILTER_DEFINE_CLASS(pad);
 static av_cold int init(AVFilterContext *ctx, const char *args)
 {
     PadContext *pad = ctx->priv;
-    static const char *shorthand[] = { "width", "height", "x", "y", "color", NULL };
-    int ret;
-
-    pad->class = &pad_class;
-    av_opt_set_defaults(pad);
-
-    if ((ret = av_opt_set_from_string(pad, args, shorthand, "=", ":")) < 0)
-        return ret;
 
     if (av_parse_color(pad->rgba_color, pad->color_str, -1, ctx) < 0)
         return AVERROR(EINVAL);
@@ -126,12 +118,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
     return 0;
 }
 
-static av_cold void uninit(AVFilterContext *ctx)
-{
-    PadContext *pad = ctx->priv;
-    av_opt_free(pad);
-}
-
 static int config_input(AVFilterLink *inlink)
 {
     AVFilterContext *ctx = inlink->dst;
@@ -416,17 +402,19 @@ static const AVFilterPad avfilter_vf_pad_outputs[] = {
     { NULL }
 };
 
+static const char *const shorthand[] = { "width", "height", "x", "y", "color", NULL };
+
 AVFilter avfilter_vf_pad = {
     .name          = "pad",
     .description   = NULL_IF_CONFIG_SMALL("Pad input image to width:height[:x:y[:color]] (default x and y: 0, default color: black)."),
 
     .priv_size     = sizeof(PadContext),
     .init          = init,
-    .uninit        = uninit,
     .query_formats = query_formats,
 
     .inputs    = avfilter_vf_pad_inputs,
 
     .outputs   = avfilter_vf_pad_outputs,
     .priv_class = &pad_class,
+    .shorthand = shorthand,
 };