[PATCH v2 1/4] libcamera: libipa: camera_sensor: Provide CameraSensorHelper and CameraSensorProperties for the Sony IMX462 image sensor.
Geoffrey Van Landeghem
geoffrey.vl at gmail.com
Tue Nov 19 22:50:53 CET 2024
Hi Jacopo,
sorry for screwing up the git commit message. I took over the
suggestion entirely from the V1 patch, which also got me a bit
confused. The entire git format-patch and git email is still a bit
awkward and needs some more getting used to it from my side. At work
we rely on other systems for centralizing source control, but I learn
something new and I also appreciate your feedback (and patience!).
Regarding the pixel size, it's indeed 2.9u pixel. I guess the most
trustworthy resource is this one from Sony:
https://www.sony-semicon.com/files/62/flyer_security/IMX462LQR_LQR1_Flyer.pdf
(look for "unit cell size")
And regarding the black level offset setting (register 300Ah). I
checked the IMX290 and IMX327 datasheets and they match in that they
both have F0h as default value.
For IMX462 I couldn't find any datasheet, but since I own the sensor I
queried it using i2c-tools, and it seems it's also defaulting to F0h:
$ i2ctransfer -f -y 10 w2 at 0x1a 0x30 0x0A r1
0xf0
Kinds regards,
Geoffrey
Op di 19 nov 2024 om 13:56 schreef Jacopo Mondi <jacopo.mondi at ideasonboard.com>:
>
> Hi Geoffrey
>
> On Mon, Nov 18, 2024 at 11:53:07PM +0100, Geoffrey Van Landeghem wrote:
> > The sensor is largely compatible with the already supported Sony IMX290 so we can reuse the same helpers for the analogue gain conversion functions.
>
> I presume my suggestion to read https://cbea.ms/git-commit/ first
> wasn't helpful.
>
> Subject line should be shortened (I would not force it to 50 cols
> as the website suggests, but strive for staying in at least 72), and
> no full stop at the end.
>
> Same thing for the commit message.
>
> We can adjust it when applying the patch if you don't have to resend
> for other reasons.
>
> >
> > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl at gmail.com>
> > ---
> > src/ipa/libipa/camera_sensor_helper.cpp | 5 +++++
> > src/ipa/rpi/cam_helper/cam_helper_imx290.cpp | 1 +
> > src/libcamera/sensor/camera_sensor_properties.cpp | 4 ++++
> > 3 files changed, 10 insertions(+)
> >
> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
> > index c6169bdc..f870dc28 100644
> > --- a/src/ipa/libipa/camera_sensor_helper.cpp
> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp
> > @@ -622,6 +622,11 @@ public:
> > };
> > REGISTER_CAMERA_SENSOR_HELPER("imx415", CameraSensorHelperImx415)
> >
> > +class CameraSensorHelperImx462 : public CameraSensorHelperImx290
> > +{
> > +};
> > +REGISTER_CAMERA_SENSOR_HELPER("imx462", CameraSensorHelperImx462)
>
> One thing we're missing for imx290 is the black level pedestal. The
> imx290 datasheet reports a (programmable) black level of
> 10 bits: 0x3c
> 12 bits: 0xf0
>
> Could you confirm the imx462 reports the same default values ?
>
> > +
> > class CameraSensorHelperImx477 : public CameraSensorHelper
> > {
> > public:
> > diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
> > index e57ab538..0cc24a6d 100644
> > --- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
> > +++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
> > @@ -73,3 +73,4 @@ static CamHelper *create()
> > }
> >
> > static RegisterCamHelper reg("imx290", &create);
> > +static RegisterCamHelper reg462("imx462", &create);
> > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp
> > index 6d4136d0..e2305166 100644
> > --- a/src/libcamera/sensor/camera_sensor_properties.cpp
> > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp
> > @@ -142,6 +142,10 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen
> > .unitCellSize = { 1450, 1450 },
> > .testPatternModes = {},
> > } },
> > + { "imx462", {
> > + .unitCellSize = { 2900, 2900 },
> > + .testPatternModes = {},
> > + } },
>
> I don't have a datasheet but a few online sources confirm a 2.9u pixel
> size.
>
> The patch looks good
> Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
>
> Thanks
> j
>
> > { "imx477", {
> > .unitCellSize = { 1550, 1550 },
> > .testPatternModes = {},
> > --
> > 2.43.0
> >
More information about the libcamera-devel
mailing list