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

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


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

diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c
index e7d213c..5787141 100644
--- a/libavfilter/vf_overlay.c
+++ b/libavfilter/vf_overlay.c
@@ -119,15 +119,6 @@ AVFILTER_DEFINE_CLASS(overlay);
 static av_cold int init(AVFilterContext *ctx, const char *args)
 {
     OverlayContext *over = ctx->priv;
-    static const char *shorthand[] = { "x", "y", NULL };
-    int ret;
-
-    over->class = &overlay_class;
-    av_opt_set_defaults(over);
-
-    ret = av_opt_set_from_string(over, args, shorthand, "=", ":");
-    if (ret < 0)
-        return ret;
 
     if (over->allow_packed_rgb) {
         av_log(ctx, AV_LOG_WARNING,
@@ -141,8 +132,6 @@ static av_cold void uninit(AVFilterContext *ctx)
 {
     OverlayContext *over = ctx->priv;
 
-    av_opt_free(over);
-
     av_frame_free(&over->overpicref);
     ff_bufqueue_discard_all(&over->queue_main);
     ff_bufqueue_discard_all(&over->queue_over);
@@ -660,6 +649,8 @@ static const AVFilterPad avfilter_vf_overlay_outputs[] = {
     { NULL }
 };
 
+static const char *const shorthand[] = { "x", "y", NULL };
+
 AVFilter avfilter_vf_overlay = {
     .name      = "overlay",
     .description = NULL_IF_CONFIG_SMALL("Overlay a video source on top of the input."),
@@ -674,4 +665,5 @@ AVFilter avfilter_vf_overlay = {
     .inputs    = avfilter_vf_overlay_inputs,
     .outputs   = avfilter_vf_overlay_outputs,
     .priv_class = &overlay_class,
+    .shorthand  = shorthand,
 };
-- 
1.8.2



More information about the ffmpeg-devel mailing list