[{"id":26498,"web_url":"https://patchwork.libcamera.org/comment/26498/","msgid":"<20230228153051.uzw4uapsioossxok@uno.localdomain>","date":"2023-02-28T15:30:51","subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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:53PM +0000, Kieran Bingham via libcamera-devel wrote:\n> Provide a CameraSensorHelper for the OV2685, 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 | 14 ++++++++++++++\n>  2 files changed, 25 insertions(+)\n>\n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index 7977d7eb6c07..d1051cc25656 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -450,6 +450,17 @@ public:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"imx477\", CameraSensorHelperImx477)\n>\n> +class CameraSensorHelperOv2685 : public CameraSensorHelper\n> +{\n> +public:\n> +\tCameraSensorHelperOv2685()\n> +\t{\n> +\t\tgainType_ = AnalogueGainLinear;\n> +\t\tgainConstants_.linear = { 1, 0, 0, 128 };\n\nThe sensor manual I have doesn't specify a gain model at all.\n\nI've seen this working and it's reasonable, I would add a coment to\nrecord that the gain model is not documented, but otherwise... ship\nit!\n\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n> +\t}\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"ov2685\", CameraSensorHelperOv2685)\n> +\n>  class CameraSensorHelperOv2740 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> index b8c532699684..7652c5f3e24c 100644\n> --- a/src/libcamera/camera_sensor_properties.cpp\n> +++ b/src/libcamera/camera_sensor_properties.cpp\n> @@ -133,6 +133,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>  \t\t\t\t{ controls::draft::TestPatternModePn9, 4 },\n>  \t\t\t},\n>  \t\t} },\n> +\t\t{ \"ov2685\", {\n> +\t\t\t.unitCellSize = { 1750, 1750 },\n> +\t\t\t.testPatternModes = {\n> +\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBars, 1},\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 2 },\n> +\t\t\t\t/*\n> +\t\t\t\t * Also exposed by the driver:\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_RANDOM,\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_BW_SQUARE,\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_COLOR_SQUARE,\n> +\t\t\t\t */\n> +\t\t\t},\n> +\t\t} },\n>  \t\t{ \"ov2740\", {\n>  \t\t\t.unitCellSize = { 1400, 1400 },\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 E4C84BE08A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 28 Feb 2023 15:30:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 17C8F6269B;\n\tTue, 28 Feb 2023 16:30:56 +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 0B6CA6261A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 28 Feb 2023 16:30:55 +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 59DB256A;\n\tTue, 28 Feb 2023 16:30:54 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677598256;\n\tbh=eKmE8PtPAWsYYcXfBT3aYMs+4c3CyEjcNoufnY7RmcE=;\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=bZrFY/tg3XEQdFDImV58oQ5hzBmpAPe5gd6QccvKePVNc2I7VucU8x6Tjq5PYyHMy\n\t00EdeXQCi1AbLL6X7Ghb/SmtHwO8dqLgC207nz7M5G0XB56GChaKAdF0cqbnjxJVU4\n\t8p0DPdMufXkkCAyu/SEi/142J1HsJSCQIicVd3xyEOh8n/0P0xTvYMgXSGfrAYE0hh\n\tuglX9rCT58onVvRbHb7IxqFo17JjyV1kd8ItO00nW3OI8uZfsiogP2wmy0M7farEaK\n\t03VylRizXT+Qmzr2kO3YPeMRvJjUhqyJqof9q7xWayZhqJRTbvXK2L/pWAgQ4FFRzq\n\tWkcFPxVJYbcjQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677598254;\n\tbh=eKmE8PtPAWsYYcXfBT3aYMs+4c3CyEjcNoufnY7RmcE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=sZagKovH4vbtXX2KMJJDsvhRG04Eu5n/y2NjloSPP11WuDhtNPISojylE+y1URvrB\n\tUtd0vQEGZrMWPaGJ0gjpmrYAmnwHl863wEcyIwk2f+g0QYWLVP8vIWNfsHsHDZFNbj\n\tDYAadOSWwpi+yrCrZ9Lqm2pwrILAqgDe0psli7co="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"sZagKovH\"; dkim-atps=neutral","Date":"Tue, 28 Feb 2023 16:30:51 +0100","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20230228153051.uzw4uapsioossxok@uno.localdomain>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-2-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230227204254.3965883-2-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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":26513,"web_url":"https://patchwork.libcamera.org/comment/26513/","msgid":"<167768287450.93391.3892194889904021781@Monstersaurus>","date":"2023-03-01T15:01:14","subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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:30:51)\n> Hi Kieran\n> \n> On Mon, Feb 27, 2023 at 08:42:53PM +0000, Kieran Bingham via libcamera-devel wrote:\n> > Provide a CameraSensorHelper for the OV2685, 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 | 14 ++++++++++++++\n> >  2 files changed, 25 insertions(+)\n> >\n> > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> > index 7977d7eb6c07..d1051cc25656 100644\n> > --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> > +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> > @@ -450,6 +450,17 @@ public:\n> >  };\n> >  REGISTER_CAMERA_SENSOR_HELPER(\"imx477\", CameraSensorHelperImx477)\n> >\n> > +class CameraSensorHelperOv2685 : public CameraSensorHelper\n> > +{\n> > +public:\n> > +     CameraSensorHelperOv2685()\n> > +     {\n> > +             gainType_ = AnalogueGainLinear;\n> > +             gainConstants_.linear = { 1, 0, 0, 128 };\n> \n> The sensor manual I have doesn't specify a gain model at all.\n> \n> I've seen this working and it's reasonable, I would add a coment to\n> record that the gain model is not documented, but otherwise... ship\n> it!\n\nIs this ok for you ?\n\n+               /*\n+                * The Sensor Manual doesn't appear to document the gain model.\n+                * This has been validated with some empirical testing only.\n+                */\n\n> \n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> \n> > +     }\n> > +};\n> > +REGISTER_CAMERA_SENSOR_HELPER(\"ov2685\", CameraSensorHelperOv2685)\n> > +\n> >  class CameraSensorHelperOv2740 : public CameraSensorHelper\n> >  {\n> >  public:\n> > diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> > index b8c532699684..7652c5f3e24c 100644\n> > --- a/src/libcamera/camera_sensor_properties.cpp\n> > +++ b/src/libcamera/camera_sensor_properties.cpp\n> > @@ -133,6 +133,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n> >                               { controls::draft::TestPatternModePn9, 4 },\n> >                       },\n> >               } },\n> > +             { \"ov2685\", {\n> > +                     .unitCellSize = { 1750, 1750 },\n> > +                     .testPatternModes = {\n> > +                             { controls::draft::TestPatternModeOff, 0 },\n> > +                             { controls::draft::TestPatternModeColorBars, 1},\n> > +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 2 },\n> > +                             /*\n> > +                              * Also exposed by the driver:\n> > +                              *  - OV2685_TEST_PATTERN_RANDOM,\n> > +                              *  - OV2685_TEST_PATTERN_BW_SQUARE,\n> > +                              *  - OV2685_TEST_PATTERN_COLOR_SQUARE,\n> > +                              */\n> > +                     },\n> > +             } },\n> >               { \"ov2740\", {\n> >                       .unitCellSize = { 1400, 1400 },\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 90970BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Mar 2023 15:01:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EEA4262666;\n\tWed,  1 Mar 2023 16:01:18 +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 6EFE362665\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Mar 2023 16:01:17 +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 0747B890;\n\tWed,  1 Mar 2023 16:01:16 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1677682879;\n\tbh=lg0/wsuueWSi7hKMTiYPcpHv6drkSnJbzOK8048ZeMA=;\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=Zv26kxDRTJkin7A2yDter71LQPkorzUpce6+rRG7po7bwU1qmMhHg6+g9AcUx/JO1\n\tlG5KVCa7ooJpjvZ0fgVmPZa4eAop5HJzdYjGBZ2gnwGYecce3D7rlazSLE1T+FkiQU\n\taUZxkvQH0X6HfI5TSy5rmHBfCgDgFcFN2W4g2ubOF3NbSVE/CiP38d9F2ZCX7bdtP5\n\tcElp/kaRVWYVfWSxpmlauDqSQsMDqNJzTZzqfopTB20PX7kJSD7pKs96Nrwx0cg8Ec\n\tmkPpq/cMRmvZZGpbbBMAoWs7+ku83b5VSytUWxqjBaSM9QHP6LQqT8jDPknMSc04hk\n\tdHiFY5D0v8oqg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1677682877;\n\tbh=lg0/wsuueWSi7hKMTiYPcpHv6drkSnJbzOK8048ZeMA=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Jkn/m2Ap+tNYfq4hOzx1c9BqDv5w0bYR8iAk2ltQaTStheJWNe7ekxVm0jOUdMfO4\n\t/9+H8T0j7uYPvs4zU+QNvefkxlybkWqpY3JzXoEvVoopv+zJJ2Xfa3rVqIb0vljSSF\n\tmSIT1r2P3gPMftiXsJATLSo3FRK1su848d06uFrA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Jkn/m2Ap\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20230228153051.uzw4uapsioossxok@uno.localdomain>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-2-kieran.bingham@ideasonboard.com>\n\t<20230228153051.uzw4uapsioossxok@uno.localdomain>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Date":"Wed, 01 Mar 2023 15:01:14 +0000","Message-ID":"<167768287450.93391.3892194889904021781@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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":26607,"web_url":"https://patchwork.libcamera.org/comment/26607/","msgid":"<20230309102143.GP31765@pendragon.ideasonboard.com>","date":"2023-03-09T10:21:43","subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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:53PM +0000, Kieran Bingham via libcamera-devel wrote:\n> Provide a CameraSensorHelper for the OV2685, along with the\n> corresponding camera sensor properties.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/ipa/libipa/camera_sensor_helper.cpp    | 11 +++++++++++\n>  src/libcamera/camera_sensor_properties.cpp | 14 ++++++++++++++\n>  2 files changed, 25 insertions(+)\n> \n> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n> index 7977d7eb6c07..d1051cc25656 100644\n> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n> @@ -450,6 +450,17 @@ public:\n>  };\n>  REGISTER_CAMERA_SENSOR_HELPER(\"imx477\", CameraSensorHelperImx477)\n>  \n> +class CameraSensorHelperOv2685 : public CameraSensorHelper\n> +{\n> +public:\n> +\tCameraSensorHelperOv2685()\n> +\t{\n> +\t\tgainType_ = AnalogueGainLinear;\n> +\t\tgainConstants_.linear = { 1, 0, 0, 128 };\n> +\t}\n> +};\n> +REGISTER_CAMERA_SENSOR_HELPER(\"ov2685\", CameraSensorHelperOv2685)\n> +\n>  class CameraSensorHelperOv2740 : public CameraSensorHelper\n>  {\n>  public:\n> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n> index b8c532699684..7652c5f3e24c 100644\n> --- a/src/libcamera/camera_sensor_properties.cpp\n> +++ b/src/libcamera/camera_sensor_properties.cpp\n> @@ -133,6 +133,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>  \t\t\t\t{ controls::draft::TestPatternModePn9, 4 },\n>  \t\t\t},\n>  \t\t} },\n> +\t\t{ \"ov2685\", {\n> +\t\t\t.unitCellSize = { 1750, 1750 },\n> +\t\t\t.testPatternModes = {\n> +\t\t\t\t{ controls::draft::TestPatternModeOff, 0 },\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBars, 1},\n> +\t\t\t\t{ controls::draft::TestPatternModeColorBarsFadeToGray, 2 },\n> +\t\t\t\t/*\n> +\t\t\t\t * Also exposed by the driver:\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_RANDOM,\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_BW_SQUARE,\n> +\t\t\t\t *  - OV2685_TEST_PATTERN_COLOR_SQUARE,\n> +\t\t\t\t */\n> +\t\t\t},\n> +\t\t} },\n>  \t\t{ \"ov2740\", {\n>  \t\t\t.unitCellSize = { 1400, 1400 },\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 23A42BDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Mar 2023 10:21:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 72AC2626D1;\n\tThu,  9 Mar 2023 11:21:41 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5AAFE626C8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Mar 2023 11:21:40 +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 C7272589;\n\tThu,  9 Mar 2023 11:21:39 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678357301;\n\tbh=oHTA7shfD/It2VXR/nxytj/7WUU5phiZLpG7kD4h/Dw=;\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=3zClQBtE78DSrZUujWTkIK55ENnOKKi8RFSnsgf5CCdutpBR9X8ZisU9kDCy2zd/3\n\thqMiv0c1Ojk/DnSlxNek2Qan3yta3UI2W/pTpkofnNEHzBcsi1PEqWZYPrPxG/4CbB\n\tOQIe+7dbuE24NIgLgjMxPZGn11PLZa2ICa0twrXS6i7FCHaWeJ1qriQ+OP7A0mkL1x\n\taVEHkDT5N+KTua+1i8oISNuoNsok66o/HC0yIqhf/WHClwBKObZsWknVYGE7nxHrmA\n\twx3IalmaSnYCXGM9QfwUW7zhkaHOHtwV7h3XWZgkZEq125WGFDWIPJq7MNZ/4d0/fL\n\tzs3AuVpdeNCuw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678357299;\n\tbh=oHTA7shfD/It2VXR/nxytj/7WUU5phiZLpG7kD4h/Dw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=GC0bNPJeJ46sqjNDm+vsxfZDNpOL3q5pZjXqlxd6dwZITieAmiII3Qyfxsf1SFv9V\n\t1mOmF+dmYkGk4dcNI8ZbF1Qw5pGh2MUKmarhCf/FnsfMPRE6xZBkLD8QfX5Ukoxwvz\n\tJb1Z0eIHEPchz/OKIaeWqP9efBs9udniYfvEcM9o="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"GC0bNPJe\"; dkim-atps=neutral","Date":"Thu, 9 Mar 2023 12:21:43 +0200","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20230309102143.GP31765@pendragon.ideasonboard.com>","References":"<20230227204254.3965883-1-kieran.bingham@ideasonboard.com>\n\t<20230227204254.3965883-2-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230227204254.3965883-2-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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>"}},{"id":26608,"web_url":"https://patchwork.libcamera.org/comment/26608/","msgid":"<dd28214b-4e26-0b97-845f-023dc416d69b@ideasonboard.com>","date":"2023-03-09T10:22:58","subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 Camera\n\tSensor Helper","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Kieran\n\nOn 3/1/23 8:31 PM, Kieran Bingham via libcamera-devel wrote:\n> Quoting Jacopo Mondi (2023-02-28 15:30:51)\n>> Hi Kieran\n>>\n>> On Mon, Feb 27, 2023 at 08:42:53PM +0000, Kieran Bingham via libcamera-devel wrote:\n>>> Provide a CameraSensorHelper for the OV2685, 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 | 14 ++++++++++++++\n>>>   2 files changed, 25 insertions(+)\n>>>\n>>> diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\n>>> index 7977d7eb6c07..d1051cc25656 100644\n>>> --- a/src/ipa/libipa/camera_sensor_helper.cpp\n>>> +++ b/src/ipa/libipa/camera_sensor_helper.cpp\n>>> @@ -450,6 +450,17 @@ public:\n>>>   };\n>>>   REGISTER_CAMERA_SENSOR_HELPER(\"imx477\", CameraSensorHelperImx477)\n>>>\n>>> +class CameraSensorHelperOv2685 : public CameraSensorHelper\n>>> +{\n>>> +public:\n>>> +     CameraSensorHelperOv2685()\n>>> +     {\n>>> +             gainType_ = AnalogueGainLinear;\n>>> +             gainConstants_.linear = { 1, 0, 0, 128 };\n>> The sensor manual I have doesn't specify a gain model at all.\n>>\n>> I've seen this working and it's reasonable, I would add a coment to\n>> record that the gain model is not documented, but otherwise... ship\n>> it!\n> Is this ok for you ?\n>\n> +               /*\n> +                * The Sensor Manual doesn't appear to document the gain model.\n> +                * This has been validated with some empirical testing only.\n> +                */\n>\n>> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n>>\n>>> +     }\n>>> +};\n>>> +REGISTER_CAMERA_SENSOR_HELPER(\"ov2685\", CameraSensorHelperOv2685)\n>>> +\n>>>   class CameraSensorHelperOv2740 : public CameraSensorHelper\n>>>   {\n>>>   public:\n>>> diff --git a/src/libcamera/camera_sensor_properties.cpp b/src/libcamera/camera_sensor_properties.cpp\n>>> index b8c532699684..7652c5f3e24c 100644\n>>> --- a/src/libcamera/camera_sensor_properties.cpp\n>>> +++ b/src/libcamera/camera_sensor_properties.cpp\n>>> @@ -133,6 +133,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen\n>>>                                { controls::draft::TestPatternModePn9, 4 },\n>>>                        },\n>>>                } },\n>>> +             { \"ov2685\", {\n>>> +                     .unitCellSize = { 1750, 1750 },\n>>> +                     .testPatternModes = {\n>>> +                             { controls::draft::TestPatternModeOff, 0 },\n>>> +                             { controls::draft::TestPatternModeColorBars, 1},\n>>> +                             { controls::draft::TestPatternModeColorBarsFadeToGray, 2 },\n>>> +                             /*\n>>> +                              * Also exposed by the driver:\n\nThis doesn't tell convey the what's the issue here?  Is it a case of \nexposed by driver but not found while testing?\n\nIn that case, I would align with one of the pre-existing comment(s) from \nother entries:\n\n     /*\n      * No corresponding test pattern mode for:\n     ....\n\nor similar.\n\nIn any case, minor nitpick so,\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n\n\n>>> +                              *  - OV2685_TEST_PATTERN_RANDOM,\n>>> +                              *  - OV2685_TEST_PATTERN_BW_SQUARE,\n>>> +                              *  - OV2685_TEST_PATTERN_COLOR_SQUARE,\n>>> +                              */\n>>> +                     },\n>>> +             } },\n>>>                { \"ov2740\", {\n>>>                        .unitCellSize = { 1400, 1400 },\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 8004EBDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  9 Mar 2023 10:23:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3615C626D1;\n\tThu,  9 Mar 2023 11:23:04 +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 030A1626C8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  9 Mar 2023 11:23:03 +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 03703589;\n\tThu,  9 Mar 2023 11:23:01 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678357384;\n\tbh=x1m8D94sdv29F78UWh2VVFbCvZds4dBpA4r93O10vzg=;\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=W4ERoWHQpKsMIzhceQwU3UHvf+Xztuk124rG/7/Yy1f+M5RTCUHaoz7BswnY5o2vg\n\tmQiu0CCiOXr4hiHpNjtT5ixT7F5xGmmfxtcQXJZSV5epL33E90WwZSqN6jUhpydgBG\n\tASqMXZ+r9OuUAL8GtoVQpAvLgjrFN2wgRUCp6kg7/uXSbv+Biz7o7nBnZ6kLydpH4n\n\tYs13SOyWmpsoXj2GG5q2+oiQhpEzhFN1mZDWF3+EhEHroTxE9swHWFZ4cIEBmOZNVB\n\tuw0mw0cvc3JN2+i67nxwdSFUt58xHJUFOxAjybMr58jutki6jPMRwn/xQjBEQ4dJic\n\tOOjyfYX3cPWXA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678357382;\n\tbh=x1m8D94sdv29F78UWh2VVFbCvZds4dBpA4r93O10vzg=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=On8pqLSzrM3PM934wxR9qdQ9XIj9XsyK0KlINvRAiYawt6JJuVTqJIincM2uEHS83\n\tbUDsoDFavSwWhubjxwYz6uzfL6BoaJCyGEPWgt98PRj4nonD9x27aF46LpGC2vpUP4\n\tZjQg2izurfdH11ehUkEprOZtr1tccTJpoQY4GGdU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"On8pqLSz\"; dkim-atps=neutral","Message-ID":"<dd28214b-4e26-0b97-845f-023dc416d69b@ideasonboard.com>","Date":"Thu, 9 Mar 2023 15:52:58 +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-2-kieran.bingham@ideasonboard.com>\n\t<20230228153051.uzw4uapsioossxok@uno.localdomain>\n\t<167768287450.93391.3892194889904021781@Monstersaurus>","In-Reply-To":"<167768287450.93391.3892194889904021781@Monstersaurus>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Subject":"Re: [libcamera-devel] [PATCH 1/2] ipa: libipa: Add OV2685 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>"}}]