From patchwork Sun Oct 24 20:24:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 31223 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp4158332ioa; Sun, 24 Oct 2021 13:25:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUL8i2z5vAd3ps1bZyQEIBnp0YJfcFOtNXxbKNrvtj8eR9jm8KVORCDMsH35cf9cf/Keu/ X-Received: by 2002:a17:907:6e05:: with SMTP id sd5mr628811ejc.135.1635107127012; Sun, 24 Oct 2021 13:25:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635107127; cv=none; d=google.com; s=arc-20160816; b=tutQm0By/0lqswkVzuxW0/yU6FP8qWrEAHgBBM2Wt/cZBMenLUuavB7QGY/6QYMwR+ TnBtfULKujaUqtO6MyC9Vws2+beiGJ/DgoJuiFYS4i3vLROAhQlo4BPDHv55A0JsDkVN /PEw0E7FKh1E/zUoyWOVVo+4raV9CWLcmZusMPFi25e5eE0AeVxJrdGpVbwS+CorljNa N8x5SnGoiQ4XmUuUfg1/apdCKjvdpDU6O9s8Ndv0dutH9vwm4GpuTUq49Ljb8ttcH3IX V/S99dvWvRN5+vH0qhWqUPxKTyVYYIVNm3pL8nzMJRx5BRK/FWy614SY9ZEt3fQBUWbY Z8Mg== 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:dkim-signature:delivered-to; bh=kcUYjwcJEEIZYHBv8htd6LGZdADydAN4hNTe5p8kfbs=; b=Aau2yxW00KOx490AQlCgaTx7YKXaPgvBaViqQswBxwZNbDD+mUASgnyuY06CQ1wzoP nltd39A30YTUuoB+TBuwIUCVTleswy+P3IdXPz/ee5+zZcV3UP6YI2ckztwtuuFkhDK7 qb/bbOMzki9yjAfudnP97MsQzVcfqhSrfOOF9/ujhOKuy2KXh8OZ0+bb6BCUknsYrzR1 8v3HIQ6UWdYBVzCZaQ0hBpBSCSAYgSQiBiA+P+X8DumV9q2sCG3NudnIsKGGaa+NQzKm gE90RM5hTddV2Rr/vkIHUB8bXsaZ0bY19zcCG9TRcq9LQ0mU5sUbh74m/+ff+UWowAeE uoNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=RjlYEVA2; 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 i2si31956938edc.582.2021.10.24.13.25.26; Sun, 24 Oct 2021 13:25:27 -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=RjlYEVA2; 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 2150E68A4CA; Sun, 24 Oct 2021 23:25:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 03550680986 for ; Sun, 24 Oct 2021 23:25:00 +0300 (EEST) Received: by mail-ed1-f52.google.com with SMTP id n1so7084863edd.0 for ; Sun, 24 Oct 2021 13:24:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=lSVYVpUQ52qdMrnCtX2XIquWxveqAnZqetmGcGHIQu4=; b=RjlYEVA2NzKIah3pbKLwqBT2SUfkPEGs6XNvagO31J/Z0sFj2/djXOMTGULUrV2/Ya +TVpICgSXTP2ZVaaWWSMc+rSGR4OrKZNmduIIQ+bdsqJuj1fZ2NLnR8DXoEtdEG+sddw HKpvrN+2eBbCNrjmMZaTD2q4xGNDR3owcmDOFByESvz+gKhovb/O/FaW+BaZdhm2FUya 40UzYZYUoGarB5P2VcDm1Aaifs6mpymY2SiFomYl1ACzylI3HffBYvcoGzBmr402zXGw cANzkpw6IWCFr+C0u2A8FIwxhmNhu3ZxoH0Lj/9vdqbuaxbHY3eCYEEszC224pKbfe65 ILzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=lSVYVpUQ52qdMrnCtX2XIquWxveqAnZqetmGcGHIQu4=; b=TpHgZel1B0kbbvwAirDB0bCajn5BCSTjUo5Gi03O3b+zYVp3HHxd8FKGsTeWZxzk45 16FFTy/aYV8FVEfcfDruEQTPjOR5hmzYezcZS3bWtZoVyn33qo5K6cHMKQKhl1g3mbDI XTZFZ5OQ/rllwS9cVRy+eTJh0Xr2i3sae+zghivt0lyY4yzGrC/SSzbPvH7mOI5cK9+i CbzS+FBxF9ExZdfW/gE+uSUzWaTYPfgoThvH/0o4cJiBma2aGkDOxdAoSXBNgsdo3gQb 7wQF3iWwC2NRjORVIz/0xAQLyUWmNnj36f2DBTwqSGGczNNHdMXgmDRN470iopA4Lat6 sUAg== X-Gm-Message-State: AOAM533xac1qD0EKDMTtTq2PPHIWdpx6ZWzxZJhQN4SdXxk6rHlFJ2Z2 9EHriEyLoCnB/Ly8htOBmGOTIQHGwR4= X-Received: by 2002:a50:cc49:: with SMTP id n9mr19933554edi.273.1635107099500; Sun, 24 Oct 2021 13:24:59 -0700 (PDT) Received: from localhost.localdomain ([95.168.118.28]) by smtp.gmail.com with ESMTPSA id ga42sm6416697ejc.105.2021.10.24.13.24.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Oct 2021 13:24:59 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sun, 24 Oct 2021 22:24:58 +0200 Message-Id: <20211024202502.945133-2-onemda@gmail.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211024202502.945133-1-onemda@gmail.com> References: <20211024202502.945133-1-onemda@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/6] avfilter/vf_nlmeans: make access to pointer to lut faster 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: eLUFHX0l8RsO Signed-off-by: Paul B Mahol --- libavfilter/vf_nlmeans.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_nlmeans.c b/libavfilter/vf_nlmeans.c index b8d8bb2ec0..0962056a6e 100644 --- a/libavfilter/vf_nlmeans.c +++ b/libavfilter/vf_nlmeans.c @@ -344,6 +344,7 @@ static int nlmeans_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs const int dist_b = 2*p + 1; const int dist_d = dist_b * s->ii_lz_32; const int dist_e = dist_d + dist_b; + const float *const weight_lut = s->weight_lut; for (int y = starty; y < endy; y++) { const uint8_t *src = td->src + y*src_linesize; @@ -385,7 +386,7 @@ static int nlmeans_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs const uint32_t patch_diff_sq = e - d - b + a; if (patch_diff_sq < s->max_meaningful_diff) { - const float weight = s->weight_lut[patch_diff_sq]; // exp(-patch_diff_sq * s->pdiff_scale) + const float weight = weight_lut[patch_diff_sq]; // exp(-patch_diff_sq * s->pdiff_scale) wa[x].total_weight += weight; wa[x].sum += weight * src[x]; }