From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B08674BFE7 for ; Mon, 1 Sep 2025 14:44:03 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'/qmz1ITqcSthNYPAqGSMv1dRTnlblnQ4yl1rgXRJnGQ=', expected b'1MYjFRqp0qOBtfsTKOK0ylbxj5/iUdqtCPuTcv6cgoM=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1756737834; h=mime-version : to : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=/qmz1ITqcSthNYPAqGSMv1dRTnlblnQ4yl1rgXRJnGQ=; b=b5eiH9w1Ws8hg8nHRqLBmMhCjycx2KsbYlKYRkootAhDCj+s+FYUuYdhVQYJkNJ1UYhFH KUkiKeISfIZVThkkrEH7IzaBiEjdEbzXUWvvxmt6Cenk1kq2vVLFOlAwkjRZirzZ2ouD/Es gmiMBMj6lF9xlDsXiQ9/yDgi+xmi6KaEHVBDbb9+tHpQuKmvsInvXhA8ub9iD8iNuYUg5dL Cl/GL3Nn8NzWebutt6L6nAXULGgNQu+WBncu7AvF7A3GEmCeeCiKjV/jjMVv2r1EZBT+Uhu 5TGiLcmBB4qWsuI682GaB5DMc/4EbRyskDT0FKMg/hicO7IO7QFiB7H9TGUA== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id C2F0A68E775; Mon, 1 Sep 2025 17:43:54 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1756737823; b=iIT7SveJ62LrTNUcp4w/sklW0TEKcG1nsvKyslSrxGw9b2TcZP2f9tryXcx4C7CVg/hMt 7JN7tW98fv2KVZuFftAV4u/dzEARVkRgweDVum/oZtI2VtOm93Xs5uc7C6jw+v2vV5o7mSi OBKnCBxOxdvD8UiIdDJu0Bo/rFhgVynFxH+WO1XnKew0iRm+bc5e+Kw3q7vt+slrHlY0U8B uc1TyUO2tdF67hYp4u5O5LMu/VEV78hiIuX2qSUqpzUyarysM93GSDJ2q+IvelBPo4Zbe6u vf7mQyKthAYZiSD/kmWqrDD5wY03AE7ikna5jqZaXLZ4f0jo+AmCoa2yBZnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1756737823; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=/PrdJab/eaNUzj2zgfRWLrYDdCy3CUrHCsW7mpds8nA=; b=dfXfYjM5ljgAuonKUgivNNta4G3CTePWNgyZ/y5RzKyyrvzuMMbU7zjX6/JZb4+QvonZ7 ncehpPUgC/Z42tij2FQTXpB2LQTQhEvKFFiLnJWjSV8I85vfuv7R9ZaQjLJ2AvU5Zw2D8rC OGx8QmVOCihgybsDhukh05KL0qbmKWesebh0DvGc1lOVeR3Ce06s2NCrYbpQDjMbMKNZ5Nu EgFDkCxHQRNMylAvvO47agVSs0Hj5SkXHHuJyhhQAlw0zCk+GA8Tr6SaP/299DB70Y4BFys dyy+1eBM1//CKFxpcQ4FC/8vA4scWcZhRjYCUtQqCQU2UTiX+BjkttVO9Iog== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1756737814; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : from; bh=1MYjFRqp0qOBtfsTKOK0ylbxj5/iUdqtCPuTcv6cgoM=; b=Bef1ZlQoTCgfnykLXt1AePCxGf5URD3gZccsIj7P0XU1IlKlh9VZ2d/O46iBwt3OS4y1L WnOzkdkwUlNZgI4LRsJC74acBP2EzteJG/Tv30Gsw5ERJFA3TMaDYMFF9ZwtXbUyrgj5VHH Nf5S5J7eoCd6tYs7uBSxuGqcf6LfYQwf90n8VIx7n89iCdOn40ta+wE+KtA6PiWa4FwXkTn MgPBA2lwvLSoB2Zu3QKBbUa9g2ce4v4iwEQfUOHKDwoWVISxdd1FB3NrGyVPKOZy3cUbh+W +cWCYr7xeXqeBh3Ais76n6VF6+PCbdzdaZ91Kx85jez+wUJm+v+dEVv0UKgA== Received: from 5d8f51c41678 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1516D68ABBD for ; Mon, 1 Sep 2025 17:43:34 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Message-ID: <175673781421.25.4590756314943550090@463a07221176> Message-ID-Hash: S74IGYLCFBYO4NPUNVNA5JHILIJUWJH7 X-Message-ID-Hash: S74IGYLCFBYO4NPUNVNA5JHILIJUWJH7 X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avfilter/x86/vf_colordetect: fix alpha detect tail handling (PR #20387) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Niklas Haas via ffmpeg-devel Cc: Niklas Haas Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20387 opened by Niklas Haas (haasn) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20387 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20387.patch This wrapping logic still considered any nonzero return from the ASM function to be the overall result, but this is not true since the addition of FF_ALPHA_TRANSPARENT. Fix it by only early returning if FF_ALPHA_STRAIGHT is detected. Fixes: 9b8b78a8153f9ca94b7eb9cba87442954787912a See-Also: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20301#issuecomment-4802 >>From 9931f416a09941ca5f415f5a5626847760ca7850 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Mon, 1 Sep 2025 16:39:00 +0200 Subject: [PATCH] avfilter/x86/vf_colordetect: fix alpha detect tail handling This wrapping logic still considered any nonzero return from the ASM function to be the overall result, but this is not true since the addition of FF_ALPHA_TRANSPARENT. Fix it by only early returning if FF_ALPHA_STRAIGHT is detected. Fixes: 9b8b78a8153f9ca94b7eb9cba87442954787912a See-Also: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20301#issuecomment-4802 --- libavfilter/x86/vf_colordetect_init.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libavfilter/x86/vf_colordetect_init.c b/libavfilter/x86/vf_colordetect_init.c index 828f01937d..72fa021bf2 100644 --- a/libavfilter/x86/vf_colordetect_init.c +++ b/libavfilter/x86/vf_colordetect_init.c @@ -31,11 +31,11 @@ static int FUNC_NAME(const uint8_t *src, ptrdiff_t stride, { \ ptrdiff_t bytes = (width << SHIFT) & ~(MMSIZE - 1); \ int ret = ASM_FUNC_NAME(src, stride, bytes, height, min, max); \ - if (ret) \ + if (ret == FF_ALPHA_STRAIGHT) \ return ret; \ \ - return C_FUNC_NAME(src + bytes, stride, width - (bytes >> SHIFT), \ - height, min, max); \ + return ret | C_FUNC_NAME(src + bytes, stride, width - (bytes >> SHIFT), \ + height, min, max); \ } #define DETECT_ALPHA_FUNC(FUNC_NAME, ASM_FUNC_NAME, C_FUNC_NAME, SHIFT, MMSIZE) \ @@ -50,11 +50,12 @@ static int FUNC_NAME(const uint8_t *color, ptrdiff_t color_stride, ptrdiff_t bytes = (width << SHIFT) & ~(MMSIZE - 1); \ int ret = ASM_FUNC_NAME(color, color_stride, alpha, alpha_stride, \ bytes, height, p, q, k); \ - if (ret) \ + if (ret == FF_ALPHA_STRAIGHT) \ return ret; \ \ - return C_FUNC_NAME(color + bytes, color_stride, alpha + bytes, alpha_stride,\ - width - (bytes >> SHIFT), height, p, q, k); \ + return ret | C_FUNC_NAME(color + bytes, color_stride, alpha + bytes, \ + alpha_stride, width - (bytes >> SHIFT), height, \ + p, q, k); \ } #if HAVE_X86ASM -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org