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

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


---
 libavfilter/vf_tinterlace.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/libavfilter/vf_tinterlace.c b/libavfilter/vf_tinterlace.c
index bce6301..5caca2f 100644
--- a/libavfilter/vf_tinterlace.c
+++ b/libavfilter/vf_tinterlace.c
@@ -97,25 +97,12 @@ static int query_formats(AVFilterContext *ctx)
     return 0;
 }
 
-static av_cold int init(AVFilterContext *ctx, const char *args)
-{
-    TInterlaceContext *tinterlace = ctx->priv;
-    static const char *shorthand[] = { "mode", NULL };
-
-    tinterlace->class = &tinterlace_class;
-    av_opt_set_defaults(tinterlace);
-
-    return av_opt_set_from_string(tinterlace, args, shorthand, "=", ":");
-}
-
 static av_cold void uninit(AVFilterContext *ctx)
 {
     TInterlaceContext *tinterlace = ctx->priv;
 
     av_frame_free(&tinterlace->cur );
     av_frame_free(&tinterlace->next);
-
-    av_opt_free(tinterlace);
     av_freep(&tinterlace->black_data[0]);
 }
 
@@ -396,14 +383,16 @@ static const AVFilterPad tinterlace_outputs[] = {
     { NULL }
 };
 
+static const char *const shorthand[] = { "mode", NULL };
+
 AVFilter avfilter_vf_tinterlace = {
     .name          = "tinterlace",
     .description   = NULL_IF_CONFIG_SMALL("Perform temporal field interlacing."),
     .priv_size     = sizeof(TInterlaceContext),
-    .init          = init,
     .uninit        = uninit,
     .query_formats = query_formats,
     .inputs        = tinterlace_inputs,
     .outputs       = tinterlace_outputs,
     .priv_class    = &tinterlace_class,
+    .shorthand     = shorthand,
 };
-- 
1.8.2



More information about the ffmpeg-devel mailing list