[{"id":36660,"web_url":"https://patchwork.libcamera.org/comment/36660/","msgid":"<80d5d497-82a3-478d-9ae1-85c4a44c62fe@ideasonboard.com>","date":"2025-11-03T14:02:20","subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"Hi Barnabas\n\nOn 03/11/2025 14:00, Barnabás Pőcze wrote:\n> `constraintModes()` and `exposureModeHelpers()` need not return copies of\n> the internal objects, exposing const references is sufficient, so do that.\n> \n> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\nWrong tag :)\n\nReviewed-by: Daniel Scally <dan.scally@ideasonboard.com>\n\n> ---\n>   src/ipa/libipa/agc_mean_luminance.h | 4 ++--\n>   1 file changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/ipa/libipa/agc_mean_luminance.h b/src/ipa/libipa/agc_mean_luminance.h\n> index d7ec548e3e..e5f164c318 100644\n> --- a/src/ipa/libipa/agc_mean_luminance.h\n> +++ b/src/ipa/libipa/agc_mean_luminance.h\n> @@ -53,12 +53,12 @@ public:\n>   \tvoid setLimits(utils::Duration minExposureTime, utils::Duration maxExposureTime,\n>   \t\t       double minGain, double maxGain, std::vector<AgcConstraint> constraints);\n>   \n> -\tstd::map<int32_t, std::vector<AgcConstraint>> constraintModes()\n> +\tconst std::map<int32_t, std::vector<AgcConstraint>> &constraintModes() const\n>   \t{\n>   \t\treturn constraintModes_;\n>   \t}\n>   \n> -\tstd::map<int32_t, std::shared_ptr<ExposureModeHelper>> exposureModeHelpers()\n> +\tconst std::map<int32_t, std::shared_ptr<ExposureModeHelper>> &exposureModeHelpers() const\n>   \t{\n>   \t\treturn exposureModeHelpers_;\n>   \t}","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 1B08CBDE4C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Nov 2025 14:02:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C600760A85;\n\tMon,  3 Nov 2025 15:02:25 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BBFCF60A81\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Nov 2025 15:02:23 +0100 (CET)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E0BAB111D;\n\tMon,  3 Nov 2025 15:00:30 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"qRCK5Eee\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762178431;\n\tbh=X4pzXZM/LEogzgpb7O58jdoLA17kxR2IPiZ1Kj9LTGw=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=qRCK5Eee7L51eY35GY1u6jZbA8gsaNq4RkPEqgu/wsAO/YOApRUMefWc9zI3UL23v\n\t9EPOlzhrFjXZ/+vz9wXsHfO1H0D26goWyw9bBr5OilxBN9Rc/Bn2Sk5OmdKWfbQ2lk\n\tSXUQz+5SLIhNhZ9k2riOA/DI7AF9V6Ajk6GjZiQQ=","Message-ID":"<80d5d497-82a3-478d-9ae1-85c4a44c62fe@ideasonboard.com>","Date":"Mon, 3 Nov 2025 14:02:20 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251103140049.413881-1-barnabas.pocze@ideasonboard.com>","Content-Language":"en-US","From":"Dan Scally <dan.scally@ideasonboard.com>","In-Reply-To":"<20251103140049.413881-1-barnabas.pocze@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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":36662,"web_url":"https://patchwork.libcamera.org/comment/36662/","msgid":"<3550e607-d109-427d-9303-6a1efd561600@ideasonboard.com>","date":"2025-11-03T14:34:48","subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2025. 11. 03. 15:02 keltezéssel, Dan Scally írta:\n> Hi Barnabas\n> \n> On 03/11/2025 14:00, Barnabás Pőcze wrote:\n>> `constraintModes()` and `exposureModeHelpers()` need not return copies of\n>> the internal objects, exposing const references is sufficient, so do that.\n>>\n>> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> \n> Wrong tag :)\n\nYes :( I have multiple tags pinned in the clipboard manager... I was\nwondering how long I can avoid such a mixup. Seems like that day is today.\n\nSigned-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\n\n> \n> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>\n> \n>> ---\n>>   src/ipa/libipa/agc_mean_luminance.h | 4 ++--\n>>   1 file changed, 2 insertions(+), 2 deletions(-)\n>>\n>> diff --git a/src/ipa/libipa/agc_mean_luminance.h b/src/ipa/libipa/agc_mean_luminance.h\n>> index d7ec548e3e..e5f164c318 100644\n>> --- a/src/ipa/libipa/agc_mean_luminance.h\n>> +++ b/src/ipa/libipa/agc_mean_luminance.h\n>> @@ -53,12 +53,12 @@ public:\n>>       void setLimits(utils::Duration minExposureTime, utils::Duration maxExposureTime,\n>>                  double minGain, double maxGain, std::vector<AgcConstraint> constraints);\n>> -    std::map<int32_t, std::vector<AgcConstraint>> constraintModes()\n>> +    const std::map<int32_t, std::vector<AgcConstraint>> &constraintModes() const\n>>       {\n>>           return constraintModes_;\n>>       }\n>> -    std::map<int32_t, std::shared_ptr<ExposureModeHelper>> exposureModeHelpers()\n>> +    const std::map<int32_t, std::shared_ptr<ExposureModeHelper>> &exposureModeHelpers() const\n>>       {\n>>           return exposureModeHelpers_;\n>>       }\n> \n> \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 07360C3241\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Nov 2025 14:34:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AB8C560A85;\n\tMon,  3 Nov 2025 15:34:53 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B9727609D8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Nov 2025 15:34:52 +0100 (CET)","from [192.168.33.39] (185.221.140.239.nat.pool.zt.hu\n\t[185.221.140.239])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D18707CE;\n\tMon,  3 Nov 2025 15:32:59 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"UyebOhHJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762180379;\n\tbh=B5Au7bMPgqWueV70k6fUnpWGX9VxIwil6FM90ssfaDw=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=UyebOhHJZ0Yb18fl3IQNz2ZtSkyHg0682Adh/Bn91PT2+9+8JloIZEnZmvyIEEmgI\n\tbX222fPKiTLbfJEvnwTvB+kS4K1ic+HKm7aNDSQxmBa3JlTXctC05/gdIQyQ6MFQMq\n\tGyBtJMmjLHPhTD59n5mDv+Y/gHknEKpwckoIvUqA=","Message-ID":"<3550e607-d109-427d-9303-6a1efd561600@ideasonboard.com>","Date":"Mon, 3 Nov 2025 15:34:48 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","To":"Dan Scally <dan.scally@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20251103140049.413881-1-barnabas.pocze@ideasonboard.com>\n\t<80d5d497-82a3-478d-9ae1-85c4a44c62fe@ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<80d5d497-82a3-478d-9ae1-85c4a44c62fe@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","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":36667,"web_url":"https://patchwork.libcamera.org/comment/36667/","msgid":"<176218370618.3742839.5271287976774437008@ping.linuxembedded.co.uk>","date":"2025-11-03T15:28:26","subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-11-03 14:34:48)\n> 2025. 11. 03. 15:02 keltezéssel, Dan Scally írta:\n> > Hi Barnabas\n> > \n> > On 03/11/2025 14:00, Barnabás Pőcze wrote:\n> >> `constraintModes()` and `exposureModeHelpers()` need not return copies of\n> >> the internal objects, exposing const references is sufficient, so do that.\n> >>\n> >> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > \n> > Wrong tag :)\n> \n> Yes :( I have multiple tags pinned in the clipboard manager... I was\n> wondering how long I can avoid such a mixup. Seems like that day is today.\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n\n:-)\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n> \n> > \n> > Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>\n> > \n> >> ---\n> >>   src/ipa/libipa/agc_mean_luminance.h | 4 ++--\n> >>   1 file changed, 2 insertions(+), 2 deletions(-)\n> >>\n> >> diff --git a/src/ipa/libipa/agc_mean_luminance.h b/src/ipa/libipa/agc_mean_luminance.h\n> >> index d7ec548e3e..e5f164c318 100644\n> >> --- a/src/ipa/libipa/agc_mean_luminance.h\n> >> +++ b/src/ipa/libipa/agc_mean_luminance.h\n> >> @@ -53,12 +53,12 @@ public:\n> >>       void setLimits(utils::Duration minExposureTime, utils::Duration maxExposureTime,\n> >>                  double minGain, double maxGain, std::vector<AgcConstraint> constraints);\n> >> -    std::map<int32_t, std::vector<AgcConstraint>> constraintModes()\n> >> +    const std::map<int32_t, std::vector<AgcConstraint>> &constraintModes() const\n> >>       {\n> >>           return constraintModes_;\n> >>       }\n> >> -    std::map<int32_t, std::shared_ptr<ExposureModeHelper>> exposureModeHelpers()\n> >> +    const std::map<int32_t, std::shared_ptr<ExposureModeHelper>> &exposureModeHelpers() const\n> >>       {\n> >>           return exposureModeHelpers_;\n> >>       }\n> > \n> > \n> > \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 BA30EC3241\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Nov 2025 15:28:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BB21160A80;\n\tMon,  3 Nov 2025 16:28:29 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CDD01606A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Nov 2025 16:28:28 +0100 (CET)","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 CA2E7C73;\n\tMon,  3 Nov 2025 16:26:35 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"UO01mFBY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1762183595;\n\tbh=2EyKH5x7gbk3W7inZ2tjxDJIUVQgcKG+z2KMGA1A6XI=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=UO01mFBYizOaAbTS0+tr/0BxtuXToaiQQln3vQvMTRdmh0gvJg8JnTAJ28+Q8bseD\n\tNHkew3hslh4Pc0TG7HiH0qh5oMQSvyhGO31wpcL8MNnYNkBsoPo5fwKmlAxKbpDS9C\n\tqZQxPP8D81v7il8ZwJZYl0yNPmnzalh0MwpkQUlA=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<3550e607-d109-427d-9303-6a1efd561600@ideasonboard.com>","References":"<20251103140049.413881-1-barnabas.pocze@ideasonboard.com>\n\t<80d5d497-82a3-478d-9ae1-85c4a44c62fe@ideasonboard.com>\n\t<3550e607-d109-427d-9303-6a1efd561600@ideasonboard.com>","Subject":"Re: [PATCH v1] ipa: libipa: agc_mean_luminance: Avoid unnecessary\n\tcopies","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tDan Scally <dan.scally@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Mon, 03 Nov 2025 15:28:26 +0000","Message-ID":"<176218370618.3742839.5271287976774437008@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>"}}]