From patchwork Tue Sep 24 08:53:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 51793 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:ad12:0:b0:48e:c0f8:d0de with SMTP id w18csp212626vqy; Tue, 24 Sep 2024 01:53:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVwbmaHk8J2+tXs37z4SijQHfPKZnwXlnIrF0boxaIfpGbSPts/eei+btTLCgjUv66HagzDuWTZvWR7aOVxuk/0@gmail.com X-Google-Smtp-Source: AGHT+IGyvMEF+d2oSJaPgRuUQLd1zG1l6r3VeSTCe3i0R9K3dsjg7801VwcJbHHmFkEHhMubM1d0 X-Received: by 2002:a17:907:36cc:b0:a8a:754a:e1c1 with SMTP id a640c23a62f3a-a92c4810d6amr230316266b.8.1727168031748; Tue, 24 Sep 2024 01:53:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1727168031; cv=none; d=google.com; s=arc-20240605; b=Nncg2bnzCDw9evLLTvH/Buw/PprqIj2jx88JgioalJOG57kxta09hD0bLakl98AOA/ bHPL1mEH2fUB/bDGtrF4/eBvmvGB3UWslKisvhlIvb0lBStF48/5gDZsNQyx5l/XkYKA 44b3tjN0/24207fIAbupmfZPgIN47ldvl3GORz5Ph+cv2AbZe8NRPOpkAJNl+wgptEWA BdVq/vWL0o7gDnglKLLVSq2Ex3nU3W8HQiALBC40M2vx9pWtzcUA75MQG4SzQ6d0O0A5 sELcme5y2TeNgAdYxqotY+70w8y6NAv1rJDk0f6GAV5Z8LM6zOVCASdIgC/jLpnQ3UTc 7WwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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:message-id:date:to:from :dkim-signature:delivered-to; bh=sDoCLDqm3y7F75mR1ZaJjZJ8VKEREjJ18oiJ9rsQg54=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=R0IdxlraciWlDAxNYEteUrEbxKySMU7euFtlQCQ0fqY3AeILHu2uwJBAyPeYO0S6BK iCtwaMyK+P+8SkCZNNOKMGo692SAoFrEN6HDNzG79xxj3BxInjDu6THz+XsJWoHy55Bz wd0dUCGhScYP83O8D4dcIt1QiFoVzWgSMl3IOL2EDTqL87G8IrNT3uzz7fMOPUwjxZNQ 3eFlle6THmVYgXcCRypdojfhw8mc8gu4k99K2MCHP2aoi+HEiVAt6F/AGrpMZyoAsh9k 7EcTP59AaZT0hIe0X90+ioLrjKr+Ojb45nFgQvL12lmxznuEgSA+m3Fx/LwbX9bHd4yC LbeQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=dLeYI2GS; 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; dara=fail header.i=@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 a640c23a62f3a-a939315a140si64786866b.910.2024.09.24.01.53.51; Tue, 24 Sep 2024 01:53:51 -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; dkim=neutral (body hash did not verify) header.i=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=dLeYI2GS; 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; dara=fail header.i=@gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BFCA068DA38; Tue, 24 Sep 2024 11:53:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5BA8A68D814 for ; Tue, 24 Sep 2024 11:53:40 +0300 (EEST) Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-537a2a2c74fso1573973e87.0 for ; Tue, 24 Sep 2024 01:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20230601.gappssmtp.com; s=20230601; t=1727168019; x=1727772819; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=dOrfcC62h9m1eUNldLGFMpCgavswxhJvhfIxQxKTMcI=; b=dLeYI2GSgVT121aOF+SpYVHztERChNX/M0jJPuH4q1oChORcusSX/DkZPn/OCifiZY b92/u9CNhDXJWyV6QVGU2fF0hIWz6TODlWELW1iTpF+MJrAPF7yWSTUBLJdFkXJotVCz p0DBtr8jACLARy1KC3LUvRBA4UJqL09NXPQKupA0KBP61RmjUwO1cpr9y9bE0jvXCkKb Sa6EYQo7RslLXLmQ18RyUGclOz1euSjmJyKJ0atv96xasf3PRGi9QDdfgVptBBiy8F2l 7321vI6vtZBFyeEaUGD0woUF8l1IKMfQW87u2E8MhVq+LRnFqR5+BHh/sfuYWrZ9veY7 ZqyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727168019; x=1727772819; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dOrfcC62h9m1eUNldLGFMpCgavswxhJvhfIxQxKTMcI=; b=VlNDTiE7x6G+JM4gKsqVW8Ct4RT1oKruEfFbmYKXaaP1CL/+Fch+qJKiEXuurP8gTQ TLvFsv04OY5FAw8uaFAF+53HW7PcygB6mytb0V6DRQMpEMiIAVx4Knhi1B92vPveVyLv puRsVK1ZbrtQKI/gVQDAUmiSIpomA/rsR9+FZhy3NvwsC0kRdu+1xf3tB3GH0G9scX7M U1LB2w4RzkcPWpskenS5NdpXsMZ2fHiFRjp5LJFetB6ef9nMD350urtv5b3UbuZRmoRd 9osA/KpXENzNMN/DSPjyhE+LVrFjOi9M2saH6AYAQrMVzAmkhB/bPjW2APbOGSwgEAA3 MQtQ== X-Gm-Message-State: AOJu0YxRPN8N+TlvsWBsZzS9EkkSUpsQI/7lkEtv46sixWcNJjUY8PCT SQHkki5ovowynDjcUZK/ZjqCF2/geX1IU3B+933XidlErxZEKODyrL60aXDzNt4qbeytVwr6viW g7w== X-Received: by 2002:a05:6512:3f12:b0:536:628d:20e with SMTP id 2adb3069b0e04-537a692148cmr813288e87.29.1727168018856; Tue, 24 Sep 2024 01:53:38 -0700 (PDT) Received: from localhost (dsl-tkubng21-58c01c-243.dhcp.inet.fi. [88.192.28.243]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-537a85e6529sm139117e87.68.2024.09.24.01.53.38 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 24 Sep 2024 01:53:38 -0700 (PDT) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Tue, 24 Sep 2024 11:53:38 +0300 Message-Id: <20240924085338.89777-1-martin@martin.st> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] compat: Fix the fallback definition of stdc_trailing_zeros 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: iiiszf+lmIY0 While shifting "value" to left, we would iterate through all bits of an unsigned long long, while we only expect to count through "size * CHAR_BIT" bits. This fixes fate with MSVC. --- compat/stdbit/stdbit.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/compat/stdbit/stdbit.h b/compat/stdbit/stdbit.h index b434fc2357..3197a24938 100644 --- a/compat/stdbit/stdbit.h +++ b/compat/stdbit/stdbit.h @@ -179,9 +179,10 @@ static inline unsigned int __stdc_trailing_zeros(unsigned long long value, unsigned int size) { unsigned int zeros = size * CHAR_BIT; + unsigned long long mask = (1ULL << (size * CHAR_BIT)) - 1; while (value != 0) { - value <<= 1; + value = (value << 1) & mask; zeros--; }