OSDN Git Service

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

index 0c084a8..84a14ee 100644 (file)
@@ -169,18 +169,6 @@ static void set_filter_param(FilterParam *fp, int msize_x, int msize_y, double a
 static av_cold int init(AVFilterContext *ctx, const char *args)
 {
     UnsharpContext *unsharp = ctx->priv;
-    static const char *shorthand[] = {
-        "luma_msize_x", "luma_msize_y", "luma_amount",
-        "chroma_msize_x", "chroma_msize_y", "chroma_amount",
-        NULL
-    };
-    int ret;
-
-    unsharp->class = &unsharp_class;
-    av_opt_set_defaults(unsharp);
-
-    if ((ret = av_opt_set_from_string(unsharp, args, shorthand, "=", ":")) < 0)
-        return ret;
 
     set_filter_param(&unsharp->luma,   unsharp->luma_msize_x,   unsharp->luma_msize_y,   unsharp->luma_amount);
     set_filter_param(&unsharp->chroma, unsharp->chroma_msize_x, unsharp->chroma_msize_y, unsharp->chroma_amount);
@@ -256,7 +244,6 @@ static av_cold void uninit(AVFilterContext *ctx)
 
     free_filter_param(&unsharp->luma);
     free_filter_param(&unsharp->chroma);
-    av_opt_free(unsharp);
 }
 
 static int filter_frame(AVFilterLink *link, AVFrame *in)
@@ -300,6 +287,12 @@ static const AVFilterPad avfilter_vf_unsharp_outputs[] = {
     { NULL }
 };
 
+static const char *const shorthand[] = {
+    "luma_msize_x", "luma_msize_y", "luma_amount",
+    "chroma_msize_x", "chroma_msize_y", "chroma_amount",
+    NULL
+};
+
 AVFilter avfilter_vf_unsharp = {
     .name      = "unsharp",
     .description = NULL_IF_CONFIG_SMALL("Sharpen or blur the input video."),
@@ -315,4 +308,5 @@ AVFilter avfilter_vf_unsharp = {
     .outputs   = avfilter_vf_unsharp_outputs,
 
     .priv_class = &unsharp_class,
+    .shorthand = shorthand,
 };