From patchwork Tue Nov 7 22:21:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marvin Scholz X-Patchwork-Id: 44559 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:f392:b0:181:818d:5e7f with SMTP id qr18csp2190pzb; Tue, 7 Nov 2023 14:23:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IFmR/RSW55Ndg2Td72XRzQYF2qUvJRz66zjbxrs2zxuCeIpO726QS7HVq3/NAqlH0bHHVQb X-Received: by 2002:a19:4f42:0:b0:507:a40e:d8bf with SMTP id a2-20020a194f42000000b00507a40ed8bfmr26086177lfk.7.1699395808458; Tue, 07 Nov 2023 14:23:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699395808; cv=none; d=google.com; s=arc-20160816; b=uoNQ9qt9hx3neMBWixvmThWdxCAXFD8QeLlggnv0+Pa1sEuu/ztQrR/L/Kk4XO8gQa meqJBCiEoEIlAXqddcGafMOzu1E6Wy1qnpjoJWsPeXZ6Uccyse3pjj+6kEWj5yPRTsSc 2JyNrlDotZnURVaOTORxvoc2VC//Oqko0vGQAY1bS8uS0GpOKUQh4HZvs+JmWlq9NDWZ n0tLmXk3GE+HsP/rP/+qOhUK8y+HCCfgN3FZkbbW0K5e1sHnxSBxdddMZGXVyqFRjOEJ EYOdl4C3AO2kcubtWZHgJm1J6u/ql0SL8ypOYLGtU5Q8og1gUR5fQAmRLJqUrPI3g69E LpEg== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=TM/SIeTl0PXZj1b4Hhz26gaj3kCRNtqDHLdqjdF3T3U=; fh=mLkBQceLb8D9f+BOlqd6YzMp0Ug6ToY5UXClJOqpwTc=; b=DkPuYu43KzGobBQ0PdXdNvBXpmMvn/2mpHu05Pw5k8l2Cg5bLFL+BLOcyfOuq89iwJ Pj+SF2sHMH+HBSJ/G68ZQO7s4uOPcQqTkzk/fgDqj71EUcY1X/ZxWYyfEd9tfe9S0ll7 uzzAeE7iQjRG3EFhNRaq3zgo74NFZmuKJv++DAsYQTLxaSI+76loaNS4ipEn1LnoRg6m RMmih2/OqFXO2lNvoYvTj950J/UMw/aE6r2ZkAqZYWXA4vp50KHuRnQkP8uumQjf4yD3 bptyHSN5SkluVJbfTPUE0IKDGtoOBryUU4DWkuMQgZ2D0QHT3Lff6acA87HKZ1QIToa7 EAiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b="mfog/r6P"; 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 l7-20020a056402254700b005315b71b31asi5712390edb.174.2023.11.07.14.23.28; Tue, 07 Nov 2023 14:23:28 -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=20230601 header.b="mfog/r6P"; 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 286F268CC4A; Wed, 8 Nov 2023 00:23:25 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0FA2B68CAE8 for ; Wed, 8 Nov 2023 00:23:19 +0200 (EET) Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-53e08e439c7so10720667a12.0 for ; Tue, 07 Nov 2023 14:23:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699395798; x=1700000598; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=f2L4GBvjYc/zQLHL3GABXGCqAzQ0CIes1yZkX1fWlco=; b=mfog/r6P9V+ok6S5lDKjAIJHYN+yBnyqPpsgfR8xC4gfYFDsJz9xWrXbT71K7kR0Vh AsOcjtck3dINjXz0uoLINLYaxz5TwbNusfl3sY6I0rGNlJAFpOaNcSqpVQPyFFJJfC89 t6uQbrHW0L5QrpxcGaWGEE2LNfeKkXpYRfB9GsG+CbuuCkSy6Ls4SefR1CRWACLelf6N 4Gacs/o1pBReGO1X4J6CT/UEXWO78TPLdzFK8R9Iub/fNHg2vw1ofOVrJ1/ztnaAhLCP 4Fbx/Uo1VKPINmwB57jEIV461SyQ3aU8FbdwNE1hzDl6UHxOLW+pGHTMHU+Drto28CcX e+gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699395798; x=1700000598; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=f2L4GBvjYc/zQLHL3GABXGCqAzQ0CIes1yZkX1fWlco=; b=PDmR/Vswn4xC01dNU4VxT8AkoUW4z11kefilHYE77ml38sF12yCrt9OJoeLBWb6wQV 2boe4beJs/tmmH1htZM1Em02dAiIl9i7VBNp71Gww8VmZNM9keQWHd9JDxGaibrm4qLl fX8+lghvo5gwkN72WxKokCU5lN3AhwFp/RJM1pD/IK+CthRT6YzMZSdete+0lrne5CVB Hth3VUsm4IIcEopzBxwGqh1r3sRWRNI87CN6pk3U2dMe+JP0NsoQ4003ciJZqdcFLqKn 3x9mf4QIBICyRKVE3a+8EAd6cnazYTclsvrJquozWVhNN70WRMVhGsDRtKvpbsS00a+o +lDA== X-Gm-Message-State: AOJu0YzkkrE3n2Q7qbHnPFElH7Ip4AIBq8YSlzjdVyzHKsrQxKjXBqxp 3GGT491T9fTRlLQvT3KAkIi9z7D5Zlc= X-Received: by 2002:a50:d658:0:b0:53d:a0c9:dbd4 with SMTP id c24-20020a50d658000000b0053da0c9dbd4mr21975edj.21.1699395798101; Tue, 07 Nov 2023 14:23:18 -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 s5-20020aa7d785000000b0053da3a9847csm5767178edq.42.2023.11.07.14.23.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Nov 2023 14:23:17 -0800 (PST) From: Marvin Scholz To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Nov 2023 23:21:17 +0100 Message-Id: <20231107222118.35545-1-epirat07@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-145) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] avfilter/vf_tpad: fix check for drawing initialization 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: yo3cZJ2CP/aZ The check if drawing needs to be initialized and supported formats should be drawable ones was flawed, as pad_stop/pad_start is only populated from stop_duration/start_duration after these checks. To fix that, check the _duration variants as well and for better readability and maintainability break the check out into its own helper. Fixes a regression from 86b252ea9dee18006910e30646ad1067f2d1323f Fix #10621 --- libavfilter/vf_tpad.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_tpad.c b/libavfilter/vf_tpad.c index 7990403e81..1efe4ec479 100644 --- a/libavfilter/vf_tpad.c +++ b/libavfilter/vf_tpad.c @@ -70,11 +70,17 @@ static const AVOption tpad_options[] = { AVFILTER_DEFINE_CLASS(tpad); +static int needs_drawing(const TPadContext *s) { + return ( + (s->stop_mode == MODE_ADD && (s->pad_stop != 0 || s->stop_duration != 0)) || + (s->start_mode == MODE_ADD && (s->pad_start != 0 || s->start_duration != 0)) + ); +} + static int query_formats(AVFilterContext *ctx) { TPadContext *s = ctx->priv; - if ((s->stop_mode == MODE_ADD && s->pad_stop != 0) || - (s->start_mode == MODE_ADD && s->pad_start != 0)) + if (needs_drawing(s)) return ff_set_common_formats(ctx, ff_draw_supported_pixel_formats(0)); return ff_set_common_formats(ctx, ff_all_formats(AVMEDIA_TYPE_VIDEO)); @@ -196,8 +202,7 @@ static int config_input(AVFilterLink *inlink) AVFilterContext *ctx = inlink->dst; TPadContext *s = ctx->priv; - if ((s->stop_mode == MODE_ADD && s->pad_stop != 0) || - (s->start_mode == MODE_ADD && s->pad_start != 0)) { + if (needs_drawing(s)) { ff_draw_init(&s->draw, inlink->format, 0); ff_draw_color(&s->draw, &s->color, s->rgba_color); } From patchwork Tue Nov 7 22:21:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marvin Scholz X-Patchwork-Id: 44560 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:f392:b0:181:818d:5e7f with SMTP id qr18csp2305pzb; Tue, 7 Nov 2023 14:23:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IHJ2xTFa746GyNr5hsr1WFN15KEG63MLjdP/FtnGVdusnxaUABvifYy5zzytdeaDQjE4Zxb X-Received: by 2002:ac2:5634:0:b0:507:aaab:528c with SMTP id b20-20020ac25634000000b00507aaab528cmr24019791lff.69.1699395829311; Tue, 07 Nov 2023 14:23:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699395829; cv=none; d=google.com; s=arc-20160816; b=c3UHWJfjbpoVaALyNTt1uPB5jquLHSJMFOleUxXxA5yH2xheYkB0sp43ADmPtWTBU0 Lq/SBFPYmH4aduO4Hl+1LlnGGF+rNlhhxZFr16xMLHUwUCbXqBKMMMHJdmUmLFRM8CuZ vBdc7qTxtjw2aCNsErs5tRqV1vg5bhjdqNaiD/y8AbtXiYT2YgslM+mJPy2Ex/Mb6spW B6uHblC52zfXl9NaEvIyebd4DLDd1DQMBYJYGuW0oQYbc29qPyZ0/M7WC3B0RllVLwfn Th1OMgzMVIxIiTc+uaOGGyOpqvSjzFfQRG7th3Ztdd4cWARDCRkKiVJ/D1PQVXllYdlK 1+zw== 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=OUcohB4cp7vZldjHARfafKoqPk8Gkpq/OefhVmIKzko=; fh=mLkBQceLb8D9f+BOlqd6YzMp0Ug6ToY5UXClJOqpwTc=; b=TaG9BsCj2MCa1JByZa1D7wL0ywW0Ptslx8641YnkM3JttBNVR0/knFE9IgJ4exfsyx /ri+wYJuJRquYZsgaxHjTXpisz8vxdtXXg7GqVwj5pv97RbTuLTYUYVTMnSP2/ug9KPT oBeIkA0yAWq3N+2v5Kb1eFWeLCiESDS/EuJeWAXpyfbBvthwraD3bdLk6fSE30lqygyz qzQXfz+EO+lwByAy/B9BWfzl6PkY2cSmqd+lQvSu2mIFt/h7n6rwlg5oOviG6OcVyoB4 S/2TlDFIBWNb6UnyCshAy5UvSjTZ8rywW8RcCJTuCMMBoG2Fs1/jQ0ilbIbRdPrs+Z2u uqYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=XPA0QO7y; 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 t2-20020a50c242000000b0053e4da4bb54si5524894edf.654.2023.11.07.14.23.48; Tue, 07 Nov 2023 14:23:49 -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=20230601 header.b=XPA0QO7y; 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 60D4768CC60; Wed, 8 Nov 2023 00:23:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3E5168CBE3 for ; Wed, 8 Nov 2023 00:23:39 +0200 (EET) Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-5401bab7525so10690293a12.2 for ; Tue, 07 Nov 2023 14:23:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699395819; x=1700000619; darn=ffmpeg.org; 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=sIliTThiFse0kkpBhKwveamBf9WTYpPYXqgbB3ByByA=; b=XPA0QO7yjVk0nO/9aq3zKVrM8sFIny1C67TTd5wsZiS7jAtXHiRSyvZK/G+9sS0tmy Bmn0YeAjW/vFdmIbEep9cK28/IDBTLraSaVOX0W8c9wbRONUFrgwZoFLSD7koLFET4iq lzu/ufi5wxbb5WS5EHsLT/qQs6LTiWfasiOKr8M04MYgJt1jsKakIvkJSMn78TSRK49i FXBRqdZWjPnTML8cDlk8GGIpXzD0CEnO2bD1Rbpagih6TImm8rbmfN+WCgMRV38Cr7ly gsBxpQ2g+AIGNQqvdKxxssAa8K4Of4MVcg9EcelRJCEpd4q2iB8ChSVpCtQ9hSmRVnME pbJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699395819; x=1700000619; 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=sIliTThiFse0kkpBhKwveamBf9WTYpPYXqgbB3ByByA=; b=F9GFhwYg8qil8Z16TN2WoOHi76Uf0IYskMNp+3fE/zLy6Rrc+Bzp6qh8L0/WF5GQ+D dTs+g80/Rn38IHxwf0Y5mNy+G71p4+yLi2GXoS+8ZQ1etuIvZ0vKFdDuDVsrR8acK5aU k43P+oc+8c3SLRlxD3Rmj0jCtvF0IUahCdfTbcgttI8Q/doYQi9j7CQ8vzB61zPOOcOq 8hLoag0zth27BV2FeEW5KfnvP/9s9RgaIbL4NrPpnY4nTtPiv+jUkCXYuvmSbnwtdBYg Ykzdum9al4+ihMA178AZiHRuOXcR7J+eH9nhMc7kAgbZz8i08UfdZl/hAnjwZKGDKjdq 8Dkg== X-Gm-Message-State: AOJu0Ywuk5W7ifBpSuq88WOvC15lpjC6Dt1Nn7ilV1mPMLERKIcuwXFV fL91khydymLL7D4uPL480cTizzoxV+o= X-Received: by 2002:a50:d709:0:b0:53f:f47f:3d5 with SMTP id t9-20020a50d709000000b0053ff47f03d5mr12138edi.32.1699395818994; Tue, 07 Nov 2023 14:23:38 -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 s5-20020aa7d785000000b0053da3a9847csm5767178edq.42.2023.11.07.14.23.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Nov 2023 14:23:38 -0800 (PST) From: Marvin Scholz To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Nov 2023 23:21:18 +0100 Message-Id: <20231107222118.35545-2-epirat07@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-145) In-Reply-To: <20231107222118.35545-1-epirat07@gmail.com> References: <20231107222118.35545-1-epirat07@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] fate: enhance tpad filter test 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: OohYywNW2USw Adds another test that uses the start_duration and stop_duration options instead of start and stop. --- tests/fate/filter-video.mak | 3 ++- tests/ref/fate/filter-tpad-add-duration | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 tests/ref/fate/filter-tpad-add-duration diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak index 789ec6414c..58edc70f46 100644 --- a/tests/fate/filter-video.mak +++ b/tests/fate/filter-video.mak @@ -299,9 +299,10 @@ fate-filter-tblend: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf tblend=all_mode=dif FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_TELECINE_FILTER) += fate-filter-telecine fate-filter-telecine: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf telecine -FATE_FILTER-$(call FILTERFRAMECRC, TESTSRC2 TPAD) += fate-filter-tpad-add fate-filter-tpad-clone +FATE_FILTER-$(call FILTERFRAMECRC, TESTSRC2 TPAD) += fate-filter-tpad-add fate-filter-tpad-clone fate-filter-tpad-add-duration fate-filter-tpad-add: CMD = framecrc -lavfi testsrc2=d=1:r=2,tpad=start=1:stop=3:color=gray fate-filter-tpad-clone: CMD = framecrc -lavfi testsrc2=d=1:r=2,tpad=start=1:stop=2:stop_mode=clone:color=black +fate-filter-tpad-add-duration: CMD = framecrc -lavfi testsrc2=d=1:r=2,tpad=start_duration=0.5s:stop_duration=1.5s:color=gray FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_TRANSPOSE_FILTER) += fate-filter-transpose fate-filter-transpose: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf transpose diff --git a/tests/ref/fate/filter-tpad-add-duration b/tests/ref/fate/filter-tpad-add-duration new file mode 100644 index 0000000000..10e01655a1 --- /dev/null +++ b/tests/ref/fate/filter-tpad-add-duration @@ -0,0 +1,11 @@ +#tb 0: 1/2 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 320x240 +#sar 0: 1/1 +0, 0, 0, 1, 115200, 0x2213b502 +0, 1, 1, 1, 115200, 0xeba70ff3 +0, 2, 2, 1, 115200, 0xa764e4d5 +0, 3, 3, 1, 115200, 0x2213b502 +0, 4, 4, 1, 115200, 0x2213b502 +0, 5, 5, 1, 115200, 0x2213b502