[FFmpeg-devel] [PATCH 09/21] lavfi/deshake: use standard options parsing.

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


---
 libavfilter/vf_deshake.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/libavfilter/vf_deshake.c b/libavfilter/vf_deshake.c
index 138c25d..2740bba 100644
--- a/libavfilter/vf_deshake.c
+++ b/libavfilter/vf_deshake.c
@@ -362,23 +362,9 @@ static void find_motion(DeshakeContext *deshake, uint8_t *src1, uint8_t *src2,
 
 static av_cold int init(AVFilterContext *ctx, const char *args)
 {
-    int ret;
     DeshakeContext *deshake = ctx->priv;
-    static const char *shorthand[] = {
-        "x", "y", "w", "h", "rx", "ry", "edge",
-        "blocksize", "contrast", "search", "filename",
-        NULL
-    };
 
     deshake->refcount = 20; // XXX: add to options?
-
-    deshake->class = &deshake_class;
-    av_opt_set_defaults(deshake);
-
-    ret = av_opt_set_from_string(deshake, args, shorthand, "=", ":");
-    if (ret < 0)
-        return ret;
-
     deshake->blocksize /= 2;
     deshake->blocksize = av_clip(deshake->blocksize, 4, 128);
 
@@ -440,7 +426,6 @@ static av_cold void uninit(AVFilterContext *ctx)
     if (deshake->avctx)
         avcodec_close(deshake->avctx);
     av_freep(&deshake->avctx);
-    av_opt_free(deshake);
 }
 
 static int filter_frame(AVFilterLink *link, AVFrame *in)
@@ -572,6 +557,12 @@ static const AVFilterPad deshake_outputs[] = {
     { NULL }
 };
 
+static const char *const shorthand[] = {
+    "x", "y", "w", "h", "rx", "ry", "edge",
+    "blocksize", "contrast", "search", "filename",
+    NULL
+};
+
 AVFilter avfilter_vf_deshake = {
     .name          = "deshake",
     .description   = NULL_IF_CONFIG_SMALL("Stabilize shaky video."),
@@ -582,4 +573,5 @@ AVFilter avfilter_vf_deshake = {
     .inputs        = deshake_inputs,
     .outputs       = deshake_outputs,
     .priv_class    = &deshake_class,
+    .shorthand     = shorthand,
 };
-- 
1.8.2



More information about the ffmpeg-devel mailing list