From patchwork Fri Sep 15 15:58:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 19033 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 6180BBD160 for ; Fri, 15 Sep 2023 15:58:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id CB0CE62918; Fri, 15 Sep 2023 17:58:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1694793529; bh=BemUtFRTSIRbDSR6u2PrFqNcoj2p4tIWPz6yzOuC2ZI=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=ip6WUYgt/lgMa1WPjjnXblcn+fJXvClM+ZTKdWz5pEqqtSdEGmc4SQf0BNiLKOK0i S5Z9nJPRz4um+pl9+7XJ5B3Mj0X0MVipsjgE7zTkB0T83fXZRfJRAjelRNErWKc+Sr stbUNpPaogNQ0aNnWhZruXAiWMMhfvMaoeejIKUnxCZH7FTwwXzW99HpH14tb4Af0/ 9qb8/H5YmMQ0gcrupKYyVOK6k/tg2QeBZGW7ZD0T5nhe6HXq2eDMsuBvwsmWUMp94P oRw1Yl4ZtY5W55d5oiE0nWq+URn5aGspdTdz5VsvuN75xriESWG6dp46j0l9IuHFy4 3Pz4CUmEe+dUQ== Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5ED48628EC for ; Fri, 15 Sep 2023 17:58:48 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="fKbi1YkB"; dkim-atps=neutral Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-31c3df710bdso2135075f8f.1 for ; Fri, 15 Sep 2023 08:58:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1694793527; x=1695398327; 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=orK0fbi0sEyuDTw0M0coVHw9hYOD9OlJMal2O00Nm48=; b=fKbi1YkB7Kd0+KOnsGnMjSmeEhgCLfUs4R0oM2+c5VAC4FtJU6gb5OayKzhcnu8/h8 NH5V9/LtsQODqOyQK6gwZwirQaeGzlboMI374cZ21NRnKPJaquTF9L32ho3z0nYv/N3k 1mOtcaII+2ieM8+hHoVakommzsMaaeYIoBxxPs1y1QRvqVSGZBNFdAtP6pXhdNDl7JqH ofSr5BozK5yPY/vGO9Zu6/SBuTdxGVczLxFeV7m1I+iWPVgnCeN+f5MI2fzfCSaW2/Bv KxTWdQYKmolWzejgnncD2xdfa8IEte6EEzq/2L5VYTX4VkJLZ53oDv5idbM5e7v64oDF Fppg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694793527; x=1695398327; 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=orK0fbi0sEyuDTw0M0coVHw9hYOD9OlJMal2O00Nm48=; b=ZKajuQdhKov6W6vAabolBhA2UvghU+pYVxxnZBzP5p43unFaKuhfL1ZhFfxWZVpp88 20123IFmkeHVeY6wjnKxiYjdS3CjkU526AR9ttyM0o1wDWAx6TdoAvsqOeP23GW1MDc+ JoaD+Lw4nbqd1O21JGCicVAfTkCQ+m5frexPvnTIiodhExXSPKNTPoHpRnhUH25TZygj xvHF2QDvFyocT8KggpDM+AZ/uIojvJl3+89wY8jDILZBveHEV0Z/ibGDooBk362Qw5Xo Hi5awYeK18ObCLpUbvgOBnU3bcKf+pOSU6Up0UQjyNEPvpF14MHMvXjY3nkssF1uXqUv lxhg== X-Gm-Message-State: AOJu0Yw6UHG0TPYDQV/3y2hhApXfaPKVdWX0SQuFuH3JesAO6t/jaA1V CGbY+P61faKtl9+rFpQVLt69L2KUrbjBwAshs+U= X-Google-Smtp-Source: AGHT+IER7NykMludAbQysqCQWZZnwAijGxwL2Y8UuEkjJun+pty7F+OLLvrZ29sDHi2FCP5zEdTppA== X-Received: by 2002:adf:f782:0:b0:317:e766:d5e9 with SMTP id q2-20020adff782000000b00317e766d5e9mr1773716wrp.3.1694793527504; Fri, 15 Sep 2023 08:58:47 -0700 (PDT) Received: from localhost.localdomain ([195.180.61.40]) by smtp.gmail.com with ESMTPSA id l13-20020a7bc44d000000b00401c595fcc7sm7810618wmi.11.2023.09.15.08.58.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Sep 2023 08:58:46 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Fri, 15 Sep 2023 16:58:39 +0100 Message-Id: <20230915155844.2388-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 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 everyone Another version, I'm afraid. This one fixes a typo noticed by Kieran and his compiler. In practice it makes very little difference, besides the code being obviously incorrect! Thanks 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