[{"id":26499,"web_url":"https://patchwork.libcamera.org/comment/26499/","msgid":"<20230228153322.yg7ryiekin5siquj@uno.localdomain>","date":"2023-02-28T15:33:22","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Kieran\n\nOn Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n> Provide a CameraSensorHelper for the OV5695, along with the\n> corresponding camera sensor properties.\n>\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n>  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n>  src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n>  2 files changed, 19 insertions(+)\n>\n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index d1051cc25656..a38fefc75372 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -527,6 +527,17 @@ public:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n>\n> +class CameraSensorHelperOv5695 : public CameraSensorHelper\n> +{\n> +public:\n> +\tCameraSensorHelperOv5695()\n> +\t{\n> +\t\tgainType_ = AnalogueGainLinear;\n> +\t\tgainConstants_.linear = { 1, 0, 0, 128 };\n> +\t}\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n> +\n\nI don't have a datasheet, but again, seeing this in action it seems\nreasonable\n\n>  class CameraSensorHelperOv8858 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> index 7652c5f3e24c..a92c13b87b7f 100644\n> --- a/src/libcamera/camera_sensor_properties.cpp\n> +++ b/src/libcamera/camera_sensor_properties.cpp\n> @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>  \t\t\t\t */\n>  \t\t\t},\n>  \t\t} },\n> +\t\t{ \"ov5695\", {\n> +\t\t\t.unitCellSize = { 1400, 1400 },\n\nCan't validate this without a datasheet..\n\n> +\t\t\t.testPatternModes = {\n> +\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBars, 2 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n> +\t\t\t},\n\nThe driver reports\n\nstatic const char * const ov5695_test_pattern_menu[] = {\n\t\"Disabled\",\n\t\"Vertical Color Bar Type 1\",\n\t\"Vertical Color Bar Type 2\",\n\t\"Vertical Color Bar Type 3\",\n\t\"Vertical Color Bar Type 4\"\n};\n\nHave you inspected the produced test pattern ?\nIf so\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nThanks\n  j\n\n> +\t\t} },\n>  \t\t{ \"ov8858\", {\n>  \t\t\t.unitCellSize = { 1120, 1120 },\n>  \t\t\t.testPatternModes = {\n> --\n> 2.34.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 A7B69BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 28 Feb 2023 15:33:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1B9086261A;\n\tTue, 28 Feb 2023 16:33:28 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EA80F6261A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 28 Feb 2023 16:33:25 +0100 (CET)","from ideasonboard.com (host-87-18-61-24.retail.telecomitalia.it\n\t[87.18.61.24])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4E1CA56A;\n\tTue, 28 Feb 2023 16:33:25 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677598408;\n\tbh=UhTUGYss2Et6FO3a4bpSzBPpAu0jgHIGLF6KISVV5PE=;\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=rImBPcmlrAXH6wVqzzsCAQKveYWI1JBj4Gp1SkOOc721VCsRPHs/WEvMUh4dcIL0Y\n\tU4qRv4R5pnA+NnjzruA+go2Dp6udhlDKUBBEB3gb858DalmGiaBG3Z0FcRCYdCyB/y\n\tV2ZYo0VvPKIJxXde7P6kQqssPL+kdobgURNALbrHKim3aS2Ood5i283pdaLqGXAAnG\n\teOlsr8X7wBsJMTPxDQvNePW+XgfZth8zyLNGRtNPb5+rKP2CHT4dvkp3s92fOxE2Ox\n\tp8XTaARoKNYULVZWm95aT0EqBQim/AkFbaP+9/yZGL5TpltqxUZIO5rtwVktPVsfsS\n\tc+3KXx0P8l69Q==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677598405;\n\tbh=UhTUGYss2Et6FO3a4bpSzBPpAu0jgHIGLF6KISVV5PE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=tZIWM82El7r8i57WvmbWS1LTvE4sqmX04B4BtNWoD/PQIVrI7cAsifJKaYkr67Zp/\n\tp/CgrAJvOn5AZGX+Ofoysc7sK4NG3eVF/U0Y8OJwEYrY66LKB4dX4eroPbAnMSteGD\n\tdvPVqXUROTgWwpsYfL6eRwQkL78+3ofjVAbsVTIg="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"tZIWM82E\"; dkim-atps=neutral","Date":"Tue, 28 Feb 2023 16:33:22 +0100","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20230228153322.yg7ryiekin5siquj@uno.localdomain>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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.mondi@ideasonboard.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":26512,"web_url":"https://patchwork.libcamera.org/comment/26512/","msgid":"<167768252576.93391.4226602419142968602@Monstersaurus>","date":"2023-03-01T14:55:25","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jacopo Mondi (2023-02-28 15:33:22)\n> Hi Kieran\n> \n> On Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n> > Provide a CameraSensorHelper for the OV5695, along with the\n> > corresponding camera sensor properties.\n> >\n> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > ---\n> >  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n> >  src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n> >  2 files changed, 19 insertions(+)\n> >\n> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > index d1051cc25656..a38fefc75372 100644\n> > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > @@ -527,6 +527,17 @@ public:\n> >  };\n> >  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n> >\n> > +class CameraSensorHelperOv5695 : public CameraSensorHelper\n> > +{\n> > +public:\n> > +     CameraSensorHelperOv5695()\n> > +     {\n> > +             gainType_ = AnalogueGainLinear;\n> > +             gainConstants_.linear = { 1, 0, 0, 128 };\n> > +     }\n> > +};\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n> > +\n> \n> I don't have a datasheet, but again, seeing this in action it seems\n> reasonable\n> \n> >  class CameraSensorHelperOv8858 : public CameraSensorHelper\n> >  {\n> >  public:\n> > diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> > index 7652c5f3e24c..a92c13b87b7f 100644\n> > --- a/src/libcamera/camera_sensor_properties.cpp\n> > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> >                                */\n> >                       },\n> >               } },\n> > +             { \"ov5695\", {\n> > +                     .unitCellSize = { 1400, 1400 },\n> \n> Can't validate this without a datasheet..\n\nIt's listed in the publicly available product brief:\n\n pixel size: 1.4 μm x 1.4 μm\n\n\n\n> \n> > +                     .testPatternModes = {\n> > +                             { controls::draft::TestPatternModeOff, 0 },\n> > +                             { controls::draft::TestPatternModeColorBars, 2 },\n> > +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n> > +                     },\n> \n> The driver reports\n> \n> static const char * const ov5695_test_pattern_menu[] = {\n>         \"Disabled\",\n>         \"Vertical Color Bar Type 1\",\n>         \"Vertical Color Bar Type 2\",\n>         \"Vertical Color Bar Type 3\",\n>         \"Vertical Color Bar Type 4\"\n> };\n> \n> Have you inspected the produced test pattern ?\n> If so\n\nYes, that was my best identifications from enabling the test patterns.\nAnnoyingly - the AGC/AWB quite quickly destroys the TPG patterns so you\nhave to be quick to see what's output. But that's a separate (and I\nthink known) issue...\n\n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n\nThanks\n\n\n> \n> Thanks\n>   j\n> \n> > +             } },\n> >               { \"ov8858\", {\n> >                       .unitCellSize = { 1120, 1120 },\n> >                       .testPatternModes = {\n> > --\n> > 2.34.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 AF834BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Mar 2023 14:55:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BBD9B62666;\n\tWed,  1 Mar 2023 15:55:30 +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 6439C62665\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Mar 2023 15:55:28 +0100 (CET)","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 CE390890;\n\tWed,  1 Mar 2023 15:55:27 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677682530;\n\tbh=lZx7TdxEkavOQP5y9m9kXGQcFwcyPNVk/HpWVFiMSK0=;\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:Cc:\n\tFrom;\n\tb=Aq9xkDf14P5Nn4HSY/tM+Pf+Txaq+/jTP6I+tdms6+vLJeQXcC7L7i11ysRRCIl/J\n\t36iGev6N7S+qYBOsk8EczsSeUlkB0buveMQ1fJHZr5jcksYKGJz0zqS5gW1G4uxL47\n\tA1yGpr289TGhw8wOoT2ZjEz6S7Ef17Uwavlc9X19gtia0tOmEDon0Y3ll/npel5lnR\n\thqVCEq/eVp82/rhzIyN/7JN4ZFTOdxPyNNUgtDrgKXp+V8cfpLFg8b8HQo1Krn4tvZ\n\t/favs6SAzcrN90y6CfSPN9AbYyIktIjZJLAqifaGufvrbvKwhRkai5yyDLT9SZ+Ca2\n\tmfEZpSBOIJ7ww==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677682527;\n\tbh=lZx7TdxEkavOQP5y9m9kXGQcFwcyPNVk/HpWVFiMSK0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=XjCTTB1spSmwF5v6E0bHL3k8fPAGK3yHXTvaXCve4YHci5HHAzB0oJlSWG4e1PUIh\n\tYsatuTH9kQJO2E6ZEylLjgucOGfte1yDXkbADpd0fu4TWFyaUgmGKtW6C1wYJMJN4I\n\tEY9hZ4Gj7HK7PWxVxXgj76d6KZFFeJmC29G6B+3E="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"XjCTTB1s\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20230228153322.yg7ryiekin5siquj@uno.localdomain>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>\n\t<20230228153322.yg7ryiekin5siquj@uno.localdomain>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Date":"Wed, 01 Mar 2023 14:55:25 +0000","Message-ID":"<167768252576.93391.4226602419142968602@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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>","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":26514,"web_url":"https://patchwork.libcamera.org/comment/26514/","msgid":"<167768299302.93391.5502293564831817851@Monstersaurus>","date":"2023-03-01T15:03:13","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Kieran Bingham (2023-03-01 14:55:25)\n> Quoting Jacopo Mondi (2023-02-28 15:33:22)\n> > Hi Kieran\n> > \n> > On Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n> > > Provide a CameraSensorHelper for the OV5695, along with the\n> > > corresponding camera sensor properties.\n> > >\n> > > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > > ---\n> > >  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n> > >  src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n> > >  2 files changed, 19 insertions(+)\n> > >\n> > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > index d1051cc25656..a38fefc75372 100644\n> > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > @@ -527,6 +527,17 @@ public:\n> > >  };\n> > >  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n> > >\n> > > +class CameraSensorHelperOv5695 : public CameraSensorHelper\n> > > +{\n> > > +public:\n> > > +     CameraSensorHelperOv5695()\n> > > +     {\n> > > +             gainType_ = AnalogueGainLinear;\n> > > +             gainConstants_.linear = { 1, 0, 0, 128 };\n> > > +     }\n> > > +};\n> > > +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n> > > +\n> > \n> > I don't have a datasheet, but again, seeing this in action it seems\n> > reasonable\n\nMe neither. But I wonder if that will be most sensors we have to add\nhere. I could also add:\n\n+               /* This has been validated with some empirical testing only. */\n\nBut that might be applicable to 'most' of the CameraSensorHelpers?\nDo we need to have a way to mark which ones would benefit from extra\nvalidation? (Maybe a comment is enough ?)\n\n\n\n> > \n> > >  class CameraSensorHelperOv8858 : public CameraSensorHelper\n> > >  {\n> > >  public:\n> > > diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> > > index 7652c5f3e24c..a92c13b87b7f 100644\n> > > --- a/src/libcamera/camera_sensor_properties.cpp\n> > > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > > @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> > >                                */\n> > >                       },\n> > >               } },\n> > > +             { \"ov5695\", {\n> > > +                     .unitCellSize = { 1400, 1400 },\n> > \n> > Can't validate this without a datasheet..\n> \n> It's listed in the publicly available product brief:\n> \n>  pixel size: 1.4 μm x 1.4 μm\n> \n> \n> \n> > \n> > > +                     .testPatternModes = {\n> > > +                             { controls::draft::TestPatternModeOff, 0 },\n> > > +                             { controls::draft::TestPatternModeColorBars, 2 },\n> > > +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n> > > +                     },\n> > \n> > The driver reports\n> > \n> > static const char * const ov5695_test_pattern_menu[] = {\n> >         \"Disabled\",\n> >         \"Vertical Color Bar Type 1\",\n> >         \"Vertical Color Bar Type 2\",\n> >         \"Vertical Color Bar Type 3\",\n> >         \"Vertical Color Bar Type 4\"\n> > };\n> > \n> > Have you inspected the produced test pattern ?\n> > If so\n> \n> Yes, that was my best identifications from enabling the test patterns.\n> Annoyingly - the AGC/AWB quite quickly destroys the TPG patterns so you\n> have to be quick to see what's output. But that's a separate (and I\n> think known) issue...\n> \n> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> \n> \n> Thanks\n> \n> \n> > \n> > Thanks\n> >   j\n> > \n> > > +             } },\n> > >               { \"ov8858\", {\n> > >                       .unitCellSize = { 1120, 1120 },\n> > >                       .testPatternModes = {\n> > > --\n> > > 2.34.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 09EDEBE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Mar 2023 15:03:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8A26862698;\n\tWed,  1 Mar 2023 16:03:16 +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 89C2E62666\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Mar 2023 16:03:15 +0100 (CET)","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 1D77C890;\n\tWed,  1 Mar 2023 16:03:15 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677682996;\n\tbh=H8MSbTc960fYbCskmIESGntankBfXMFp2DH9OS/wYP0=;\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:Cc:\n\tFrom;\n\tb=fltuSfjK+v1LyRvq7pIeiu8Tjm31CPmcFEosuBkJej9nGAKaiF8CdjdR7Kv47ni41\n\tdCUd4vnDs4CjPbJDhBORpJDLEm5REA2Rr6GM3+uAQW4sA97MVq2Z7nGAHw1nbO22Su\n\tFazs+i/m1p2kUWNOjjZXmlhjuqHVn03KmarFeuFvvBmi130AHKbbohfpcfNoHQDV/u\n\tSib4xb5HBXrXEtonvpjQfCSPrX298E53nJJfjJ+jLqtgKwwScypiONvGU/HfeTSi4Y\n\tRgzToeOvLzU0tLv5d/41H+XNGyRcTq7TWP3hArJhy6cxhx6LKZk9s61L5Gqv3KfeNv\n\tAFymy21w1YZ2A==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677682995;\n\tbh=H8MSbTc960fYbCskmIESGntankBfXMFp2DH9OS/wYP0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Axloy8U4WGtSZ2y4RyuS/mFu48pqE574LgYzu6XRvyXto3Xk1QmpcV/jAU918weot\n\tt3MTWew3kgH+u7TzKnbm33IVHeRPntIj5QEeOWahfUuS0F3P/010HCMiLXLeD8kLJ9\n\tTeF6TfghP3CxSE22jKNge77ch1FosVClP6beW3uM="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Axloy8U4\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<167768252576.93391.4226602419142968602@Monstersaurus>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>\n\t<20230228153322.yg7ryiekin5siquj@uno.localdomain>\n\t<167768252576.93391.4226602419142968602@Monstersaurus>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Date":"Wed, 01 Mar 2023 15:03:13 +0000","Message-ID":"<167768299302.93391.5502293564831817851@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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>","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":26518,"web_url":"https://patchwork.libcamera.org/comment/26518/","msgid":"<20230301152211.yb3xc37o2eqnq6ux@uno.localdomain>","date":"2023-03-01T15:22:11","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Kieran\n\nOn Wed, Mar 01, 2023 at 03:03:13PM +0000, Kieran Bingham wrote:\n> Quoting Kieran Bingham (2023-03-01 14:55:25)\n> > Quoting Jacopo Mondi (2023-02-28 15:33:22)\n> > > Hi Kieran\n> > >\n> > > On Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n> > > > Provide a CameraSensorHelper for the OV5695, along with the\n> > > > corresponding camera sensor properties.\n> > > >\n> > > > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > > > ---\n> > > >  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n> > > >  src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n> > > >  2 files changed, 19 insertions(+)\n> > > >\n> > > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > index d1051cc25656..a38fefc75372 100644\n> > > > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > > > @@ -527,6 +527,17 @@ public:\n> > > >  };\n> > > >  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n> > > >\n> > > > +class CameraSensorHelperOv5695 : public CameraSensorHelper\n> > > > +{\n> > > > +public:\n> > > > +     CameraSensorHelperOv5695()\n> > > > +     {\n> > > > +             gainType_ = AnalogueGainLinear;\n> > > > +             gainConstants_.linear = { 1, 0, 0, 128 };\n> > > > +     }\n> > > > +};\n> > > > +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n> > > > +\n> > >\n> > > I don't have a datasheet, but again, seeing this in action it seems\n> > > reasonable\n>\n> Me neither. But I wonder if that will be most sensors we have to add\n> here. I could also add:\n>\n> +               /* This has been validated with some empirical testing only. */\n>\n> But that might be applicable to 'most' of the CameraSensorHelpers?\n> Do we need to have a way to mark which ones would benefit from extra\n> validation? (Maybe a comment is enough ?)\n>\n\nFor now I would be fine with a comment and I'm fine with the comment\nyou proposed in the other patch in the series.\n\n>\n>\n> > >\n> > > >  class CameraSensorHelperOv8858 : public CameraSensorHelper\n> > > >  {\n> > > >  public:\n> > > > diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> > > > index 7652c5f3e24c..a92c13b87b7f 100644\n> > > > --- a/src/libcamera/camera_sensor_properties.cpp\n> > > > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > > > @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> > > >                                */\n> > > >                       },\n> > > >               } },\n> > > > +             { \"ov5695\", {\n> > > > +                     .unitCellSize = { 1400, 1400 },\n> > >\n> > > Can't validate this without a datasheet..\n> >\n> > It's listed in the publicly available product brief:\n> >\n> >  pixel size: 1.4 μm x 1.4 μm\n> >\n> >\n> >\n> > >\n> > > > +                     .testPatternModes = {\n> > > > +                             { controls::draft::TestPatternModeOff, 0 },\n> > > > +                             { controls::draft::TestPatternModeColorBars, 2 },\n> > > > +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n> > > > +                     },\n> > >\n> > > The driver reports\n> > >\n> > > static const char * const ov5695_test_pattern_menu[] = {\n> > >         \"Disabled\",\n> > >         \"Vertical Color Bar Type 1\",\n> > >         \"Vertical Color Bar Type 2\",\n> > >         \"Vertical Color Bar Type 3\",\n> > >         \"Vertical Color Bar Type 4\"\n> > > };\n> > >\n> > > Have you inspected the produced test pattern ?\n> > > If so\n> >\n> > Yes, that was my best identifications from enabling the test patterns.\n> > Annoyingly - the AGC/AWB quite quickly destroys the TPG patterns so you\n> > have to be quick to see what's output. But that's a separate (and I\n> > think known) issue...\n> >\n> > > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> >\n> >\n> > Thanks\n> >\n> >\n> > >\n> > > Thanks\n> > >   j\n> > >\n> > > > +             } },\n> > > >               { \"ov8858\", {\n> > > >                       .unitCellSize = { 1120, 1120 },\n> > > >                       .testPatternModes = {\n> > > > --\n> > > > 2.34.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 7D74EBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Mar 2023 15:22:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E7C6E626B8;\n\tWed,  1 Mar 2023 16:22:16 +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 8F07362666\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Mar 2023 16:22:15 +0100 (CET)","from ideasonboard.com (mob-5-90-142-222.net.vodafone.it\n\t[5.90.142.222])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1CBEC890;\n\tWed,  1 Mar 2023 16:22:15 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677684136;\n\tbh=wYNWdok2T4ylVZY+OxEfL+Zq/w5S+I44sVljSTNJBHc=;\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=vBBKnsrOE3ZbApnx8pe6kAylv9a+8Nej2yMlgbWuFy1nNoewJlljKOj8ARMba+S02\n\tbUI0NkAPRhjSOcOD2wzj1YBK9cjfeMDS/w2vxCilfJfYycTZ+w/heJjzvqm9YFklrb\n\t8lL7A2R8I3aOlKM2cbWfnoROnHuXH+29BF3pIw5jRG8gwBWRrvrmEArUkrd5fEvuzv\n\tpjFX8vCctW2GLiKAbEaq6aKkns8rNYSI6uDzCsn3VMOgBP7T4FhPAvI4R+7GNC0laT\n\tVeHwpt52+4p5+knqi+LC79CUe8AnZqfBGFZFSgx4QXhlI/FOGsYylRxcUwBWSU3Mp9\n\tMZPHy1QzdCJBg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677684135;\n\tbh=wYNWdok2T4ylVZY+OxEfL+Zq/w5S+I44sVljSTNJBHc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=wbAAeklsc8ExknXjX+Sw8+k3YxD30Ps+/GexLnWk2BdEhQU1WaL4KMvnofKLS1Obr\n\tP7/yG6CQm8CJv6O/FLwqmm7YbaRgO7GkvW9MLZTq+DoGXLIrLwnBcSbTfVXs9We7t/\n\tEyeC2CeU/937bVObZodNQJzeAWJnK7N6dY12JPeA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"wbAAekls\"; dkim-atps=neutral","Date":"Wed, 1 Mar 2023 16:22:11 +0100","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20230301152211.yb3xc37o2eqnq6ux@uno.localdomain>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>\n\t<20230228153322.yg7ryiekin5siquj@uno.localdomain>\n\t<167768252576.93391.4226602419142968602@Monstersaurus>\n\t<167768299302.93391.5502293564831817851@Monstersaurus>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<167768299302.93391.5502293564831817851@Monstersaurus>","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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.mondi@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26606,"web_url":"https://patchwork.libcamera.org/comment/26606/","msgid":"<8aad53da-b5cf-bb2c-31e0-711b42e7844f@ideasonboard.com>","date":"2023-03-09T10:14:41","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"On 3/1/23 8:33 PM, Kieran Bingham via libcamera-devel wrote:\n> Quoting Kieran Bingham (2023-03-01 14:55:25)\n>> Quoting Jacopo Mondi (2023-02-28 15:33:22)\n>>> Hi Kieran\n>>>\n>>> On Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n>>>> Provide a CameraSensorHelper for the OV5695, along with the\n>>>> corresponding camera sensor properties.\n>>>>\n>>>> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>>>> ---\n>>>>   src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n>>>>   src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n>>>>   2 files changed, 19 insertions(+)\n>>>>\n>>>> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n>>>> index d1051cc25656..a38fefc75372 100644\n>>>> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n>>>> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n>>>> @@ -527,6 +527,17 @@ public:\n>>>>   };\n>>>>   REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n>>>>\n>>>> +class CameraSensorHelperOv5695 : public CameraSensorHelper\n>>>> +{\n>>>> +public:\n>>>> +     CameraSensorHelperOv5695()\n>>>> +     {\n>>>> +             gainType_ = AnalogueGainLinear;\n>>>> +             gainConstants_.linear = { 1, 0, 0, 128 };\n>>>> +     }\n>>>> +};\n>>>> +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n>>>> +\n>>> I don't have a datasheet, but again, seeing this in action it seems\n>>> reasonable\n> Me neither. But I wonder if that will be most sensors we have to add\n> here. I could also add:\n>\n> +               /* This has been validated with some empirical testing only. */\n>\n> But that might be applicable to 'most' of the CameraSensorHelpers?\n> Do we need to have a way to mark which ones would benefit from extra\n> validation? (Maybe a comment is enough ?)\n\nThis will help - it gives a notion that more empirical testing can be \ndone(by users/community?)  and validated the information encapsulated \nin  Properties and helpers.  But the point is whether we want to put up \na global banner comment or be specific with each entry ?\n\n\n>\n>\n>>>>   class CameraSensorHelperOv8858 : public CameraSensorHelper\n>>>>   {\n>>>>   public:\n>>>> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n>>>> index 7652c5f3e24c..a92c13b87b7f 100644\n>>>> --- a/src/libcamera/camera_sensor_properties.cpp\n>>>> +++ b/src/libcamera/camera_sensor_properties.cpp\n>>>> @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>>>>                                 */\n>>>>                        },\n>>>>                } },\n>>>> +             { \"ov5695\", {\n>>>> +                     .unitCellSize = { 1400, 1400 },\n>>> Can't validate this without a datasheet..\n>> It's listed in the publicly available product brief:\n>>\n>>   pixel size: 1.4 μm x 1.4 μm\n>>\n>>\n>>\n>>>> +                     .testPatternModes = {\n>>>> +                             { controls::draft::TestPatternModeOff, 0 },\n>>>> +                             { controls::draft::TestPatternModeColorBars, 2 },\n>>>> +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n>>>> +                     },\n>>> The driver reports\n>>>\n>>> static const char * const ov5695_test_pattern_menu[] = {\n>>>          \"Disabled\",\n>>>          \"Vertical Color Bar Type 1\",\n>>>          \"Vertical Color Bar Type 2\",\n>>>          \"Vertical Color Bar Type 3\",\n>>>          \"Vertical Color Bar Type 4\"\n>>> };\n>>>\n>>> Have you inspected the produced test pattern ?\n>>> If so\n>> Yes, that was my best identifications from enabling the test patterns.\n>> Annoyingly - the AGC/AWB quite quickly destroys the TPG patterns so you\n>> have to be quick to see what's output. But that's a separate (and I\n>> think known) issue...\n>>\n>>> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nsame,\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n>>\n>> Thanks\n>>\n>>\n>>> Thanks\n>>>    j\n>>>\n>>>> +             } },\n>>>>                { \"ov8858\", {\n>>>>                        .unitCellSize = { 1120, 1120 },\n>>>>                        .testPatternModes = {\n>>>> --\n>>>> 2.34.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 AA6F8BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Mar 2023 10:14:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 16CD9626CF;\n\tThu,  9 Mar 2023 11:14:48 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 29D5262664\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Mar 2023 11:14:47 +0100 (CET)","from [IPV6:2401:4900:1c80:68bc:dd3b:9765:5b92:7a2c] (unknown\n\t[IPv6:2401:4900:1c80:68bc:dd3b:9765:5b92:7a2c])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id DB630589;\n\tThu,  9 Mar 2023 11:14:45 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678356888;\n\tbh=KToehm7vhX4B6KCZLGR2+RJw1v/NxbIqIIXwqb68+Kk=;\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=ByV2pEmaPMD8wCjb+j12OoL71HVYks4a0Eb80oC3GtVkDvlAATKXKSuQdwoGGllNk\n\t5kq+2YvIL4t8PEfXCRPqEdsTnGMuor9Gu1JWVreRExod+O+RhFwk8m9GUk60rJiOsI\n\tUc220HwE8YLDLSi/rLBXWHg98pTWpBxKMsx95dU6gAMDBRXYRzr6RJ+1pfVuKGSgU9\n\tVC74++vf7K3o9Ux4H3yKqCNC3tmY+79+xyQWNkr9oaOaVY/UEFp1FqsL4S4PxRJU5i\n\t017fu4tYUSze+whVKYdKG23FLTRQZQ9HWPAikoyhcSeByaxidLONEuKoBQ0ZG1S+IF\n\tFDywrCJDBcdrw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678356886;\n\tbh=KToehm7vhX4B6KCZLGR2+RJw1v/NxbIqIIXwqb68+Kk=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=BOFlcOyDAkx/ftJusKEae7lI1q7AMaFm2i7b2pv7bT4DHjtIEqcZYXYyUDXP9942N\n\txda3zFzS5DpdJ5+gfi0YQdIcURd+DjjXKkzQJh8Vq0s+TCT08WJ391XSmoEZr6z7wF\n\tcYzj0P9J3MWqjvi+M90mPEuzrqHz+jQPrcQMuVg8="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"BOFlcOyD\"; dkim-atps=neutral","Message-ID":"<8aad53da-b5cf-bb2c-31e0-711b42e7844f@ideasonboard.com>","Date":"Thu, 9 Mar 2023 15:44:41 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.7.1","Content-Language":"en-US","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>\n\t<20230228153322.yg7ryiekin5siquj@uno.localdomain>\n\t<167768252576.93391.4226602419142968602@Monstersaurus>\n\t<167768299302.93391.5502293564831817851@Monstersaurus>","In-Reply-To":"<167768299302.93391.5502293564831817851@Monstersaurus>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.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":26609,"web_url":"https://patchwork.libcamera.org/comment/26609/","msgid":"<20230309102650.GQ31765@pendragon.ideasonboard.com>","date":"2023-03-09T10:26:50","subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Mon, Feb 27, 2023 at 08:42:54PM +0000, Kieran Bingham via libcamera-devel wrote:\n> Provide a CameraSensorHelper for the OV5695, along with the\n> corresponding camera sensor properties.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n>  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n>  src/libcamera/camera_sensor_properties.cpp |  8 ++++++++\n>  2 files changed, 19 insertions(+)\n> \n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index d1051cc25656..a38fefc75372 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -527,6 +527,17 @@ public:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"ov5693\", CameraSensorHelperOv5693)\n>  \n> +class CameraSensorHelperOv5695 : public CameraSensorHelper\n> +{\n> +public:\n> +\tCameraSensorHelperOv5695()\n> +\t{\n> +\t\tgainType_ = AnalogueGainLinear;\n> +\t\tgainConstants_.linear = { 1, 0, 0, 128 };\n\nThis seems a bit weird, given that the driver sets the minimum gain to\n0x10 and the maximum (and default) gain to 0xf8. I'd be surprised if the\nsensors supported gains lower than one, and particularly as low as\n0.125. A 1/16 gain step would be more plausible.\n\n> +\t}\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"ov5695\", CameraSensorHelperOv5695)\n> +\n>  class CameraSensorHelperOv8858 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> index 7652c5f3e24c..a92c13b87b7f 100644\n> --- a/src/libcamera/camera_sensor_properties.cpp\n> +++ b/src/libcamera/camera_sensor_properties.cpp\n> @@ -204,6 +204,14 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>  \t\t\t\t */\n>  \t\t\t},\n>  \t\t} },\n> +\t\t{ \"ov5695\", {\n> +\t\t\t.unitCellSize = { 1400, 1400 },\n> +\t\t\t.testPatternModes = {\n> +\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBars, 2 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 4},\n> +\t\t\t},\n> +\t\t} },\n>  \t\t{ \"ov8858\", {\n>  \t\t\t.unitCellSize = { 1120, 1120 },\n>  \t\t\t.testPatternModes = {","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 CC9C8BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Mar 2023 10:26:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id ED5D7626CF;\n\tThu,  9 Mar 2023 11:26:48 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8773C62664\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Mar 2023 11:26:47 +0100 (CET)","from pendragon.ideasonboard.com\n\t(117.145-247-81.adsl-dyn.isp.belgacom.be [81.247.145.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0BE06589;\n\tThu,  9 Mar 2023 11:26:47 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678357609;\n\tbh=LGO6FXlyS+egZqIpXkV/tsWQXQySz3Es9EPZn/zeEow=;\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=FuM2r7INp36F7ycIVEpjTFKCxYTDPib1LUX+PthjYAZOAhAiWoGJOHU/XY9K/mpl2\n\tgQn7Z7CMhX+Z1tzcveFfBcv60CK7cNwaXy/ucPW3UFtTlBMSzlZjX1Sowh+o0LFzVt\n\tSNd0ggea7p+vtv5MLuWCC4LALLlmTtGAzCbcSRNJ7AZP/Ladjw9bBiBSdjuV4i8dVi\n\tH7+fTrYTC/5Z48hNaJL9QdgqyBxc8oYPpVkP5rzzVAyqb4wr9o/QqsfMVG/+V00X+N\n\trRmBVzZsMF4dxcEcNgvSJsxAZNL7Y2YZB3najfnJ9A12SXgxrI2t1rkI5AWz+GjXBa\n\td7WZgZmdkzNOw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678357607;\n\tbh=LGO6FXlyS+egZqIpXkV/tsWQXQySz3Es9EPZn/zeEow=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=YzKa9LqlxdFD0n53Toaxu4ZNX+8Q7JMDs3eVARvms7ndU7ADgXYld44s1lhHjfKl5\n\tfwOfK//Dla4qFZOXlGozYoKRU+xKeGaKTvQbM4ecbupDoTPI0jYccPpZ8UzBbEMVYe\n\tFSSS2dikM/SVAt1sfAGdeXdyONbgu8Ip/CoFoRlU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"YzKa9Lql\"; dkim-atps=neutral","Date":"Thu, 9 Mar 2023 12:26:50 +0200","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20230309102650.GQ31765@pendragon.ideasonboard.com>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230227204254.3965883-3-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/2] ipa: libipa: Add OV5695 Camera\n\tSensor Helper","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.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>"}}]