From patchwork Fri Sep 15 12:29:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 19014 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 81271BE080 for ; Fri, 15 Sep 2023 12:30:20 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B85D262918; Fri, 15 Sep 2023 14:30:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1694781019; bh=kZvAwj+j9qODzUpWvc23a9/qT35bl6S7Enc7V/qI7WA=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=h8217xhZu9/zdeOpjCwQcrZuYSbwzrQ5XHXYQNEr0DQrEu/H+c0ri16+4tDpLk4VL g0fSScrifyuxOaAvFNq1441vBxmiMNA+7s5F2ia3AhqDRzcHDeVbISCE4tEiSFPseq mcPvu+HHSmoST+MNagkfkdjCFNFGf8lRn0nvIurYThAEF54eptUq3Da218suhacKLr gswrIEW0muk8pooxTTzGEFZnRHVpO3i5oPZPjpm69RHu/QQCxgq/0/pVLgVyrlju1g mJCYku7tTs7mHWgqRZnFIrXPe9M+ac5RvpXIRUMYlInvXkCuk58/utUuFURIXNmrgM /tphni55eI+VQ== Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 35949628EC for ; Fri, 15 Sep 2023 14:30:18 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="hjFnUZft"; dkim-atps=neutral Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-403004a96a4so23182185e9.3 for ; Fri, 15 Sep 2023 05:30:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1694781017; x=1695385817; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=LczidwjzC76x7DZEJClJGlmhk4GR4Lze51LFkuyDiVo=; b=hjFnUZftFoyrIhIBsC6HtRaZuPIFUM6LfiImTqz3HgjYrAsFTz8E5WPbat3w7qu+1C Og9BGjV8T8eLCyOnV+qv84k5K4m3NGjF5uhQd56efxt2V/A9ngKF07bSlkkT3zNrf/H2 kqX33hmSFqaRFkK316UtxM3xRssnl+m3+eq0fve7xNg5bN01jwrKRMAy/EWJLie8ESCL KYv2dli7UiLb/F8k5mnqTEpKtIBmpuKatZfp8YHeQjzwu3louYV6mrZVICfOAMmniSM4 9olgJQaqYwMcSx9mE2uk//SxFRKGp0ylppZ55PF62bKXUV4OBraJ162YSK/U2Pe4cYtb PjFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694781017; x=1695385817; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LczidwjzC76x7DZEJClJGlmhk4GR4Lze51LFkuyDiVo=; b=E79GZYPj1/Na8fpqVtfTWs6e3Ix1bmNBl+fnZxLULsShNwFa9G6h68HpwoPMu7KHAe Yrhou+sy4Bus/4zlgO5AZTx9HCDC5CEB04qtcSKT/fJErEiQ4Tw0q4c+IbiZgov/3PKC zP95SzGlqNEHJBkh9p1AzmnYyF1YuaOGjkTRj/6bKayjvLUQy5/YVm9Uj85GOB3KUhxE KEup1mpkxS9/eHiH9sbqFkbF69x246T2sCkf9rYbd3iKAz1dX50aICG/ukYsGQIL9H05 9M0UmBU+J21tK6pM3z5U8BOUWi1a+gILN0VdKpPfuHPsyZATNAvX1MeTsHO30NL6GoDN fLWg== X-Gm-Message-State: AOJu0YwLzdmAhWw6dz04wccE2SXwLeLPT8OrNYRNM2coD98YzX5YpCQd TNaiaye6rWaelyb2aKPOEBhsvdPWK+Az8HTVgK0= X-Google-Smtp-Source: AGHT+IHvSBP4r2k298NlQI2kMdyxbFls2jRVPeRHTmtS8SSJhpApJY+JqVZrTZwtw5Hj7gQvFpL7Og== X-Received: by 2002:a1c:f204:0:b0:3fb:a100:2581 with SMTP id s4-20020a1cf204000000b003fba1002581mr1332333wmc.14.1694781017271; Fri, 15 Sep 2023 05:30:17 -0700 (PDT) Received: from localhost.localdomain ([195.180.61.40]) by smtp.gmail.com with ESMTPSA id y14-20020a7bcd8e000000b004030e8ff964sm7435009wmj.34.2023.09.15.05.30.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 05:30:16 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Fri, 15 Sep 2023 13:29:49 +0100 Message-Id: <20230915122954.5231-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/5] Multi-channel AGC X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Plowman via libcamera-devel From: David Plowman Reply-To: David Plowman Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi again Here's v4 of this patch set. It includes just a few small tidy-ups from Jacopo, so thank you very much for spotting those. Everything else is as the previous version. Best regards David David Plowman (4): ipa: rpi: agc: Reorganise code for multi-channel AGC ipa: rpi: agc: Implementation of multi-channel AGC ipa: rpi: agc: Add AgcChannelConstraint class ipa: rpi: agc: Use channel constraints in the AGC algorithm Naushir Patuck (1): ipa: rpi: histogram: Add interBinMean() src/ipa/rpi/common/ipa_base.cpp | 20 +- src/ipa/rpi/controller/agc_algorithm.h | 19 +- src/ipa/rpi/controller/agc_status.h | 1 + src/ipa/rpi/controller/histogram.cpp | 22 +- src/ipa/rpi/controller/histogram.h | 2 + src/ipa/rpi/controller/meson.build | 1 + src/ipa/rpi/controller/rpi/agc.cpp | 966 ++++--------------- src/ipa/rpi/controller/rpi/agc.h | 125 +-- src/ipa/rpi/controller/rpi/agc_channel.cpp | 1010 ++++++++++++++++++++ src/ipa/rpi/controller/rpi/agc_channel.h | 151 +++ 10 files changed, 1421 insertions(+), 896 deletions(-) create mode 100644 src/ipa/rpi/controller/rpi/agc_channel.cpp create mode 100644 src/ipa/rpi/controller/rpi/agc_channel.h