[{"id":22824,"web_url":"https://patchwork.libcamera.org/comment/22824/","msgid":"<165158241840.4076486.5374471269140942938@Monstersaurus>","date":"2022-05-03T12:53:38","subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Naushir Patuck via libcamera-devel (2022-04-21 16:11:16)\n> The SensorSensitivity property is a scaling factor that describes how sensitive\n> the selected sensor mode is compared to other readout modes of the same sensor.\n> For example, a binned mode might have twice the sensitivity of the full\n> resolution mode, meaning you would get double the signal level for the same\n> exposure and gains.\n\nI think having this as a property of the configured camera makes a lot\nmore sense.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  src/libcamera/property_ids.yaml | 12 ++++++++++++\n>  1 file changed, 12 insertions(+)\n> \n> diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> index 12ecbce5eed4..11b7ebdc3105 100644\n> --- a/src/libcamera/property_ids.yaml\n> +++ b/src/libcamera/property_ids.yaml\n> @@ -678,6 +678,18 @@ controls:\n>          \\todo Turn this property into a \"maximum control value\" for the\n>          ScalerCrop control once \"dynamic\" controls have been implemented.\n>  \n> +  - SensorSensitivity:\n> +      type: float\n> +      description: |\n> +        The relative sensitivity of the chosen sensor mode.\n> +\n> +        Some sensors have readout modes with different sensitivities. For example,\n> +        a binned camera mode might, with the same exposure and gains, produce\n> +        twice the signal level of the full resolution readout. This would be\n> +        signalled by the binned mode, when it is chosen, indicating a value here\n> +        that is twice that of the full resolution mode. This value will be valid\n> +        after the configure method has returned successfully.\n> +\n>    # ----------------------------------------------------------------------------\n>    # Draft properties section\n>  \n> -- \n> 2.25.1\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 49497C0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  3 May 2022 12:53:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AD6906563D;\n\tTue,  3 May 2022 14:53:42 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7BE536563D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  3 May 2022 14:53:41 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 150FEE5;\n\tTue,  3 May 2022 14:53:41 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651582422;\n\tbh=UCgxM2RmrHfnCurwTI04ewazBwORirFYtnwXlNDLNUU=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=erfxED4aIocnZp7OARtlNI3SPBMyN7e2YixeJ7VfRf3iUkui3RzoyrLsggi15C1SY\n\tEWay+8KghfAJZAvtwLh00n2D3Y+uUxfnkucdYmwWekkVrfeMqFf5FelPYKPs3fBjT6\n\t4VwJEqEAX18iIL6lJrUD/I1WyCQUQxRen0wPVdYoi6MGWvWk4fVPkozuKj83xZDtu6\n\te0umTqCPKdmf5Jpx84GUozTwR/hZQ6FbK/CMjVr1kRG0YnCX92LErbqopCwywClK81\n\ttXVvcBmSLakc8+zl7BzoagmMU/aL6pCV7Mp1Cz9vDc9SP4fUecWbyyQ0m+/Vb6umzQ\n\t8QqAbPAq7VnJw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1651582421;\n\tbh=UCgxM2RmrHfnCurwTI04ewazBwORirFYtnwXlNDLNUU=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=a2p52Zq/1KdvU7ixYhoab6tgkMV9+f8o9fJnT6qZGaDT2o1Tx6vChqjHwnRmci9Pw\n\tUO1XN6IDZymq38y51Xp+ehYPoX+DBzQ8ID8OKm+rOoSOsYsDoil3sZH0+nVufWnEQ+\n\tHYpxqstp5HEop2fH06234ChPMk6MRd7OTRLeSG3c="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"a2p52Zq/\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20220421151117.703956-2-naush@raspberrypi.com>","References":"<20220421151117.703956-1-naush@raspberrypi.com>\n\t<20220421151117.703956-2-naush@raspberrypi.com>","To":"Naushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Tue, 03 May 2022 13:53:38 +0100","Message-ID":"<165158241840.4076486.5374471269140942938@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","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>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23103,"web_url":"https://patchwork.libcamera.org/comment/23103/","msgid":"<20220520084341.37okkmaqfdgm4rt7@uno.localdomain>","date":"2022-05-20T08:43:41","subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi,\n\nOn Thu, Apr 21, 2022 at 04:11:16PM +0100, Naushir Patuck via libcamera-devel wrote:\n> The SensorSensitivity property is a scaling factor that describes how sensitive\n> the selected sensor mode is compared to other readout modes of the same sensor.\n> For example, a binned mode might have twice the sensitivity of the full\n> resolution mode, meaning you would get double the signal level for the same\n> exposure and gains.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  src/libcamera/property_ids.yaml | 12 ++++++++++++\n>  1 file changed, 12 insertions(+)\n>\n> diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> index 12ecbce5eed4..11b7ebdc3105 100644\n> --- a/src/libcamera/property_ids.yaml\n> +++ b/src/libcamera/property_ids.yaml\n> @@ -678,6 +678,18 @@ controls:\n>          \\todo Turn this property into a \"maximum control value\" for the\n>          ScalerCrop control once \"dynamic\" controls have been implemented.\n>\n> +  - SensorSensitivity:\n> +      type: float\n> +      description: |\n> +        The relative sensitivity of the chosen sensor mode.\n> +\n> +        Some sensors have readout modes with different sensitivities. For example,\n> +        a binned camera mode might, with the same exposure and gains, produce\n> +        twice the signal level of the full resolution readout. This would be\n> +        signalled by the binned mode, when it is chosen, indicating a value here\n> +        that is twice that of the full resolution mode. This value will be valid\n> +        after the configure method has returned successfully.\n\nSorry, I should have payed much more attention during the review.\n\nThe sensitivity depends on the mode applied to the sensor, and as the\ndescription suggests changes at Camera::configure() time.\n\nLibcamera properties are immutable and they should not depend on the\ncurrent configuration but they should stay constant during the whole\nlieftime of the Camera.\n\nThis should rather be a Control, even if I understand it cannot be\nchanged by the user. Do we maybe need to reconsider Properties'\nimmutability (Laurent in cc for opinions)\n\nThanks\n   j\n\n> +\n>    # ----------------------------------------------------------------------------\n>    # Draft properties section\n>\n> --\n> 2.25.1\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 0C289C3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 May 2022 08:43:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1620965663;\n\tFri, 20 May 2022 10:43:48 +0200 (CEST)","from relay12.mail.gandi.net (relay12.mail.gandi.net\n\t[217.70.178.232])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CAA4865653\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 May 2022 10:43:45 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id D3680200007;\n\tFri, 20 May 2022 08:43:44 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1653036228;\n\tbh=vQuhtNPj4SNQ7fitdzhtOy40m5s3Ha8XBF1BJCtk3HU=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=FxNGCVu+uqM+nP6VGNoD3oggnFx1LJLP3jEAvP+kFobSC3KmFEQWpCsHs8xZUS0b7\n\t/SbCCvvSeiMexs+6LYvO1FQMeZcfZ0NkrXNn7OhVFvN1mDh13QHlOgTjD0UvViSALX\n\tiSXUDWCE8kGYuf/xTso2lzwbAGnSrlaILc6MMC4LkmraiVAY+sHR2k6A7G/9uXPgHL\n\tjgfPJ687Bt95wVSLVkeW0ZYg3u60IVPjBknGiw+WPWHRcg2q4TnUCXtgqs3PkB1vGm\n\tPi91zMa5GsE3nrRWxzeXZ6MdJu2KhavHdUH96LazdBJr8LGgJQ9Sz8vP8HQWBRqqTp\n\txPH3QdC8FoQSA==","Date":"Fri, 20 May 2022 10:43:41 +0200","To":"Naushir Patuck <naush@raspberrypi.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20220520084341.37okkmaqfdgm4rt7@uno.localdomain>","References":"<20220421151117.703956-1-naush@raspberrypi.com>\n\t<20220421151117.703956-2-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220421151117.703956-2-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23104,"web_url":"https://patchwork.libcamera.org/comment/23104/","msgid":"<CAEmqJPrDjPKW+yE=hKeprCouArzkKitjA=Cc4zs+GbLzT7ZH0g@mail.gmail.com>","date":"2022-05-20T08:52:18","subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Jacopo.\n\nOn Fri, 20 May 2022 at 09:43, Jacopo Mondi <jacopo@jmondi.org> wrote:\n\n> Hi,\n>\n> On Thu, Apr 21, 2022 at 04:11:16PM +0100, Naushir Patuck via\n> libcamera-devel wrote:\n> > The SensorSensitivity property is a scaling factor that describes how\n> sensitive\n> > the selected sensor mode is compared to other readout modes of the same\n> sensor.\n> > For example, a binned mode might have twice the sensitivity of the full\n> > resolution mode, meaning you would get double the signal level for the\n> same\n> > exposure and gains.\n> >\n> > Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> > ---\n> >  src/libcamera/property_ids.yaml | 12 ++++++++++++\n> >  1 file changed, 12 insertions(+)\n> >\n> > diff --git a/src/libcamera/property_ids.yaml\n> b/src/libcamera/property_ids.yaml\n> > index 12ecbce5eed4..11b7ebdc3105 100644\n> > --- a/src/libcamera/property_ids.yaml\n> > +++ b/src/libcamera/property_ids.yaml\n> > @@ -678,6 +678,18 @@ controls:\n> >          \\todo Turn this property into a \"maximum control value\" for the\n> >          ScalerCrop control once \"dynamic\" controls have been\n> implemented.\n> >\n> > +  - SensorSensitivity:\n> > +      type: float\n> > +      description: |\n> > +        The relative sensitivity of the chosen sensor mode.\n> > +\n> > +        Some sensors have readout modes with different sensitivities.\n> For example,\n> > +        a binned camera mode might, with the same exposure and gains,\n> produce\n> > +        twice the signal level of the full resolution readout. This\n> would be\n> > +        signalled by the binned mode, when it is chosen, indicating a\n> value here\n> > +        that is twice that of the full resolution mode. This value will\n> be valid\n> > +        after the configure method has returned successfully.\n>\n> Sorry, I should have payed much more attention during the review.\n>\n> The sensitivity depends on the mode applied to the sensor, and as the\n> description suggests changes at Camera::configure() time.\n>\n> Libcamera properties are immutable and they should not depend on the\n> current configuration but they should stay constant during the whole\n> lieftime of the Camera.\n>\n> This should rather be a Control, even if I understand it cannot be\n> changed by the user. Do we maybe need to reconsider Properties'\n> immutability (Laurent in cc for opinions)\n>\n\nScalerCropMaximum is an existing mutable property as well.  Like\nSensorSensitivity, it is mutable in the sense it is mode specific, but\ndoes not change after a Configure() call.\n\nRegards,\nNaush\n\n\n\n>\n> Thanks\n>    j\n>\n> > +\n> >    #\n> ----------------------------------------------------------------------------\n> >    # Draft properties section\n> >\n> > --\n> > 2.25.1\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 881ADC0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 May 2022 08:52:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BDFEE65663;\n\tFri, 20 May 2022 10:52:36 +0200 (CEST)","from mail-lj1-x230.google.com (mail-lj1-x230.google.com\n\t[IPv6:2a00:1450:4864:20::230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 196A065653\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 May 2022 10:52:35 +0200 (CEST)","by mail-lj1-x230.google.com with SMTP id r3so2054465ljd.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 May 2022 01:52:35 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1653036756;\n\tbh=dq+V+TeG1ZLNjvQNlbC8BOYsWzqxsVie5A2oHDV85YE=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=lGAZwdqByQupjfTsRj8c56cDyMEYVUftX8nqRvnMIT5a1yD10SPy7OfPTYw0j9Tas\n\tR4G9ccQ8tSB/qgWpp2icLAqA+ObnbD4xCkuA3ibvoDlOQEO7CnDwrv1G/ROuQqHQjy\n\tKr2EmaOBfzXSEbG4jVxuLyJdinF4YONuuVnlDZmrcvY+Exju5X8iWBf+99z4072ZzD\n\ttrbVEzrNKRp3z9gaeUBUSoajhQzXAI4XdPGR7n+hD98zbGMxAGd7akzdLkUpzhqX1B\n\tNq7i6l91fuiR6W6FzojY/eDEIsbLMekadad2Ctc0pAkSN7c4qe7P4gyUSC48ZWmmtH\n\tjXA9a4Ckmay5A==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=Wkh0ArIsjzjV5r+I8HWNDsWlmed05a9MXhDodOVHjWw=;\n\tb=VTiXlXxwnRu5RTZ5XFKsIqPXb761sYSiGIDQ2Paot/+G3CqN4xJG/9FBhts+a/Px18\n\t63RvAJk9eUSlYIVZ1bET0pF/71Sq43tRbwDy/FXQKpF5uoRmkBHnKcDR50PCp6WJGDD5\n\tSaAolTy/LKYKX57Qe8ttMeNkBnqJ4K3t94OBbLoWD6I2K/a2L0qvBV0NRFj9GwuS3zme\n\toHM/IEhSQwNOcIO90cIgttLu0IRKUwLnp5VpmZKPvepFJxRpJgYbV0qRd8gMi+ak/NxP\n\tJA0znGe2pAUOh/9SBejM3BKLAnQNZIvWJ5fqdx5DVrAaYDRYXr6diYOdRal5SmzBO7L7\n\t4HUw=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"VTiXlXxw\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=Wkh0ArIsjzjV5r+I8HWNDsWlmed05a9MXhDodOVHjWw=;\n\tb=x5gUX2PspxnBuX7SeplbaoBthHDdILZy8WCQ7USy2Z+e/sNDXsad1Qm/QTPwzxCBd5\n\t8cld1t8ibaQu1B4irfQoVyOjUhlnf6gKT+mK+Vn9YGVS7Tf9wGD7Sozp30Iwt4Oj8w89\n\tC0F3BjbHI9Vl/G3PRG9M8AQQBLSwk3t7mheblGwwElsdU7eGOTBkpYNOO+BZRNoQiZu+\n\tXxxnL+sDOHzJrPpGcF61aZwmiFxCNyXm8TltFf+nnzV2KEE4L9GmhqL4h/IsfKCh5L9E\n\t73iLrbG2/CMi1SzQ/rm+lb7LgUDbpQ5Vv0tzL+anCibpHX/WJz/rDgZkwGp2OeySpA6I\n\teRBQ==","X-Gm-Message-State":"AOAM532Kr8vEreG25CnuF2GuPT0S3Wv5jqT0cgE7r0IERKNWMGqDtp2v\n\tEj7Xk1oXTPZmiSYkj8N5yTmFpo+8DrweRBiIs7IYnRHEWOO+Vg==","X-Google-Smtp-Source":"ABdhPJwZjEW45pZNuTjTMh0pPUk+qA4D6LpRNY1oMSbyfuLKIuHeJI+jYAdb+YdekadpS8PDlDBUFC3n/D8+g1Jogqo=","X-Received":"by 2002:a2e:2e0f:0:b0:253:cc64:f47c with SMTP id\n\tu15-20020a2e2e0f000000b00253cc64f47cmr5074529lju.426.1653036754319;\n\tFri, 20 May 2022 01:52:34 -0700 (PDT)","MIME-Version":"1.0","References":"<20220421151117.703956-1-naush@raspberrypi.com>\n\t<20220421151117.703956-2-naush@raspberrypi.com>\n\t<20220520084341.37okkmaqfdgm4rt7@uno.localdomain>","In-Reply-To":"<20220520084341.37okkmaqfdgm4rt7@uno.localdomain>","Date":"Fri, 20 May 2022 09:52:18 +0100","Message-ID":"<CAEmqJPrDjPKW+yE=hKeprCouArzkKitjA=Cc4zs+GbLzT7ZH0g@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Content-Type":"multipart/alternative; boundary=\"0000000000008acf7305df6d9c25\"","Subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23105,"web_url":"https://patchwork.libcamera.org/comment/23105/","msgid":"<20220520090152.i3esgdp65dkedhht@uno.localdomain>","date":"2022-05-20T09:01:52","subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Naush,\n\nOn Fri, May 20, 2022 at 09:52:18AM +0100, Naushir Patuck wrote:\n> Hi Jacopo.\n>\n> On Fri, 20 May 2022 at 09:43, Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> > Hi,\n> >\n> > On Thu, Apr 21, 2022 at 04:11:16PM +0100, Naushir Patuck via\n> > libcamera-devel wrote:\n> > > The SensorSensitivity property is a scaling factor that describes how\n> > sensitive\n> > > the selected sensor mode is compared to other readout modes of the same\n> > sensor.\n> > > For example, a binned mode might have twice the sensitivity of the full\n> > > resolution mode, meaning you would get double the signal level for the\n> > same\n> > > exposure and gains.\n> > >\n> > > Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n> > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> > > ---\n> > >  src/libcamera/property_ids.yaml | 12 ++++++++++++\n> > >  1 file changed, 12 insertions(+)\n> > >\n> > > diff --git a/src/libcamera/property_ids.yaml\n> > b/src/libcamera/property_ids.yaml\n> > > index 12ecbce5eed4..11b7ebdc3105 100644\n> > > --- a/src/libcamera/property_ids.yaml\n> > > +++ b/src/libcamera/property_ids.yaml\n> > > @@ -678,6 +678,18 @@ controls:\n> > >          \\todo Turn this property into a \"maximum control value\" for the\n> > >          ScalerCrop control once \"dynamic\" controls have been\n> > implemented.\n> > >\n> > > +  - SensorSensitivity:\n> > > +      type: float\n> > > +      description: |\n> > > +        The relative sensitivity of the chosen sensor mode.\n> > > +\n> > > +        Some sensors have readout modes with different sensitivities.\n> > For example,\n> > > +        a binned camera mode might, with the same exposure and gains,\n> > produce\n> > > +        twice the signal level of the full resolution readout. This\n> > would be\n> > > +        signalled by the binned mode, when it is chosen, indicating a\n> > value here\n> > > +        that is twice that of the full resolution mode. This value will\n> > be valid\n> > > +        after the configure method has returned successfully.\n> >\n> > Sorry, I should have payed much more attention during the review.\n> >\n> > The sensitivity depends on the mode applied to the sensor, and as the\n> > description suggests changes at Camera::configure() time.\n> >\n> > Libcamera properties are immutable and they should not depend on the\n> > current configuration but they should stay constant during the whole\n> > lieftime of the Camera.\n> >\n> > This should rather be a Control, even if I understand it cannot be\n> > changed by the user. Do we maybe need to reconsider Properties'\n> > immutability (Laurent in cc for opinions)\n> >\n>\n> ScalerCropMaximum is an existing mutable property as well.  Like\n> SensorSensitivity, it is mutable in the sense it is mode specific, but\n> does not change after a Configure() call.\n\nYou are right, I always assume that being it expressed in the native's\nsensor array full pixel array coordinates it was kind of constant\nbeing skpping/binning not relevant. But some modes might be realized\nby cropping the full pixel array indeed.\n\n>\n> Regards,\n> Naush\n>\n>\n>\n> >\n> > Thanks\n> >    j\n> >\n> > > +\n> > >    #\n> > ----------------------------------------------------------------------------\n> > >    # Draft properties section\n> > >\n> > > --\n> > > 2.25.1\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 1F2D5C3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 May 2022 09:01:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5B80A65663;\n\tFri, 20 May 2022 11:01:58 +0200 (CEST)","from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::223])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 85C1265653\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 May 2022 11:01:56 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 7459460008;\n\tFri, 20 May 2022 09:01:55 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1653037318;\n\tbh=hXoRKOa7Qg95kIWCL5m2Vz4XycNbg8EnqIoqTtIDki8=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=o4yX5SN4tJksCVFmE7XTruiwvILwj8Jwcd8mkvj47ICgrJibT6gLMTuMivpCJAGE/\n\tHOpsyULF6Kx/xhGk+Q+VEA1y42wzkDyM0Cb0uvTwvW81SL4ybmcnrc+wABZs84uuGH\n\tuYoQsMNQcMYSYTNPbiQoSLxrePbughOnnbMWUbwTFOXfapLuMwwKJLFMw+pVCEbO0y\n\tOxhRWMdjp52gtySmAc4MZpPhjikFB5/r9TEpvgi3li53pSlPkpltXeMS4mDiqs9U1g\n\tQ2EVElHxQXso38+S0u/7pqW1GrKcVOsV5Lqy1+4mRtZ4BBanPyoSX2d8zCaieqb6XM\n\tDqBYSZJ1WASRQ==","Date":"Fri, 20 May 2022 11:01:52 +0200","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<20220520090152.i3esgdp65dkedhht@uno.localdomain>","References":"<20220421151117.703956-1-naush@raspberrypi.com>\n\t<20220421151117.703956-2-naush@raspberrypi.com>\n\t<20220520084341.37okkmaqfdgm4rt7@uno.localdomain>\n\t<CAEmqJPrDjPKW+yE=hKeprCouArzkKitjA=Cc4zs+GbLzT7ZH0g@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAEmqJPrDjPKW+yE=hKeprCouArzkKitjA=Cc4zs+GbLzT7ZH0g@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH v3 1/2] libcamera: Add a\n\tSensorSensitivity property","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]