From patchwork Wed Apr 19 19:52:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41260 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp743941pzb; Wed, 19 Apr 2023 12:53:59 -0700 (PDT) X-Google-Smtp-Source: AKy350ZhU3HE9M5b1QKLvT6aA93G1OCI8x/wK3oAxqtqDHL7dK8KGJZGnjo6ce52oO51mKf2q5Ds X-Received: by 2002:a17:907:3e02:b0:94f:35ea:d773 with SMTP id hp2-20020a1709073e0200b0094f35ead773mr18057745ejc.75.1681934039719; Wed, 19 Apr 2023 12:53:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681934039; cv=none; d=google.com; s=arc-20160816; b=gh1wV2gdq8bR4R8oSH2QNFgCYONK+sIcxiePR10X6WSp5281ClXpANUxxGDTd+OQND OUI4nQD9xNGRbV4PN9GlpBiKYCTYPl66GqVLz7xQ75ZfS/g0Z1rr0i9cNZQxO/ldbiw5 KTKPxPElQy76CEj8g4GhtanoKU6BeeV0kFey9tsNvfLPg99Dvb6iC/zS2geZaTKrnh0B DVQUG4/rBpt1G/30JVng15rSeSe1kyhd4hp33LcmUG8IxNFZAJWvPtdTLddDbJwLCd15 6/raAVtt2NVJiJRb2KjpnrIlfEkg75pkDxsa8LFd9vO9zEcuKIZBWBNDOXy8LlX6rwgW Kf+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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:delivered-to; bh=5PcccLgy6Bu92ssv4LLjtw7xvV42WY2L1xZ5qaDVqFk=; b=mTADZEjWi6Q1Av93vQv6ZQjZlJIUbfOqgIUnfSoYMeL+N4JXpBSDiw8vScNjMmeOBY bDwi/uJ0e3rzy1U8PXGPWyocNKN58wB+s0iyQlw0pyiR8w1hOCWqTyalYv1bzMlwqSsC V97Z9xnGfrqPtizK/SWIQ6dHcD+o6CdDAaiKfdz1dEyP0ANf3vNaUSumepK/8wEG16kj 3YwLy+EBZ1NBPnJ957PlGK5b7aSn4gfRt7vEKguCn64GbQLWDUk4HnlsF9S8+h/+fYZf 8rsvH3Y83L7G9ASV9lF6FBzFNfJWm1IBcpMFvytORDB0bT8JWRANe550I310wwkCbH6X MCnw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id fp8-20020a1709069e0800b0095317ae7667si4399647ejc.266.2023.04.19.12.53.59; Wed, 19 Apr 2023 12:53:59 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E87268BF1B; Wed, 19 Apr 2023 22:53:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A5DB68BE89 for ; Wed, 19 Apr 2023 22:53:04 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id 366132404EE for ; Wed, 19 Apr 2023 21:53:04 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id zTP3sk0l1TpS for ; Wed, 19 Apr 2023 21:53:01 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 14A0E2406CA for ; Wed, 19 Apr 2023 21:52:56 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id D2EF63A122A for ; Wed, 19 Apr 2023 21:52:55 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Wed, 19 Apr 2023 21:52:30 +0200 Message-Id: <20230419195243.2974-12-anton@khirnov.net> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230419195243.2974-1-anton@khirnov.net> References: <20230419195243.2974-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 12/25] fftools/ffmpeg_mux_init: drop OutputStream.filters[_script] 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IBBhlYkNN6Zm They are not needed outside of ost_get_filters(), so make them stack variables there. --- fftools/ffmpeg.h | 2 -- fftools/ffmpeg_mux_init.c | 28 +++++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 72020c8f3a..c9d499efdd 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -639,8 +639,6 @@ typedef struct OutputStream { OutputFilter *filter; char *avfilter; - char *filters; ///< filtergraph associated to the -filter option - char *filters_script; ///< filtergraph script associated to the -filter_script option AVDictionary *encoder_opts; AVDictionary *sws_dict; diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index c82556a706..da3dccd6d7 100644 --- a/fftools/ffmpeg_mux_init.c +++ b/fftools/ffmpeg_mux_init.c @@ -423,43 +423,45 @@ static MuxStream *mux_stream_alloc(Muxer *mux, enum AVMediaType type) static int ost_get_filters(const OptionsContext *o, AVFormatContext *oc, OutputStream *ost) { - MATCH_PER_STREAM_OPT(filter_scripts, str, ost->filters_script, oc, ost->st); - MATCH_PER_STREAM_OPT(filters, str, ost->filters, oc, ost->st); + const char *filters = NULL, *filters_script = NULL; + + MATCH_PER_STREAM_OPT(filter_scripts, str, filters_script, oc, ost->st); + MATCH_PER_STREAM_OPT(filters, str, filters, oc, ost->st); if (!ost->enc) { - if (ost->filters_script || ost->filters) { + if (filters_script || filters) { av_log(ost, AV_LOG_ERROR, "%s '%s' was specified, but codec copy was selected. " "Filtering and streamcopy cannot be used together.\n", - ost->filters ? "Filtergraph" : "Filtergraph script", - ost->filters ? ost->filters : ost->filters_script); + filters ? "Filtergraph" : "Filtergraph script", + filters ? filters : filters_script); return AVERROR(ENOSYS); } return 0; } if (!ost->ist) { - if (ost->filters_script || ost->filters) { + if (filters_script || filters) { av_log(ost, AV_LOG_ERROR, "%s '%s' was specified for a stream fed from a complex " "filtergraph. Simple and complex filtering cannot be used " "together for the same stream.\n", - ost->filters ? "Filtergraph" : "Filtergraph script", - ost->filters ? ost->filters : ost->filters_script); + filters ? "Filtergraph" : "Filtergraph script", + filters ? filters : filters_script); return AVERROR(EINVAL); } return 0; } - if (ost->filters_script && ost->filters) { + if (filters_script && filters) { av_log(ost, AV_LOG_ERROR, "Both -filter and -filter_script set\n"); exit_program(1); } - if (ost->filters_script) - ost->avfilter = file_read(ost->filters_script); - else if (ost->filters) - ost->avfilter = av_strdup(ost->filters); + if (filters_script) + ost->avfilter = file_read(filters_script); + else if (filters) + ost->avfilter = av_strdup(filters); else ost->avfilter = av_strdup(ost->type == AVMEDIA_TYPE_VIDEO ? "null" : "anull"); return ost->avfilter ? 0 : AVERROR(ENOMEM);