From patchwork Tue Apr 5 20:41:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hendrik Leppkes X-Patchwork-Id: 35222 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c05:b0:7a:e998:b410 with SMTP id bw5csp507120pzb; Tue, 5 Apr 2022 13:41:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwwj9vI8iMbC3lLHu50jwbCJtB4/zlMu7xZ0dYf7AzVDoqIS+MC7nNje/Fl6Z2tn6UoOdlf X-Received: by 2002:a17:907:3e12:b0:6da:f8d9:efeb with SMTP id hp18-20020a1709073e1200b006daf8d9efebmr5263166ejc.634.1649191319250; Tue, 05 Apr 2022 13:41:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649191319; cv=none; d=google.com; s=arc-20160816; b=BQ7CgMpBTUA/Qx8RXrZ8155Yd0VRjIeRTLSBTDFOYBmGrV0GjIQUE1QhJ+2K/G+joJ gXS0NNfZPij9vBZ9VOeIbfiC+Bgq08SyWaWncShKupVW7pLgPnZWhyijr/T8fvyCBtRZ FCaZqaaLaRXrCflw0gChxbGipo7703/joyV6HP7qBzanRKKYGMKx28XA/iTnoqVZOI1m AAVEGlunb4pldr2ZAwL3LqFeVFn05Gdu9YeL2DS7S0Ab1sqN4vFPDn2B7AXqrgwy29jJ PYG/5kGup8ABV8d9c7rcB42o5uzyuzwv8qATPJmRNWtvcdV451XefxmPdDTxLGsBXtKJ gRZg== 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=0/WgVVbxAuOqWDr3yUWAdPLkcnH1Zg9VnLd09riQlso=; b=D9L1j444brfc8rVhnU8U3KT/FrWX280RZyeQyWdWkobOWA4jT9uo+yV9HmzhbYJr42 pdHbOVnxVuQdmW/NivVQdpGVa0qXv8JZWCjDNtYWZeA8kaCEgOosdniyoop7EF6RFZ22 MH6PsD+X/sZfZ0SDgEGdTU4aXNNaaNWJ44Beyx0mlS7l4NZjwfkD3obDjvIQMZDkxuvj wQvoaBcptyE/+hyRfJxuFjtRMZwKSQCKW/U8Jhf1xceNYizaCj/Xijo5N6XfDGecbenp 59iLxGx3FDbWxr5FtmcLUI7hvYa6IhQUUmpiT3mCTySy59khLIZds3Wm0t3yfBQ1vfUq 4Y1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="fBDmOu/F"; 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 d3-20020a50cf43000000b004190cf4164asi9309178edk.132.2022.04.05.13.41.58; Tue, 05 Apr 2022 13:41: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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="fBDmOu/F"; 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 4834068B1B8; Tue, 5 Apr 2022 23:41:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CF8D968A8F5 for ; Tue, 5 Apr 2022 23:41:49 +0300 (EEST) Received: by mail-wr1-f43.google.com with SMTP id m30so290812wrb.1 for ; Tue, 05 Apr 2022 13:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=il4msJzODFKYRMDycnw123Lo66OypBghH9zOy5j2sBE=; b=fBDmOu/F5fW5Ja0+yP7OSaev1FWHwr+5NkWBqbKGWsAmOQsevBgpGbn1IapiBUi/kP EQ0/VmmMHYuhoNPyhIdx8nmhZd5OOZZ23mx6FuqVQ+ockszs6rw00wiyqfraPtx70mzK bOwuj40/HzgvX24ldv4B16d0b4G57QMIpoY+CpaiSlxP3hJ/hfuGaTPCgcQ0CO5fcPI0 s5Q327+cLBgaNhsOz01e/5HnxLjr+RjsR5SBTAKG07gfik+72rfcyKbZp+xcXG5bSWBM 4A/AXmddqyc7XxzeWc/t4K1QKhg9XVkQZDXIEiEAHavN5V4Fun/GkjSCA+uBJ4zsAZ8u uoEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=il4msJzODFKYRMDycnw123Lo66OypBghH9zOy5j2sBE=; b=y37kBgWJSB9lJpSUVNGNJ83SAkldtbsOVEUAoYk7Tk4FjgXktGL0jEv7GnUFysxrBX dm5rnZo1z1HYmzPNaMlYWteCHWtHBnScW6X9M4Q4jxUyxIg+7IuetyXlRmTpFipXlWuC 8fEApNYO2EH1YA+fk4lb53DZ3NdRURcA3y1PNEn/ZtrfCcLJbqaN/7jYfQFhPsjABtC3 PNZao4FPpfIIgWqEbw9z7dsRrJa76a/8v2DjK2AXrUh/p0rjq+8WY9y+GRb6+ZP82u+u M171fLn33XkomIEWYpZLtak6OWX04LhNmCBHrI7LrMG51kOcuNvdvvcxw8sLtkIc7edK Ucqw== X-Gm-Message-State: AOAM532O6AI6VLsNCpQSNF5lyFS2EAzZw5szUFXTf+0IzTfz/MjGC53N 7JStDZ7EBlUaKgB/yU5U7K1kNsgTLjU= X-Received: by 2002:a05:6000:156f:b0:205:c541:3e8e with SMTP id 15-20020a056000156f00b00205c5413e8emr3940822wrz.581.1649191308659; Tue, 05 Apr 2022 13:41:48 -0700 (PDT) Received: from localhost.localdomain (p200300ccf70146000c71ac01fe98e4d0.dip0.t-ipconnect.de. [2003:cc:f701:4600:c71:ac01:fe98:e4d0]) by smtp.gmail.com with ESMTPSA id m5-20020a05600c3b0500b0038e7466b048sm3184032wms.0.2022.04.05.13.41.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Apr 2022 13:41:48 -0700 (PDT) From: Hendrik Leppkes To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Apr 2022 22:41:28 +0200 Message-Id: <20220405204128.1606-1-h.leppkes@gmail.com> X-Mailer: git-send-email 2.33.0.windows.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avfilter/f_ebur128: multiply in integer first, before dividing in float 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: Hendrik Leppkes Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 04L00nEF7osG Restores the order of operations from before 15a1104, which reduces errors from floating point calculations, and fixes FATE on mingw64. --- libavfilter/f_ebur128.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/f_ebur128.c b/libavfilter/f_ebur128.c index 1b1bcf1bff..a036aa0c86 100644 --- a/libavfilter/f_ebur128.c +++ b/libavfilter/f_ebur128.c @@ -768,7 +768,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) /* get lower loudness to consider */ n = 0; - nb_pow = LRA_LOWER_PRC * 0.01 * nb_powers + 0.5; + nb_pow = LRA_LOWER_PRC * nb_powers * 0.01 + 0.5; for (i = gate_hist_pos; i < HIST_SIZE; i++) { n += ebur128->i3000.histogram[i].count; if (n >= nb_pow) { @@ -779,7 +779,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) /* get higher loudness to consider */ n = nb_powers; - nb_pow = LRA_HIGHER_PRC * 0.01 * nb_powers + 0.5; + nb_pow = LRA_HIGHER_PRC * nb_powers * 0.01 + 0.5; for (i = HIST_SIZE - 1; i >= 0; i--) { n -= FFMIN(n, ebur128->i3000.histogram[i].count); if (n < nb_pow) {