[libcamera-devel] [PATCH v3 1/2] libcamera: Add a SensorSensitivity property

Jacopo Mondi jacopo at jmondi.org
Fri May 20 11:01:52 CEST 2022


Hi Naush,

On Fri, May 20, 2022 at 09:52:18AM +0100, Naushir Patuck wrote:
> Hi Jacopo.
>
> On Fri, 20 May 2022 at 09:43, Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> > Hi,
> >
> > On Thu, Apr 21, 2022 at 04:11:16PM +0100, Naushir Patuck via
> > libcamera-devel wrote:
> > > The SensorSensitivity property is a scaling factor that describes how
> > sensitive
> > > the selected sensor mode is compared to other readout modes of the same
> > sensor.
> > > For example, a binned mode might have twice the sensitivity of the full
> > > resolution mode, meaning you would get double the signal level for the
> > same
> > > exposure and gains.
> > >
> > > Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> > > Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> > > ---
> > >  src/libcamera/property_ids.yaml | 12 ++++++++++++
> > >  1 file changed, 12 insertions(+)
> > >
> > > diff --git a/src/libcamera/property_ids.yaml
> > b/src/libcamera/property_ids.yaml
> > > index 12ecbce5eed4..11b7ebdc3105 100644
> > > --- a/src/libcamera/property_ids.yaml
> > > +++ b/src/libcamera/property_ids.yaml
> > > @@ -678,6 +678,18 @@ controls:
> > >          \todo Turn this property into a "maximum control value" for the
> > >          ScalerCrop control once "dynamic" controls have been
> > implemented.
> > >
> > > +  - SensorSensitivity:
> > > +      type: float
> > > +      description: |
> > > +        The relative sensitivity of the chosen sensor mode.
> > > +
> > > +        Some sensors have readout modes with different sensitivities.
> > For example,
> > > +        a binned camera mode might, with the same exposure and gains,
> > produce
> > > +        twice the signal level of the full resolution readout. This
> > would be
> > > +        signalled by the binned mode, when it is chosen, indicating a
> > value here
> > > +        that is twice that of the full resolution mode. This value will
> > be valid
> > > +        after the configure method has returned successfully.
> >
> > Sorry, I should have payed much more attention during the review.
> >
> > The sensitivity depends on the mode applied to the sensor, and as the
> > description suggests changes at Camera::configure() time.
> >
> > Libcamera properties are immutable and they should not depend on the
> > current configuration but they should stay constant during the whole
> > lieftime of the Camera.
> >
> > This should rather be a Control, even if I understand it cannot be
> > changed by the user. Do we maybe need to reconsider Properties'
> > immutability (Laurent in cc for opinions)
> >
>
> ScalerCropMaximum is an existing mutable property as well.  Like
> SensorSensitivity, it is mutable in the sense it is mode specific, but
> does not change after a Configure() call.

You are right, I always assume that being it expressed in the native's
sensor array full pixel array coordinates it was kind of constant
being skpping/binning not relevant. But some modes might be realized
by cropping the full pixel array indeed.

>
> Regards,
> Naush
>
>
>
> >
> > Thanks
> >    j
> >
> > > +
> > >    #
> > ----------------------------------------------------------------------------
> > >    # Draft properties section
> > >
> > > --
> > > 2.25.1
> > >
> >


More information about the libcamera-devel mailing list