From patchwork Mon Mar 14 21:06:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 34735 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp2497215nkb; Mon, 14 Mar 2022 14:06:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy3fyqSEtkG7Kh+7+yLkgmz0BC9hTDhiIc5zbRGGmbl7BSXZqGj4HYJu0l9x1s1HzKFn8ca X-Received: by 2002:a50:fb93:0:b0:416:c4f:bd24 with SMTP id e19-20020a50fb93000000b004160c4fbd24mr22226940edq.225.1647291980022; Mon, 14 Mar 2022 14:06:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647291980; cv=none; d=google.com; s=arc-20160816; b=AYcgrT0sNr3JS91mbzjX4TcWHl9rkVk8INW38NVUwMZ9wQyiyUOQ01Nlcj66S/PNI8 bR/qpjmcBy03syzZE4vamcdijDBP6TERiS2BPkVPn6UvZHFpFAOXFAwmuSv3bJ5+/W50 zm53SHlfegggD1tp9EtUPqhwtSKn02TOA+JNtADbPpNsKbT5ZsnXvQEMVat8tg1GEE1e 05CorksZIayp7Te6jGHgGZaXwvl8awuglg1C1a8bK77GYSaEMW/N4vxHU5GrOAODJ2l2 0Mz8CCtNzTSNmqnhGl/Dp/M23NMin6ki/lju/UUraXAxG2kETzPiwLs5xsg1xjXEZlHd CIsg== 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 :delivered-to; bh=qOGhilYE4LygKqVYTfWqgNZ2ij+VC657ngYdf+p37CU=; b=Q973OY1YYhloJLXsXBub6UIUus1gOhF5QtU6Q//PLFBjvkAAt0ky5MBbLdNACMXIQZ B26Se7pfyvnYd/83fyw9KAWl1l/XaWiZ16yEf4A2YaExTxPYv3q4g7cjVrzmni6RgLo+ yeLdq6QTcXpjwAhc5TdX3NTBgTFUwQXesW59LCZgip+FTXOONYaK/XxQmoaI8rlQyXMV 2nlKWWjisFb4wNY4dFXQ7z6QLPvQw5waiUb07we8dD4c/+vxZsnlMkPPhJkgmqI4hTTU IZypgYLTZu6JOxZdtGqp31Dg4SeNFhbohXpQD4Q4CXqip+b8a+8zo1i4E1yAhTeDo/FK xJpA== 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 w5-20020aa7dcc5000000b00415b06c4cd4si10518287edu.205.2022.03.14.14.06.19; Mon, 14 Mar 2022 14:06:20 -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 45C3C68B073; Mon, 14 Mar 2022 23:06:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 533E86881C8 for ; Mon, 14 Mar 2022 23:06:09 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 8E748E67E2; Mon, 14 Mar 2022 22:06:09 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XOCN7C-AgoAC; Mon, 14 Mar 2022 22:06:08 +0100 (CET) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 15258E67D9; Mon, 14 Mar 2022 22:06:08 +0100 (CET) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 Mar 2022 22:06:00 +0100 Message-Id: <20220314210603.23870-1-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] avfilter/x86/vf_blend: use unaligned movs for output 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: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: pSM400Rs4fu8 Fixes crashes with: ffmpeg -f lavfi -i allyuv=d=1 -vf tblend=difference128,pad=5000:ih:1 -f null x Signed-off-by: Marton Balint --- libavfilter/x86/vf_blend.asm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/libavfilter/x86/vf_blend.asm b/libavfilter/x86/vf_blend.asm index 766e5b7bc1..277b100e4d 100644 --- a/libavfilter/x86/vf_blend.asm +++ b/libavfilter/x86/vf_blend.asm @@ -75,7 +75,7 @@ BLEND_INIT %1, 2, %3 movu m0, [topq + xq] movu m1, [bottomq + xq] p%2 m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -108,7 +108,7 @@ BLEND_INIT %1, 6, %4 packus%3%2 m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -148,7 +148,7 @@ BLEND_INIT multiply, 6 MULTIPLY m1, m3, m5 packuswb m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -175,7 +175,7 @@ BLEND_INIT screen, 7 SCREEN m1, m3, m5, m6 packuswb m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -196,7 +196,7 @@ BLEND_INIT %1, 3, %3 pxor m1, m2 pavg%2 m0, m1 pxor m0, m2 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -230,7 +230,7 @@ BLEND_INIT %1, 6, %4 packus%3%2 m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -251,7 +251,7 @@ BLEND_INIT hardmix, 5 pxor m0, m3 pcmpgtb m1, m0 pxor m1, m2 - mova [dstq + xq], m1 + movu [dstq + xq], m1 add xq, mmsize jl .loop BLEND_END @@ -304,7 +304,7 @@ BLEND_INIT %1, 4, %3 mova m2, m3 psubus%2 m2, m1 paddus%2 m2, m0 - mova [dstq + xq], m2 + movu [dstq + xq], m2 add xq, mmsize jl .loop BLEND_END @@ -333,7 +333,7 @@ BLEND_INIT %1, 5, %4 ABS2 m0, m3, m1, m4 %endif packus%3%2 m0, m3 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END @@ -369,7 +369,7 @@ BLEND_INIT %1, 8, %4 ABS2 m3, m7, m1, m6 %endif packus%3%2 m3, m7 - mova [dstq + xq], m3 + movu [dstq + xq], m3 add xq, mmsize jl .loop BLEND_END @@ -406,7 +406,7 @@ BLEND_INIT %1, 8, %4 psub%3 m0, m4, m3 psub%3 m1, m4, m7 packus%3%2 m0, m1 - mova [dstq + xq], m0 + movu [dstq + xq], m0 add xq, mmsize jl .loop BLEND_END From patchwork Mon Mar 14 21:06:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 34736 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp2497331nkb; Mon, 14 Mar 2022 14:06:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxt+hXPoWf44K3sz11if1XU5a5VaElOcdqVQ9n+jpN/wLWhv1lLW1YN/w14gOgIeHCmBOA4 X-Received: by 2002:a17:906:9ad4:b0:6d6:e972:a9e9 with SMTP id ah20-20020a1709069ad400b006d6e972a9e9mr20111445ejc.669.1647291989648; Mon, 14 Mar 2022 14:06:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647291989; cv=none; d=google.com; s=arc-20160816; b=xwvBGowL6e4zIA5btr61xidPtYPxZNql7fj+wotwHCg4M2L4Sn+rAsJAEUHI8Y6tRy WDeTro8vw37trIWQ17IERrZ3SXSBmhjI5gL4po3l8eExPYSiIVUUBxWVFMVQmxBPqPKU oyq9H1JbKUdT+FbQTvCECmEkahO9V4sjK0xi/Kh8PEANbfDCshn9+l9TRXZjBJlh8MOY 6RiPv/qDqyfqWVwuQmg9NRv8G9OUzESYt3BTG3GLxQSLrO/9uegFg4oJKMMQEcPyQUsF CrXubfN3Gz/dK2dwkDGYUzchKpTLeJUZUYw9KIOWNpxALKb9Gkm2+SS5wWSpQNmvv8dk lqtw== 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:delivered-to; bh=xOxQngoMcCyS3BDwg2k8KG81KorXwHAkSOW8aJDj/MU=; b=tIDAwlJ1dnxMxNk+LfQ45i0p8lyScrLQCiUoA7MzKGXVzoGisUUzTEKo3nsslPart2 xgBT/mpXl2o0KmeHph5o5q7HqJoyqsnZfVQoZyeIB5fuiCzja3gufLYOogsQD+u9lrl7 U/aQWBMeEELxB7Yfsg5h9u1pYsZ091aGQ80gLVs4Fvf0Yls/D59+keVEy067zkmayAJQ Vbj/sMg3LAMDcYsfH/1sKHJF8trgW8AnzMhe9uS6c11LNyMSakSu6/RIntXt+EkDMw0J L3BN2NucFLwkkwMyI6dt2boRu0YQ0mhBFXYwAT4BcnhvHIQk4Z7orx4YoCswtitXamgB Jp5g== 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 nc24-20020a1709071c1800b006da825b1354si11946223ejc.766.2022.03.14.14.06.29; Mon, 14 Mar 2022 14:06:29 -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 5F30768B0AE; Mon, 14 Mar 2022 23:06:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7213F68ADDE for ; Mon, 14 Mar 2022 23:06:12 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id CF401E67E3; Mon, 14 Mar 2022 22:06:12 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C4jtZHfFdJ0p; Mon, 14 Mar 2022 22:06:10 +0100 (CET) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id BB9A2E67D9; Mon, 14 Mar 2022 22:06:10 +0100 (CET) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 Mar 2022 22:06:01 +0100 Message-Id: <20220314210603.23870-2-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220314210603.23870-1-cus@passwd.hu> References: <20220314210603.23870-1-cus@passwd.hu> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] avfilter/vf_zscale: fix number of threads 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: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TXWwulKWfVUW Make sure it is between [1, MAX_THERADS] and also take into account the outlink size in order not to request zero height output from zscale. Signed-off-by: Marton Balint --- libavfilter/vf_zscale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index bb457423b3..bab87b0c94 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -799,7 +799,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) link->dst->inputs[0]->w = in->width; link->dst->inputs[0]->h = in->height; - s->nb_threads = FFMIN(ff_filter_get_nb_threads(ctx), link->h / 8); + s->nb_threads = av_clip(FFMIN(ff_filter_get_nb_threads(ctx), FFMIN(link->h, outlink->h) / 8), 1, MAX_THREADS); s->in_colorspace = in->colorspace; s->in_trc = in->color_trc; s->in_primaries = in->color_primaries; From patchwork Mon Mar 14 21:06:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 34737 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp2497428nkb; Mon, 14 Mar 2022 14:06:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyf27AmoLNJDC73rD9R0KrEf1KbPvY4OT8xk1GDMRy/Sq7VYacKDzIXSi51Ylf6ZCJAiMUp X-Received: by 2002:aa7:c7c4:0:b0:407:52cc:3b32 with SMTP id o4-20020aa7c7c4000000b0040752cc3b32mr22222606eds.397.1647291998568; Mon, 14 Mar 2022 14:06:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647291998; cv=none; d=google.com; s=arc-20160816; b=CW12hldOTfmIWwAlEobyqaUf2XDKCab9gzoq7OV3TohLgaXKi0hrD2/zedPDMmKy8p Jr8/zoHoWmYXN70mqBFulwjEsjL+dEQAuWSARr64MsXyuu5fxkqvASJt95lJSZXQ6aGV dMmRqm3C34UnbxD5QcG94lObjTu0YVQivpOY/aJTRn7jpjG/yjEctauYVeEm6SHTe0W/ Dcf/xkdbPzVQ/3nLxmNGp9oE/DstXG/dGqD2f3yTuZWKbIyuXge2reHkqrOExS0hyQvI Vad6a9oiG4hiUHTz/+qMHM3oraGBM2jad8hUiMvkfUoZ+CjhTLzP9zsicYLyzyYTYXGM eM+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: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:delivered-to; bh=KA3fIu3FvuZSC+HZOXWw1Moug/PMVO3AdrrsfJVy4Uc=; b=SpO9SO2x+wFrd2knUeUkt0fjirUgEjmwQWu/MikO1YMCZ1q9dgDRymvphmNErLPE1i vZ+sG2q/ExQwnsqDmbFFDjjmjgZm8/K6rs5SEp6ZetrsfocsLIyUlxS0as5iXHnVWf8b chukEX9lwAnOfbjjBNUVBKXPDp9A196OT8mPyqBmyFmlXy2pib8BOCVJczsuyDBa9Jic YNg+XfGjdRcV3TRlnKa3Qlmf7+SdhqMOmO7lA8KNQuhXcuV1+Ss8b9ff4662iVUveizR Az9tH2pEDmFGmHk2bWHFJ7xRHaMA7c45YRYzLSfIO06hH6MzDR6QzjWgV5BlPLBmSsXY wi6A== 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 hk8-20020a170906c9c800b006d128a5b1e0si9414038ejb.144.2022.03.14.14.06.38; Mon, 14 Mar 2022 14:06:38 -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 6470268ADDE; Mon, 14 Mar 2022 23:06:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B7F4068B0BE for ; Mon, 14 Mar 2022 23:06:13 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 15C24E67D9; Mon, 14 Mar 2022 22:06:14 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sSs4zAeRcJuB; Mon, 14 Mar 2022 22:06:12 +0100 (CET) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id B59A1E67E4; Mon, 14 Mar 2022 22:06:12 +0100 (CET) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 Mar 2022 22:06:02 +0100 Message-Id: <20220314210603.23870-3-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220314210603.23870-1-cus@passwd.hu> References: <20220314210603.23870-1-cus@passwd.hu> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/4] avfilter/vf_zscale: properly check return value of slice threads 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: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: IPaOnNpxRD4P Signed-off-by: Marton Balint --- libavfilter/vf_zscale.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index bab87b0c94..ceefc95224 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -117,6 +117,7 @@ typedef struct ZScaleContext { void *tmp[MAX_THREADS]; //separate for each thread; int nb_threads; + int jobs_ret[MAX_THREADS]; zimg_image_format src_format, dst_format; zimg_image_format alpha_src_format, alpha_dst_format; @@ -858,12 +859,14 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) td.desc = desc; td.odesc = odesc; - ret = ff_filter_execute(ctx, filter_slice, &td, NULL, s->nb_threads); - if (ret < 0 || !s->graph[0]) { + memset(s->jobs_ret, 0, s->nb_threads * sizeof(*s->jobs_ret)); + ret = ff_filter_execute(ctx, filter_slice, &td, s->jobs_ret, s->nb_threads); + for (int i = 0; ret >= 0 && i < s->nb_threads; i++) + if (s->jobs_ret[i] < 0) + ret = s->jobs_ret[i]; + if (ret < 0) { av_frame_free(&in); av_frame_free(&out); - if (ret >= 0) - ret = AVERROR(EINVAL); return ret; } From patchwork Mon Mar 14 21:06:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marton Balint X-Patchwork-Id: 34738 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp2497551nkb; Mon, 14 Mar 2022 14:06:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJOIn3/vel8kkVg9aKHjkMuGtAWKgOi41BYAe6Lv7ELgn4X2BLsYM1iFAIuMb0fMUIMRRb X-Received: by 2002:a17:907:c0c:b0:6d1:8c46:6415 with SMTP id ga12-20020a1709070c0c00b006d18c466415mr20468743ejc.326.1647292008843; Mon, 14 Mar 2022 14:06:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647292008; cv=none; d=google.com; s=arc-20160816; b=h/tPuJs7r7ShyOWKJ9kE9LYglHYLplpLeWt9prAHlLw9QwEpyTAqgWoKBe9GS5MgnF h1KcBFVoVGnJHxg56DC0/4jKmb0CutIBDnkGSYXJlmm3iHxdZsHJWRG0UaYUHbHhqGXL DJXYOIegALqxCJ8ppj0+4z04TXrL8tQn0kptByctNxZdoPLAJfagAZ3VDv3bs8nRnlPt 7s9h3JbTXmkLTF3voKpewwgBJQfsJkpSg/hCICHnHd2NxgKDngu72WRrO17dqt0S7rzB n+QmxDm7sjDZcrVkJnLLA1D1iUYG81i3/ILohJ8BixuvixI89BhZSptX8wk13UGREf8D o7pg== 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:delivered-to; bh=gI7rGlYTR3IUV+BMbmqb/79X0JdxVSSzLad82Qt1Etw=; b=yG2KQN6mDSHOMKzBOMRfrT9yvXrk3XfPIGGBAvXTdZ8YYMTdN60t703wbr47W0x5GD jL9xJNJ4DqGMBCYeVshQqVFLi3msjq0tgK1EtYYySTpacst80b3LJDRXbmd7j5MLlFFQ kcf8Um6EJ2q/7vuDIRBk2/PpfH55BzSmxQ1zB+5CLSbjiqSTHZFnKq4xXK+GfPEsfq48 J1kZ3lsK/cRX7GqB1dn+9myX3Ug1er31mwE0pXYEwn8vV1tDlG8z5VEbtM4UGQ3lO59/ +reiHSEXKOHMTNDso1S+qT/RWK1GhqLCBpS+Uw3XAlhh8WRuvrikEiZVk3zNR/6beVEe j1eA== 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 b8-20020a056402084800b004169f49cf79si11959801edz.191.2022.03.14.14.06.48; Mon, 14 Mar 2022 14:06:48 -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 4588C68B15A; Mon, 14 Mar 2022 23:06:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5230E68B0A4 for ; Mon, 14 Mar 2022 23:06:18 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id AB3DFE67E3; Mon, 14 Mar 2022 22:06:18 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GDxbD2ZpF3j3; Mon, 14 Mar 2022 22:06:17 +0100 (CET) Received: from bluegene.passwd.hu (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 6AF7EE67E2; Mon, 14 Mar 2022 22:06:16 +0100 (CET) From: Marton Balint To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 Mar 2022 22:06:03 +0100 Message-Id: <20220314210603.23870-4-cus@passwd.hu> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220314210603.23870-1-cus@passwd.hu> References: <20220314210603.23870-1-cus@passwd.hu> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/4] avfilter/vf_zscale: realign output buffer if needed 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: Marton Balint Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: QiP9fKL7W6+8 Output buffer alignment might be different to ZIMG_ALIGNMENT or it may not be aligned at all if a downstream filter (e.g. vf_pad) intentionally misaligns it. Or maybe we should unconditionally always allocate output with av_frame_get_buffer() instead of ff_get_video_buffer()? Signed-off-by: Marton Balint --- libavfilter/vf_zscale.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index ceefc95224..2061e38bcc 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -632,7 +632,7 @@ static int graphs_build(AVFrame *in, AVFrame *out, const AVPixFmtDescriptor *des return 0; } -static int realign_frame(const AVPixFmtDescriptor *desc, AVFrame **frame) +static int realign_frame(const AVPixFmtDescriptor *desc, AVFrame **frame, int needs_copy) { AVFrame *aligned = NULL; int ret = 0, plane, planes; @@ -654,10 +654,10 @@ static int realign_frame(const AVPixFmtDescriptor *desc, AVFrame **frame) if ((ret = av_frame_get_buffer(aligned, ZIMG_ALIGNMENT)) < 0) goto fail; - if ((ret = av_frame_copy(aligned, *frame)) < 0) + if (needs_copy && (ret = av_frame_copy(aligned, *frame)) < 0) goto fail; - if ((ret = av_frame_copy_props(aligned, *frame)) < 0) + if (needs_copy && (ret = av_frame_copy_props(aligned, *frame)) < 0) goto fail; av_frame_free(frame); @@ -786,9 +786,12 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) goto fail; } + if ((ret = realign_frame(odesc, &out, 0)) < 0) + goto fail; + av_frame_copy_props(out, in); - if ((ret = realign_frame(desc, &in)) < 0) + if ((ret = realign_frame(desc, &in, 1)) < 0) goto fail; snprintf(buf, sizeof(buf)-1, "%d", outlink->w);