[FFmpeg-cvslog] lavfi/delogo: remove sscanf and rely on av_opt_set_from_string() only.

Clément Bœsch git at videolan.org
Wed Mar 13 19:11:14 CET 2013


ffmpeg | branch: master | Clément Bœsch <ubitux at gmail.com> | Wed Mar 13 04:21:53 2013 +0100| [de3e0ab35f5e14870e8d14a7e796172b36aba101] | committer: Clément Bœsch

lavfi/delogo: remove sscanf and rely on av_opt_set_from_string() only.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=de3e0ab35f5e14870e8d14a7e796172b36aba101
---

 libavfilter/vf_delogo.c |   13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c
index 10dbc14..946008e 100644
--- a/libavfilter/vf_delogo.c
+++ b/libavfilter/vf_delogo.c
@@ -172,17 +172,12 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
 {
     DelogoContext *delogo = ctx->priv;
     int ret = 0;
+    static const char *shorthand[] = { "x", "y", "w", "h", "band" };
 
     delogo->class = &delogo_class;
     av_opt_set_defaults(delogo);
 
-    if (args)
-        ret = sscanf(args, "%d:%d:%d:%d:%d",
-                     &delogo->x, &delogo->y, &delogo->w, &delogo->h, &delogo->band);
-    if (ret == 5) {
-        if (delogo->band < 0)
-            delogo->show = 1;
-    } else if ((ret = (av_set_options_string(delogo, args, "=", ":"))) < 0)
+    if ((ret = av_opt_set_from_string(delogo, args, shorthand, "=", ":")) < 0)
         return ret;
 
 #define CHECK_UNSET_OPT(opt)                                            \
@@ -195,8 +190,10 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
     CHECK_UNSET_OPT(w);
     CHECK_UNSET_OPT(h);
 
-    if (delogo->show)
+    if (delogo->band < 0 || delogo->show) {
+        delogo->show = 1;
         delogo->band = 4;
+    }
 
     av_log(ctx, AV_LOG_VERBOSE, "x:%d y:%d, w:%d h:%d band:%d show:%d\n",
            delogo->x, delogo->y, delogo->w, delogo->h, delogo->band, delogo->show);



More information about the ffmpeg-cvslog mailing list