From patchwork Fri Nov 25 01:30:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marvin Scholz X-Patchwork-Id: 39409 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp4948314pzb; Thu, 24 Nov 2022 17:31:23 -0800 (PST) X-Google-Smtp-Source: AA0mqf5BDf3g8p4HMDbHKLjbfgGlvyXCdlm5Oll0yp0mkpR4wB92lRqlRvmRRGzDXLg0IZvwJmAh X-Received: by 2002:a05:6402:1f08:b0:461:d21a:c0f3 with SMTP id b8-20020a0564021f0800b00461d21ac0f3mr2425213edb.71.1669339883445; Thu, 24 Nov 2022 17:31:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669339883; cv=none; d=google.com; s=arc-20160816; b=tzGNpAj4v6nzOK9Si0lgy0GeJqFBVPfp4Z/5B0HlzzjTIZpWuv/CMPTMoxdzoN52hs VDzKVtDXZYC2CGgqz797qvx2Ii3dlW0L+j49OXvV7ihctd2bQ0jWAqVwbdZy1MOs5RnT k2CtVJhAv4nrBPdtbBikehrw/CZ3mVKbG1tv7q+aJvKWY7O9OLp6KmzA4FvXHoTjCxTU NzKuM7NTEsscODj/RpoEEqWSZyrr0q2W0Ld+7oUCf9sdp8HNjEjV8rE7xhtyiAaxgeXq 6SOBixc/5ow1soFMPK6pk2n8YC+0KjGkITCowYpbXZo5htXfM0ORkKbWZEHPsrC2NtAd ciqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=UgL1+z32PmDw63Fw0qVx0nZNPpxLPQLVmuk5DRh2ZrE=; b=elE1NuLvJ7FjHhKxiBkHWHCS2Xc+04Nk7cU/lFNBjlm9LXVxxN6OfkKnU/fwmDu6Hc mmCppkBi5iiEc2pl8AY8dKUsK2qHS1nlfswVT0l1DHG5Rd/RitGGDWVxwL1H91rBXL/H iVMWajovo55vHKwuhY3/NG2nweNJSV3MFXfMDhl6bWKdhhJ5MngIGVQmnaNckON18Dc5 I+js/q0LcCNRvikLBpteaeDuiF6B2Gkrdb7JWrjPc2FEKr2Irhett/MTVQ9E1p1pA7Wb 9507l381cGH1qMHpAsf++lYf2jdtlXsZOtjMkkM/27JnSgKQwIB3yXS+2AWQa0obhshs ymEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=KnhlGk6z; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g23-20020a170906349700b007aee7ca1184si1714370ejb.602.2022.11.24.17.31.23; Thu, 24 Nov 2022 17:31:23 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=KnhlGk6z; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CB3FD68BB22; Fri, 25 Nov 2022 03:31:01 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1C05368B48D for ; Fri, 25 Nov 2022 03:30:54 +0200 (EET) Received: by mail-ej1-f54.google.com with SMTP id ha10so7299663ejb.3 for ; Thu, 24 Nov 2022 17:30:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FZcJuuyHPG1d5T3c/30O02qnpcThK8l/GUaaX9994Z4=; b=KnhlGk6zQBfYTN21XeBvEIg14Cj7LWtWOOLePyInzh2ZWYNgEarjH4JdTxCyU/4iso ywmeTzJQUDE98Sa/Zl6OlKXQT90WYxnk5w9WeGm2olDqqBYAZbjGkrsznIl2fe6W4GXv rYGwNOhbmzfpmsViab4irMEbokrbXfp/eXoi/MX9cPYTxZFDQAHe5fsVW8tatDIaWa3G Q4pZs2g9Wfyrxd6A10MAwjTGaEpOzFkcm9r13dMbjisHAvgQVkrK31OE/mecuXDcgiRR a0PuaE0ARzZqSuO7yFFND4HCs+KJaj0Vz9gZinKA+xW91yz4mzlg0HgupfIvbuhrFF6P Ei5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FZcJuuyHPG1d5T3c/30O02qnpcThK8l/GUaaX9994Z4=; b=Qjpi6BTpqoNhPuon3gDRBlJkzZMxUfbvnLZE8EbHoDgfgILfsNmbs/d0GmfjNPTHXT 9EDbu090e7rinLrRhMyjX+IfIYT5J3C69solsCFX/ot/q+xK4PK1pF5S2FRc+rO8Ub60 kT50YcgsgjjAT7CeyO/4s81NJLYoAa9CH0O4C6VGp8k2UN9IhcHgt+YZvYiqWvNolxQK 6MnRKbVifBlJtwTQZIi0kH6A9ZEqhdszf2mEAFll0Gx/TJCopNlgYQAuxvYQtD16tTDk yovHUdqSD2vSKRmkIjKP5cubVPnuoyq91y43RfC0Xjaab8OfV4rdgtlblt7vGcERX8DO wGOw== X-Gm-Message-State: ANoB5pkXZH4iscxfRIEczk7KEWct0ItXW/j/aFVp14W6xelzwqzkQuSN 3i5R/QIIVnrRSeKNmZ0XbrpQydm1UdE= X-Received: by 2002:a17:907:a80b:b0:7b5:cab4:68b8 with SMTP id vo11-20020a170907a80b00b007b5cab468b8mr13234760ejc.685.1669339853492; Thu, 24 Nov 2022 17:30:53 -0800 (PST) Received: from MBP-von-Marvin.citadel.scalie.me (84-112-104-25.cable.dynamic.surfer.at. [84.112.104.25]) by smtp.gmail.com with ESMTPSA id jo9-20020a170906f6c900b0078b1ff41f05sm1011498ejb.43.2022.11.24.17.30.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Nov 2022 17:30:53 -0800 (PST) From: Marvin Scholz To: ffmpeg-devel@ffmpeg.org Date: Fri, 25 Nov 2022 02:30:17 +0100 Message-Id: <20221125013046.40904-3-epirat07@gmail.com> X-Mailer: git-send-email 2.37.0 (Apple Git-136) In-Reply-To: <20221125013046.40904-1-epirat07@gmail.com> References: <20221125013046.40904-1-epirat07@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 02/31] fftools: use av_dict_get_string X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Marvin Scholz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Nvu2QQ5sx75b Instead of manually assembling the string, use av_dict_get_string which handles things like proper escaping too (even though it is not yet needed here). --- fftools/ffmpeg_filter.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index b0c4c8ece3..29794fdc85 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -972,7 +972,7 @@ int configure_filtergraph(FilterGraph *fg) if (simple) { OutputStream *ost = fg->outputs[0]->ost; - char args[512]; + char *args = NULL; const AVDictionaryEntry *e = NULL; if (filter_nbthreads) { @@ -985,26 +985,21 @@ int configure_filtergraph(FilterGraph *fg) av_opt_set(fg->graph, "threads", e->value, 0); } - args[0] = 0; - e = NULL; - while ((e = av_dict_get(ost->sws_dict, "", e, - AV_DICT_IGNORE_SUFFIX))) { - av_strlcatf(args, sizeof(args), "%s=%s:", e->key, e->value); - } - if (strlen(args)) { - args[strlen(args)-1] = 0; - fg->graph->scale_sws_opts = av_strdup(args); + if (av_dict_count(ost->sws_dict)) { + ret = av_dict_get_string(ost->sws_dict, &args, '=', ':'); + if (ret < 0) + goto fail; + fg->graph->scale_sws_opts = args; + args = NULL; } - args[0] = 0; - e = NULL; - while ((e = av_dict_get(ost->swr_opts, "", e, - AV_DICT_IGNORE_SUFFIX))) { - av_strlcatf(args, sizeof(args), "%s=%s:", e->key, e->value); + if (av_dict_count(ost->swr_opts)) { + ret = av_dict_get_string(ost->swr_opts, &args, '=', ':'); + if (ret < 0) + goto fail; + av_opt_set(fg->graph, "aresample_swr_opts", args, 0); + free(args); } - if (strlen(args)) - args[strlen(args)-1] = 0; - av_opt_set(fg->graph, "aresample_swr_opts", args, 0); } else { fg->graph->nb_threads = filter_complex_nbthreads; }