[PATCH v2 1/2] libcamera: libipa: camera_sensor: Add Sony IMX283 sensor properties

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu May 2 17:41:39 CEST 2024


On Thu, May 02, 2024 at 05:24:06PM +0200, Jacopo Mondi wrote:
> On Fri, Apr 26, 2024 at 06:55:15PM +0530, Umang Jain wrote:
> > From: Kieran Bingham <kieran.bingham at ideasonboard.com>
> >
> > Provide the IMX283 camera sensor properties and registration
> > with libipa for the gain code helpers.
> >
> > The test patterns exposed by the IMX283 do not map well to the current
> > set of test pattern controls supplied by libcamera. These are left
> > inentionally unimplemented.
> 
> intentionally
> 
> >
> > Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
> > ---
> >  src/ipa/libipa/camera_sensor_helper.cpp           | 11 +++++++++++
> >  src/libcamera/sensor/camera_sensor_properties.cpp |  4 ++++
> >  2 files changed, 15 insertions(+)
> >
> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
> > index ce29f423..f70d898f 100644
> > --- a/src/ipa/libipa/camera_sensor_helper.cpp
> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp
> > @@ -417,6 +417,17 @@ public:
> >  };
> >  REGISTER_CAMERA_SENSOR_HELPER("imx258", CameraSensorHelperImx258)
> >
> > +class CameraSensorHelperImx283 : public CameraSensorHelper
> > +{
> > +public:
> > +	CameraSensorHelperImx283()
> > +	{
> > +		gainType_ = AnalogueGainLinear;
> > +		gainConstants_.linear = { 0, 2048, -1, 2048 };
> 
> I see the gain-code to value in the datasheet expressed in dB
> associated with a graph that suggest and exponential model.
> 
> Are we sure we should here use the linear one ?

The formula in the datasheet indicates that the gain in dB is equal to

-20 * log((2048 - gain) / 2048)

so the above is correct.

> > +	}
> > +};
> > +REGISTER_CAMERA_SENSOR_HELPER("imx283", CameraSensorHelperImx283)
> > +
> >  class CameraSensorHelperImx290 : public CameraSensorHelper
> >  {
> >  public:
> > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp
> > index 6e28b09e..4eabbbda 100644
> > --- a/src/libcamera/sensor/camera_sensor_properties.cpp
> > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp
> > @@ -99,6 +99,10 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen
> >  				{ controls::draft::TestPatternModePn9, 4 },
> >  			},
> >  		} },
> > +		{ "imx283", {
> > +			.unitCellSize = { 2400, 2400 },
> > +			.testPatternModes = {},
> > +		} },
> >  		{ "imx290", {
> >  			.unitCellSize = { 2900, 2900 },
> >  			.testPatternModes = {},

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list