[FFmpeg-devel] [PATCH] delogo: remove sscanf and rely on av_opt_set_from_string() only.

Paul B Mahol onemda at gmail.com
Wed Mar 13 10:55:20 CET 2013


On 3/13/13, Clement Boesch <ubitux at gmail.com> wrote:
> ---
>  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);
> --
> 1.8.1.5
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

lgtm


More information about the ffmpeg-devel mailing list