From patchwork Wed May 29 14:59:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= X-Patchwork-Id: 49348 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp706715vqu; Wed, 29 May 2024 08:00:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU70gDLRJtAR4I/HhDRFWlPGZwl3QLwnHRbLvRkNpG9+v49pvAD8+daeyJMJ6TH16XvlpP6VPuoh5a+lYvQEDETFPctGPsYGU1jzw== X-Google-Smtp-Source: AGHT+IHF+bvmQTlbbVW0cyCiu+jEMtJQ/OlJEf5SyLVe8ZjGGNviLRboZAeWzVq1TElQnIR0bDIJ X-Received: by 2002:a50:955e:0:b0:579:bf5d:ac01 with SMTP id 4fb4d7f45d1cf-579bf5daca3mr8209403a12.15.1716994819775; Wed, 29 May 2024 08:00:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716994819; cv=none; d=google.com; s=arc-20160816; b=lju7kHttPVceDnlBTcjfHjOpIs4PTviPqhFeAwXRvcbxMphFAGEM9ugIiPwnjMJ9rU YiPYXKVeF6aH7Wqmn2c6czIH/ZEoS0e3CsqcnMO/27PjSaiPLTfUdlIF86UF77g98Bb/ F1p2TCHTDKN2n751IqmcCZ+I98GBtDtUf00YDGgnAPRO1UwUwGlwaNcDR0WndcavtFIm XCYCeU1QfRzgXr1cW8ub6tk7ygViBLovJ2qJ6K6Vi6neOjyfUW1gl/1rNqwhaFFO1Ekl DOce/WCRn/tl9fkIQJtU49HhBYngijjfgrtjXECXD+574cZM5ptVsMxrsP1IxaaVFiS8 9qpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; 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:references:in-reply-to:message-id :date:to:from:delivered-to; bh=/R0aPiGl9HyweKq4Popoed7NfNR4WzzR1tkrINm0Hjc=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=XQiW8zpAqkboTnCezXhPnPFFrDW6mt/LBcqTeyEfiUYH+eRn9YUREupESacwS01coo 1c0UvLTmwt2WNilKKruC9u01dIuiMJIarLq4fm2Y+cZjqeYWi2fjCaNlH6CkhlTL0AaU md+FBdzAUjr6eHy7jynIVx4kvUJNot+GhECCoDaogITAY5KIWfTYSCXEIDDEvo1eUZxx VwfwAyPt4opQR2DmyZkSQsUPE9cNadd8+yjYTzBw3kkQRQRKI4BNopJ/O7JSb7fEWMl0 5gPOCEFS6TAq7S4/eoP3wFRTdIhxzJL1jqGq55Inuf815+iqpFzmXzwz8ik1l6D7dqRQ XTjA==; dara=google.com 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 4fb4d7f45d1cf-579d769805csi3270087a12.301.2024.05.29.08.00.19; Wed, 29 May 2024 08:00:19 -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 3F52A68D366; Wed, 29 May 2024 18:00:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from ursule.remlab.net (vps-a2bccee9.vps.ovh.net [51.75.19.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C66EA68D22E for ; Wed, 29 May 2024 17:59:56 +0300 (EEST) Received: from basile.remlab.net (localhost [IPv6:::1]) by ursule.remlab.net (Postfix) with ESMTP id 5CBE0C0099 for ; Wed, 29 May 2024 17:59:56 +0300 (EEST) From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 29 May 2024 17:59:53 +0300 Message-ID: <20240529145955.32189-2-remi@remlab.net> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240529145955.32189-1-remi@remlab.net> References: <20240529145955.32189-1-remi@remlab.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4] lavf: get rid of bespoke double scalar products 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: gjZlxmE1pKKF --- libavfilter/aap_template.c | 14 +------------- libavfilter/anlms_template.c | 16 ++-------------- libavfilter/arls_template.c | 14 +------------- 3 files changed, 4 insertions(+), 40 deletions(-) diff --git a/libavfilter/aap_template.c b/libavfilter/aap_template.c index ea9c815a89..0e0580fb32 100644 --- a/libavfilter/aap_template.c +++ b/libavfilter/aap_template.c @@ -36,18 +36,6 @@ #define fn2(a,b) fn3(a,b) #define fn(a) fn2(a, SAMPLE_FORMAT) -#if DEPTH == 64 -static double scalarproduct_double(const double *v1, const double *v2, int len) -{ - double p = 0.0; - - for (int i = 0; i < len; i++) - p += v1[i] * v2[i]; - - return p; -} -#endif - static ftype fn(fir_sample)(AudioAPContext *s, ftype sample, ftype *delay, ftype *coeffs, ftype *tmp, int *offset) { @@ -60,7 +48,7 @@ static ftype fn(fir_sample)(AudioAPContext *s, ftype sample, ftype *delay, #if DEPTH == 32 output = s->fdsp->scalarproduct_float(delay, tmp, s->kernel_size); #else - output = scalarproduct_double(delay, tmp, s->kernel_size); + output = s->fdsp->scalarproduct_double(delay, tmp, s->kernel_size); #endif if (--(*offset) < 0) diff --git a/libavfilter/anlms_template.c b/libavfilter/anlms_template.c index b25df4fa18..a8d1dbfe0f 100644 --- a/libavfilter/anlms_template.c +++ b/libavfilter/anlms_template.c @@ -33,18 +33,6 @@ #define fn2(a,b) fn3(a,b) #define fn(a) fn2(a, SAMPLE_FORMAT) -#if DEPTH == 64 -static double scalarproduct_double(const double *v1, const double *v2, int len) -{ - double p = 0.0; - - for (int i = 0; i < len; i++) - p += v1[i] * v2[i]; - - return p; -} -#endif - static ftype fn(fir_sample)(AudioNLMSContext *s, ftype sample, ftype *delay, ftype *coeffs, ftype *tmp, int *offset) { @@ -58,7 +46,7 @@ static ftype fn(fir_sample)(AudioNLMSContext *s, ftype sample, ftype *delay, #if DEPTH == 32 output = s->fdsp->scalarproduct_float(delay, tmp, s->kernel_size); #else - output = scalarproduct_double(delay, tmp, s->kernel_size); + output = s->fdsp->scalarproduct_double(delay, tmp, s->kernel_size); #endif if (--(*offset) < 0) @@ -85,7 +73,7 @@ static ftype fn(process_sample)(AudioNLMSContext *s, ftype input, ftype desired, #if DEPTH == 32 sum = s->fdsp->scalarproduct_float(delay, delay, s->kernel_size); #else - sum = scalarproduct_double(delay, delay, s->kernel_size); + sum = s->fdsp->scalarproduct_double(delay, delay, s->kernel_size); #endif norm = s->eps + sum; b = mu * e / norm; diff --git a/libavfilter/arls_template.c b/libavfilter/arls_template.c index d8b19d89a5..c67b48cf6f 100644 --- a/libavfilter/arls_template.c +++ b/libavfilter/arls_template.c @@ -39,18 +39,6 @@ #define fn2(a,b) fn3(a,b) #define fn(a) fn2(a, SAMPLE_FORMAT) -#if DEPTH == 64 -static double scalarproduct_double(const double *v1, const double *v2, int len) -{ - double p = 0.0; - - for (int i = 0; i < len; i++) - p += v1[i] * v2[i]; - - return p; -} -#endif - static ftype fn(fir_sample)(AudioRLSContext *s, ftype sample, ftype *delay, ftype *coeffs, ftype *tmp, int *offset) { @@ -64,7 +52,7 @@ static ftype fn(fir_sample)(AudioRLSContext *s, ftype sample, ftype *delay, #if DEPTH == 32 output = s->fdsp->scalarproduct_float(delay, tmp, s->kernel_size); #else - output = scalarproduct_double(delay, tmp, s->kernel_size); + output = s->fdsp->scalarproduct_double(delay, tmp, s->kernel_size); #endif if (--(*offset) < 0)