[{"id":34841,"web_url":"https://patchwork.libcamera.org/comment/34841/","msgid":"<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","date":"2025-07-10T07:56:21","subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting David Plowman (2025-06-17 09:29:48)\n> Hi everyone\n> \n> Here's a patch set that originated way back at the end of 2023! I\n> remember thinking \"oh, I'll send these patches once Pi 5 support has\n> been merged\", thinking it would only be a few weeks. How young and\n> foolish I was!\n> \n> Anyway, it was so long ago now, that I felt rather like I was\n> reviewing a patch set from another person - \"past David\", I suppose.\n> \n> The first 3 patches are small technical or cosmetic improvements, not\n> of any particularly great consequence. Each is standalone. I think I'm\n> happy that past David seemed to know what he was doing.\n\nThat's practically a review by tag from you for the series right ;-) I\nthink reviewing your own patches more than three months later counts as\na different person really :-)\n\n\n> The remaining 4 patches are the important ones. Our AEC/AGC has always\n> had a problem because the digital gain was set in its prepare()\n> method.  The catch is that if we're running at high framerates, we\n> frequently skip the IPAs altogether, meaning the digital gain that is\n> required - because it's making up for a deficit in exposure - doesn't\n> get applied. This causes some sometimes very obvious \"winks\".\n> \n> In these 4 last patches, calculation of the digital gain is moved out\n> of prepare() to process(), meaning it's always available. And the IPA\n> code is refactored slightly so that the digital gain is always\n> applied, even when the rest of AEC/AGC is skipped.\n> \n> I hope it makes reasonable sense - there is some fiddly stuff going on\n> here. Hats off to past David!\n\nAwesome ;-)\n\nAre these already existing in the RPi fork ? (I.e. are they so\nthoroughly tested, they should just be merged already?)\n\nDo you prefer an explicit ack/rb tag from Naush or anyone else from RPi\nas it's under the RPi namespace? - Nothing looks scary in the series to\nme ...\n\n--\nKieran\n\n\n> \n> Thanks!\n> \n> Present-day David\n> \n> \n> David Plowman (7):\n>   ipa: rpi: agc: Change handling of colour gains less than 1\n>   ipa: rpi: agc: Make the maximum digital gain configurable\n>   ipa: rpi: agc: Rename \"analogue gain\" to \"gain\" where appropriate\n>   ipa: rpi: Advance the delay context counter even when IPAs don't run\n>   ipa: rpi: agc: Calculate digital gain in process()\n>   ipa: rpi: Update digital gain handling in IPA base and derived classes\n>   ipa: rpi: agc: Remove digital gain from AgcPrepareStatus\n> \n>  src/ipa/rpi/common/ipa_base.cpp            |  72 ++++---\n>  src/ipa/rpi/common/ipa_base.h              |   6 +-\n>  src/ipa/rpi/controller/agc_algorithm.h     |   2 +-\n>  src/ipa/rpi/controller/agc_status.h        |   4 +-\n>  src/ipa/rpi/controller/rpi/agc.cpp         |   6 +-\n>  src/ipa/rpi/controller/rpi/agc.h           |   4 +-\n>  src/ipa/rpi/controller/rpi/agc_channel.cpp | 236 +++++++++------------\n>  src/ipa/rpi/controller/rpi/agc_channel.h   |   6 +-\n>  src/ipa/rpi/pisp/pisp.cpp                  |  81 ++++---\n>  src/ipa/rpi/vc4/vc4.cpp                    |  42 +++-\n>  10 files changed, 248 insertions(+), 211 deletions(-)\n> \n> -- \n> 2.39.5\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id EEA5BC3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Jul 2025 07:56:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 97ED368EFF;\n\tThu, 10 Jul 2025 09:56:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 72EDF68EAF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Jul 2025 09:56:24 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A8D2D524;\n\tThu, 10 Jul 2025 09:55:55 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RxcknxJN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1752134155;\n\tbh=cKTcvzivOCKdg22idxdukewwkUyEUTvRZJGcJTGeQEU=;\n\th=In-Reply-To:References:Subject:From:To:Cc:Date:From;\n\tb=RxcknxJNg9ztLlEnzzr5fNkSYTWzbW7lt2QYTrj/iuUXWbYNGbeRRe47n/FeMLe/s\n\thqohYCQUVU9MYYKmM+kCK0qK9zgYg0Bxt37oeJ4xo7EzMwfkogfGKQtHk6yY3NSzXT\n\tvLLQICc+u4wfbACnSUm7CxgfTSSKLU31w10KLStM=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250617082956.5699-1-david.plowman@raspberrypi.com>","References":"<20250617082956.5699-1-david.plowman@raspberrypi.com>","Subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"David Plowman <david.plowman@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Cc":"David Plowman <david.plowman@raspberrypi.com>,\n\tNaushir Patuck <naush@raspberrypi.com>, ","Date":"Thu, 10 Jul 2025 08:56:21 +0100","Message-ID":"<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":34842,"web_url":"https://patchwork.libcamera.org/comment/34842/","msgid":"<CAEmqJPriotU7MECwi_aDdu2CRSDOtCMvY6nreWq-m0U-u5Xz2Q@mail.gmail.com>","date":"2025-07-10T08:48:41","subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"On Thu, 10 Jul 2025 at 08:56, Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Quoting David Plowman (2025-06-17 09:29:48)\n> > Hi everyone\n> >\n> > Here's a patch set that originated way back at the end of 2023! I\n> > remember thinking \"oh, I'll send these patches once Pi 5 support has\n> > been merged\", thinking it would only be a few weeks. How young and\n> > foolish I was!\n> >\n> > Anyway, it was so long ago now, that I felt rather like I was\n> > reviewing a patch set from another person - \"past David\", I suppose.\n> >\n> > The first 3 patches are small technical or cosmetic improvements, not\n> > of any particularly great consequence. Each is standalone. I think I'm\n> > happy that past David seemed to know what he was doing.\n>\n> That's practically a review by tag from you for the series right ;-) I\n> think reviewing your own patches more than three months later counts as\n> a different person really :-)\n>\n>\n> > The remaining 4 patches are the important ones. Our AEC/AGC has always\n> > had a problem because the digital gain was set in its prepare()\n> > method.  The catch is that if we're running at high framerates, we\n> > frequently skip the IPAs altogether, meaning the digital gain that is\n> > required - because it's making up for a deficit in exposure - doesn't\n> > get applied. This causes some sometimes very obvious \"winks\".\n> >\n> > In these 4 last patches, calculation of the digital gain is moved out\n> > of prepare() to process(), meaning it's always available. And the IPA\n> > code is refactored slightly so that the digital gain is always\n> > applied, even when the rest of AEC/AGC is skipped.\n> >\n> > I hope it makes reasonable sense - there is some fiddly stuff going on\n> > here. Hats off to past David!\n>\n> Awesome ;-)\n>\n> Are these already existing in the RPi fork ? (I.e. are they so\n> thoroughly tested, they should just be merged already?)\n>\n> Do you prefer an explicit ack/rb tag from Naush or anyone else from RPi\n> as it's under the RPi namespace? - Nothing looks scary in the series to\n> me ...\n\nOops, I thought I had already added my tag.  For the series:\n\nReviewed-by: Naushir Patuck <naush@raspberrypi.com>\n\n>\n> --\n> Kieran\n>\n>\n> >\n> > Thanks!\n> >\n> > Present-day David\n> >\n> >\n> > David Plowman (7):\n> >   ipa: rpi: agc: Change handling of colour gains less than 1\n> >   ipa: rpi: agc: Make the maximum digital gain configurable\n> >   ipa: rpi: agc: Rename \"analogue gain\" to \"gain\" where appropriate\n> >   ipa: rpi: Advance the delay context counter even when IPAs don't run\n> >   ipa: rpi: agc: Calculate digital gain in process()\n> >   ipa: rpi: Update digital gain handling in IPA base and derived classes\n> >   ipa: rpi: agc: Remove digital gain from AgcPrepareStatus\n> >\n> >  src/ipa/rpi/common/ipa_base.cpp            |  72 ++++---\n> >  src/ipa/rpi/common/ipa_base.h              |   6 +-\n> >  src/ipa/rpi/controller/agc_algorithm.h     |   2 +-\n> >  src/ipa/rpi/controller/agc_status.h        |   4 +-\n> >  src/ipa/rpi/controller/rpi/agc.cpp         |   6 +-\n> >  src/ipa/rpi/controller/rpi/agc.h           |   4 +-\n> >  src/ipa/rpi/controller/rpi/agc_channel.cpp | 236 +++++++++------------\n> >  src/ipa/rpi/controller/rpi/agc_channel.h   |   6 +-\n> >  src/ipa/rpi/pisp/pisp.cpp                  |  81 ++++---\n> >  src/ipa/rpi/vc4/vc4.cpp                    |  42 +++-\n> >  10 files changed, 248 insertions(+), 211 deletions(-)\n> >\n> > --\n> > 2.39.5\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 607B9BE175\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Jul 2025 08:49:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2C6AE68EFD;\n\tThu, 10 Jul 2025 10:49:20 +0200 (CEST)","from mail-vk1-xa31.google.com (mail-vk1-xa31.google.com\n\t[IPv6:2607:f8b0:4864:20::a31])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C72FB68EAF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Jul 2025 10:49:17 +0200 (CEST)","by mail-vk1-xa31.google.com with SMTP id\n\t71dfb90a1353d-532d07a648cso35921e0c.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Jul 2025 01:49:17 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"lOZgdCe8\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1752137356; x=1752742156;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=u7WnEJdciiDNuL9Gs1zPwguwGvg39ItgNIjT1dXTD3I=;\n\tb=lOZgdCe8f4PyjD5eYnSGy39V2X1CUoFre4OCW2DEDXJ2ccwcqOIcfwYSWqF2/4yUpL\n\tbgZETqK2oAXMd1UuZtpceYyff9kTeS1oeeS9Un4P6RV46VI/USGgfU5jlVcmUIQYbbmi\n\tJWCgQ7WP+XPH4YP5wGRTDkHf5OQW3ZOYoyGnw+E0Fl0nIsdyhm0lZUi5rmV0ZlruXuDI\n\t5jcUeriXF8ybzwDAslxMEbWnTRQ+VpyQLfaR0Y4DR2+JXuf750XCJyG37gPPOiDC4giz\n\tutCo099SZHc49/eUyUA+PqZJCKzVaqcaIPVnJ6RvKCpPfoO3XHPZakrnD35YynVw5FFO\n\ttclA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1752137356; x=1752742156;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=u7WnEJdciiDNuL9Gs1zPwguwGvg39ItgNIjT1dXTD3I=;\n\tb=fHbauDXeDWxjBCo5Pi9C77kbdIZU4fFq4y2LNv5hzF4dH17zCQiXIYL4jqjt9y/xeY\n\tZR1lQqCdzS4ZXN/UtUYCJ38Jx1y5aOC9LDKLF1x93nEnfmyWkq9lSmAVbFQOxFnGhzSL\n\tyoYL/wa3+ffXKdZSnGSCL4Nc9HttgTzNGUO56SXV9eh2x22k7LUQM7utcNrwOmhoAR3A\n\tFQepUyku4igVd+59IR8Q+4pKoWsj6pAbAO2f3Sni329YAv6/iqMDYIGmk8e1j8V+5nid\n\tksmuqW5Yla74ZxbzrBakmZ1ItRDCSgrLdQHJ02CcG9oUuW6C4EaN2RD9+J0MedZxzkH1\n\tArbA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCV5RPzYD6Z1HYaFEwicpm47POXyutWtR9z/SMLYVgVUqOycwySdFVeeOIQApNSKUuzrReW/cXbgsWT0jTbvHlk=@lists.libcamera.org","X-Gm-Message-State":"AOJu0YwwwlFKEPWESqARmAYCmntfK/1qQhRemEKVJL8GN+3LGWLCj+8g\n\tZQ+jma8SphHVS3qLbvku23FSwF6Rt6LxYezj6rP3FBamNc9sENXKGsiNLa2RotK+p2U5Y33ludy\n\tKIUgg25JvTsxZti92UPsRZDhx2wUEl7rzHqV3T8U/hQ==","X-Gm-Gg":"ASbGncsQ5L3n0g9L51iIRtsv2EZySyRTFu8L4VRzqfKr9FRScqMXtHLc+pDgO8u9U5U\n\teZoLAyjwrtsGffUc+lztWARZnSdonPLI6xc1Bd+rhGavl18ST7PQiI6BC4TpwTPiQPpK5oCjSp8\n\tP7hy5f5GJh0tkYkEDI5UTsG6l+A1x4dpfb30HmZSadbJw=","X-Google-Smtp-Source":"AGHT+IG5nLCOg6lLlwbcGg6qvrhxpkM+mc3yCdySRrvU8II0LpVTdTH5m58HvKmZP6BU+WD64eQ1ObKA/LnNFImeytw=","X-Received":"by 2002:a05:6102:4189:b0:4e2:86c4:2dd3 with SMTP id\n\tada2fe7eead31-4f54a9ea20emr1372815137.5.1752137356462;\n\tThu, 10 Jul 2025 01:49:16 -0700 (PDT)","MIME-Version":"1.0","References":"<20250617082956.5699-1-david.plowman@raspberrypi.com>\n\t<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","In-Reply-To":"<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Thu, 10 Jul 2025 09:48:41 +0100","X-Gm-Features":"Ac12FXyq0ArlhK1noeN5m-tpnC1fr7QRd-pZzZaOkxbCUflLnyKvP6WacQfVmdk","Message-ID":"<CAEmqJPriotU7MECwi_aDdu2CRSDOtCMvY6nreWq-m0U-u5Xz2Q@mail.gmail.com>","Subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"David Plowman <david.plowman@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":34843,"web_url":"https://patchwork.libcamera.org/comment/34843/","msgid":"<CAHW6GYKYNYh2faLPKpRUkRMP8iMTG47zwZqq1KDu0SQADNKgPg@mail.gmail.com>","date":"2025-07-10T08:49:24","subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Kieran\n\nYes, these have been running in a branch in the Pi fork for a while,\nthough I don't think they've been on \"main\". But anyway, personally I\nthink they count as well tested, though of course, until the entire\nworld is using the new stuff in all their idiosyncratic environments\nyou can never know 100%.\n\nDon't mind about any other tags... Naush, do you want to \"ack\" this\nset as you have tried it out as well?\n\nThanks\nDavid\n\nOn Thu, 10 Jul 2025 at 08:56, Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Quoting David Plowman (2025-06-17 09:29:48)\n> > Hi everyone\n> >\n> > Here's a patch set that originated way back at the end of 2023! I\n> > remember thinking \"oh, I'll send these patches once Pi 5 support has\n> > been merged\", thinking it would only be a few weeks. How young and\n> > foolish I was!\n> >\n> > Anyway, it was so long ago now, that I felt rather like I was\n> > reviewing a patch set from another person - \"past David\", I suppose.\n> >\n> > The first 3 patches are small technical or cosmetic improvements, not\n> > of any particularly great consequence. Each is standalone. I think I'm\n> > happy that past David seemed to know what he was doing.\n>\n> That's practically a review by tag from you for the series right ;-) I\n> think reviewing your own patches more than three months later counts as\n> a different person really :-)\n>\n>\n> > The remaining 4 patches are the important ones. Our AEC/AGC has always\n> > had a problem because the digital gain was set in its prepare()\n> > method.  The catch is that if we're running at high framerates, we\n> > frequently skip the IPAs altogether, meaning the digital gain that is\n> > required - because it's making up for a deficit in exposure - doesn't\n> > get applied. This causes some sometimes very obvious \"winks\".\n> >\n> > In these 4 last patches, calculation of the digital gain is moved out\n> > of prepare() to process(), meaning it's always available. And the IPA\n> > code is refactored slightly so that the digital gain is always\n> > applied, even when the rest of AEC/AGC is skipped.\n> >\n> > I hope it makes reasonable sense - there is some fiddly stuff going on\n> > here. Hats off to past David!\n>\n> Awesome ;-)\n>\n> Are these already existing in the RPi fork ? (I.e. are they so\n> thoroughly tested, they should just be merged already?)\n>\n> Do you prefer an explicit ack/rb tag from Naush or anyone else from RPi\n> as it's under the RPi namespace? - Nothing looks scary in the series to\n> me ...\n>\n> --\n> Kieran\n>\n>\n> >\n> > Thanks!\n> >\n> > Present-day David\n> >\n> >\n> > David Plowman (7):\n> >   ipa: rpi: agc: Change handling of colour gains less than 1\n> >   ipa: rpi: agc: Make the maximum digital gain configurable\n> >   ipa: rpi: agc: Rename \"analogue gain\" to \"gain\" where appropriate\n> >   ipa: rpi: Advance the delay context counter even when IPAs don't run\n> >   ipa: rpi: agc: Calculate digital gain in process()\n> >   ipa: rpi: Update digital gain handling in IPA base and derived classes\n> >   ipa: rpi: agc: Remove digital gain from AgcPrepareStatus\n> >\n> >  src/ipa/rpi/common/ipa_base.cpp            |  72 ++++---\n> >  src/ipa/rpi/common/ipa_base.h              |   6 +-\n> >  src/ipa/rpi/controller/agc_algorithm.h     |   2 +-\n> >  src/ipa/rpi/controller/agc_status.h        |   4 +-\n> >  src/ipa/rpi/controller/rpi/agc.cpp         |   6 +-\n> >  src/ipa/rpi/controller/rpi/agc.h           |   4 +-\n> >  src/ipa/rpi/controller/rpi/agc_channel.cpp | 236 +++++++++------------\n> >  src/ipa/rpi/controller/rpi/agc_channel.h   |   6 +-\n> >  src/ipa/rpi/pisp/pisp.cpp                  |  81 ++++---\n> >  src/ipa/rpi/vc4/vc4.cpp                    |  42 +++-\n> >  10 files changed, 248 insertions(+), 211 deletions(-)\n> >\n> > --\n> > 2.39.5\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 550A6BE175\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 10 Jul 2025 08:49:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0904568F00;\n\tThu, 10 Jul 2025 10:49:39 +0200 (CEST)","from mail-qt1-x836.google.com (mail-qt1-x836.google.com\n\t[IPv6:2607:f8b0:4864:20::836])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E02D568EFB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Jul 2025 10:49:36 +0200 (CEST)","by mail-qt1-x836.google.com with SMTP id\n\td75a77b69052e-4a774209cf0so9058251cf.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Jul 2025 01:49:36 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"l2pbr4y1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1752137376; x=1752742176;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=nk289VCvyN/PWb/3qcVD3s860XOWcH0GYspVda5af6E=;\n\tb=l2pbr4y1ZYmpEb1d4n0sMq9W+LCKc6mEQZwSKhNay8blqPqWR5lqgyiQShjqdA8lCb\n\tcMpbRnj2Dnxa1AZVzav1d6YsIIVf9gURRL+MwIiXY71DDDN0juRBHBOujh+n7nuafBUc\n\tcCNN45PYhc6B4Pqep/omxu/6ZkEh+LezBVT9SLbgNh29298PfeiUnr2texFSR/bcgE2W\n\tHRFAmWDeiCNRGQhW6QGLwjW+zJm9TDVzZUROBe6J485d2TsDOQeOKfNusWv/qeCbfet3\n\tZ5HeV7n3ioHQgMFVId3noB208cOgbD3l1nACMhDzFtuPxNc6FnM8nZkcvzLvI6I1Ku1E\n\tfXaw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1752137376; x=1752742176;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=nk289VCvyN/PWb/3qcVD3s860XOWcH0GYspVda5af6E=;\n\tb=JhLztjmYWlP0YGhinrYOtwQm1eCBKvq8zQTLfH7JGEkRzjnYr/PHgKjGKQZrO0MdWk\n\tn78PsVaplXrIkrqvnJxKrzztkU0R9a/VkZlcT7zS7rKJNG11S23eJrOx9V5jBTIKFHJa\n\tJFjmCQ7M8KEGlILhnBYxbHIeQMxdYNR0/X0IYWa6lnL7j4Lzd0ZyDtdBAdEAFyoNZRr7\n\tGKC3Ch59yfFKSmmKnXRtNWrR5QV5WEf9+myDcJ7JissmMtAt/b0bRwcXPLbrpNqqK5RS\n\tZOG3maq9bCKQ6MHR4Z74i6AFa3o9j7/FvAfXQeXaM52a1IIL84GX0AWUjtu/iIgkBFbF\n\tvtQw==","X-Gm-Message-State":"AOJu0Yy4G0GY0q505S+0QSJ/+rwgfLJXJu5HaYSvX2DBNtEQh/5dxXBR\n\tDCKcCqLuYfwHwAAv0oc+t4RI9TlFKHAnycrVwX0mArcYqjkBPcaim7jutJiXPrKwBbmcxnmVx+s\n\ted0UgzRjri9VUBLAsdBgO3UP7hM3aXpbVeWCEqrwbD4PLl2t4i/3j","X-Gm-Gg":"ASbGncsVGLemwSzSxzKkOhnaZ/E0sp5zgn5fIgmy0MpM4Cih+pNRvahWF5kkgNrjHFZ\n\t24crUXik2F4N5ye3FVaulvaBV5gndoGn9Nuum6Dt9ZXcNOwr8z8TEaHDFatz2kL+nQMmVa7VsrN\n\tw+86Kqs4PvtPBiY94LYTolZD2FZfdhPpCMmmw6xxf61TJmAQgY9+z3a5qs7RkgfXJMLSMuVLMOP\n\t5Q=","X-Google-Smtp-Source":"AGHT+IFOTY2h5ypG/kXXEdj7TDfYfvEW/evuQcdaUHmqFXy0paucHNOBhEsxYdRCbz5D4rB8Bedcz4XfS1XcUxG/3ac=","X-Received":"by 2002:a05:6214:5293:b0:702:d87a:60a0 with SMTP id\n\t6a1803df08f44-70498308049mr17920416d6.44.1752137375576;\n\tThu, 10 Jul 2025 01:49:35 -0700 (PDT)","MIME-Version":"1.0","References":"<20250617082956.5699-1-david.plowman@raspberrypi.com>\n\t<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","In-Reply-To":"<175213418172.2538045.15389281886318213893@ping.linuxembedded.co.uk>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Thu, 10 Jul 2025 09:49:24 +0100","X-Gm-Features":"Ac12FXxRtKEBO2bB6dFErAspczyM0IHwE4NxQRCApKio2wt8w07tmRCpLlLhVjs","Message-ID":"<CAHW6GYKYNYh2faLPKpRUkRMP8iMTG47zwZqq1KDu0SQADNKgPg@mail.gmail.com>","Subject":"Re: [PATCH 0/7] Raspberry Pi AEC/AGC update","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, \n\tNaushir Patuck <naush@raspberrypi.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]