[{"id":26395,"web_url":"https://patchwork.libcamera.org/comment/26395/","msgid":"<mailman.33.1675417330.775.libcamera-devel@lists.libcamera.org>","date":"2023-02-03T09:42:03","subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":121,"url":"https://patchwork.libcamera.org/api/people/121/","name":"Quentin Schulz","email":"quentin.schulz@theobroma-systems.com"},"content":"Hi all,\n\nGentle ping here.\n\nCheers,\nQuentin\n\nOn 1/19/23 09:41, Daniel Semkowicz via libcamera-devel wrote:\n> Hi!\n> \n> This is a patch series with a common AF algorithm implementation\n> basing on the IPU3 AF version. The common part was then used to\n> implement AF for the rkisp1 ISP.\n> \n> Early version of this serie was uploaded in the July, but there were\n> some change in the IPA in the meantime. The current version was updated\n> to the new IPA code and has most of the comments from the v2 review\n> fixed.\n> \n> Best regards\n> Daniel Semkowicz\n> \n> Daniel Semkowicz (8):\n>    rkisp1: Add camera lens to PH and expose it to the IPA\n>    rkisp1: Control camera lens position from IPA\n>    ipa: Add base class defining AF algorithm interface\n>    ipa: Add class that implements base AF control algorithm\n>    ipa: rkisp1: Add AF algorithm basing on common AfHillClimbing class\n>    pipeline: rkisp1: Add basic AF controls to the supported controls list\n>    ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n>    ipa: rkisp1: Add OV5675 tuning file\n> \n>   include/libcamera/ipa/rkisp1.mojom            |   2 +\n>   .../libipa/algorithms/af_hill_climbing.cpp    | 374 ++++++++++++++++++\n>   src/ipa/libipa/algorithms/af_hill_climbing.h  | 102 +++++\n>   src/ipa/libipa/algorithms/af_interface.cpp    |  92 +++++\n>   src/ipa/libipa/algorithms/af_interface.h      |  41 ++\n>   src/ipa/libipa/algorithms/meson.build         |  11 +\n>   src/ipa/libipa/meson.build                    |   6 +\n>   src/ipa/rkisp1/algorithms/af.cpp              | 182 +++++++++\n>   src/ipa/rkisp1/algorithms/af.h                |  51 +++\n>   src/ipa/rkisp1/algorithms/meson.build         |   1 +\n>   src/ipa/rkisp1/data/meson.build               |   1 +\n>   src/ipa/rkisp1/data/ov5675.yaml               |  20 +\n>   src/ipa/rkisp1/ipa_context.h                  |   5 +\n>   src/ipa/rkisp1/rkisp1.cpp                     |  23 ++\n>   src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  21 +\n>   15 files changed, 932 insertions(+)\n>   create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.cpp\n>   create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.h\n>   create mode 100644 src/ipa/libipa/algorithms/af_interface.cpp\n>   create mode 100644 src/ipa/libipa/algorithms/af_interface.h\n>   create mode 100644 src/ipa/libipa/algorithms/meson.build\n>   create mode 100644 src/ipa/rkisp1/algorithms/af.cpp\n>   create mode 100644 src/ipa/rkisp1/algorithms/af.h\n>   create mode 100644 src/ipa/rkisp1/data/ov5675.yaml\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 9678BBEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  3 Feb 2023 09:42:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E40F5625E4;\n\tFri,  3 Feb 2023 10:42:10 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675417330;\n\tbh=QkL9cF06UMtWpLgIaXpCzuYkDXHpWohE+xtLJt948/0=;\n\th=Date:To:References:In-Reply-To:List-Id:List-Post:From:\n\tList-Subscribe:List-Unsubscribe:List-Archive:Reply-To:List-Help:\n\tSubject:From;\n\tb=mzXSaM4rsEItkcThiHycUKr3R1D7cMDDMLkekHRwPzmsLDdXs95YjOyEuv84ClXc0\n\t3mU6v8poVG+8FhAVZnSG20ZsyTSG3Bvw+K7kHnaaIRXqkGwNfPjCDttvsHQwsKUp2D\n\tVN8b+aAuUfNAx7D3ClVwcsnMsk0cWYyDNBSZy3SHqQG2kuvSQy2/K8U87lx+uF95+O\n\tl81UnnVhFE8bCZFW/uz9Xy0Jg2Bh90/6zquyO2R7nT2EObwaUybFG6cQwpKxNT+JOC\n\tx3Jhq267txiMgOk2wymnwLSkzWAC7UKKd5YJm/w4xx8nmIpLse7h6x0UNeU0S1rAJQ\n\tqQMnJDpFWWcWw==","Date":"Fri, 3 Feb 2023 10:42:03 +0100","To":"Daniel Semkowicz <dse@thaumatec.com>, libcamera-devel@lists.libcamera.org","References":"<20230119084112.20564-1-dse@thaumatec.com>","In-Reply-To":"<20230119084112.20564-1-dse@thaumatec.com>","MIME-Version":"1.0","Message-ID":"<mailman.33.1675417330.775.libcamera-devel@lists.libcamera.org>","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","From":"Quentin Schulz via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Precedence":"list","X-Mailman-Version":"2.1.29","X-BeenThere":"libcamera-devel@lists.libcamera.org","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","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/>","Reply-To":"Quentin Schulz <quentin.schulz@theobroma-systems.com>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","Subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","Content-Type":"message/rfc822","Content-Disposition":"inline","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26396,"web_url":"https://patchwork.libcamera.org/comment/26396/","msgid":"<20230203100421.ylwfcuwtefstyuvz@uno.localdomain>","date":"2023-02-03T10:04:21","subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Quentin\n\nOn Fri, Feb 03, 2023 at 10:42:03AM +0100, Quentin Schulz via libcamera-devel wrote:\n> Date: Fri, 3 Feb 2023 10:42:03 +0100\n> From: Quentin Schulz <quentin.schulz@theobroma-systems.com>\n> To: Daniel Semkowicz <dse@thaumatec.com>,\n>  libcamera-devel@lists.libcamera.org\n> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n>  Thunderbird/102.6.0\n> Subject: Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n>  algorithm\n>\n> Hi all,\n>\n> Gentle ping here.\n>\n\nSorry, I privately notified Daniel yesterday that his series has not\nfallen into a (too deep) crack.\n\nI'm in the process of setting up a [rockpi4 + imx519 + ak7375 lens] to\ntest it and will review it after.\n\n\n> Cheers,\n> Quentin\n>\n> On 1/19/23 09:41, Daniel Semkowicz via libcamera-devel wrote:\n> > Hi!\n> >\n> > This is a patch series with a common AF algorithm implementation\n> > basing on the IPU3 AF version. The common part was then used to\n> > implement AF for the rkisp1 ISP.\n> >\n> > Early version of this serie was uploaded in the July, but there were\n> > some change in the IPA in the meantime. The current version was updated\n> > to the new IPA code and has most of the comments from the v2 review\n> > fixed.\n> >\n> > Best regards\n> > Daniel Semkowicz\n> >\n> > Daniel Semkowicz (8):\n> >    rkisp1: Add camera lens to PH and expose it to the IPA\n> >    rkisp1: Control camera lens position from IPA\n> >    ipa: Add base class defining AF algorithm interface\n> >    ipa: Add class that implements base AF control algorithm\n> >    ipa: rkisp1: Add AF algorithm basing on common AfHillClimbing class\n> >    pipeline: rkisp1: Add basic AF controls to the supported controls list\n> >    ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n> >    ipa: rkisp1: Add OV5675 tuning file\n> >\n> >   include/libcamera/ipa/rkisp1.mojom            |   2 +\n> >   .../libipa/algorithms/af_hill_climbing.cpp    | 374 ++++++++++++++++++\n> >   src/ipa/libipa/algorithms/af_hill_climbing.h  | 102 +++++\n> >   src/ipa/libipa/algorithms/af_interface.cpp    |  92 +++++\n> >   src/ipa/libipa/algorithms/af_interface.h      |  41 ++\n> >   src/ipa/libipa/algorithms/meson.build         |  11 +\n> >   src/ipa/libipa/meson.build                    |   6 +\n> >   src/ipa/rkisp1/algorithms/af.cpp              | 182 +++++++++\n> >   src/ipa/rkisp1/algorithms/af.h                |  51 +++\n> >   src/ipa/rkisp1/algorithms/meson.build         |   1 +\n> >   src/ipa/rkisp1/data/meson.build               |   1 +\n> >   src/ipa/rkisp1/data/ov5675.yaml               |  20 +\n> >   src/ipa/rkisp1/ipa_context.h                  |   5 +\n> >   src/ipa/rkisp1/rkisp1.cpp                     |  23 ++\n> >   src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  21 +\n> >   15 files changed, 932 insertions(+)\n> >   create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.cpp\n> >   create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.h\n> >   create mode 100644 src/ipa/libipa/algorithms/af_interface.cpp\n> >   create mode 100644 src/ipa/libipa/algorithms/af_interface.h\n> >   create mode 100644 src/ipa/libipa/algorithms/meson.build\n> >   create mode 100644 src/ipa/rkisp1/algorithms/af.cpp\n> >   create mode 100644 src/ipa/rkisp1/algorithms/af.h\n> >   create mode 100644 src/ipa/rkisp1/data/ov5675.yaml\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 C5847BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  3 Feb 2023 10:04:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 459F661EF6;\n\tFri,  3 Feb 2023 11:04:28 +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 41AA961EF4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  3 Feb 2023 11:04:26 +0100 (CET)","from ideasonboard.com (host-79-55-56-167.retail.telecomitalia.it\n\t[79.55.56.167])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A5613890;\n\tFri,  3 Feb 2023 11:04:25 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675418668;\n\tbh=AyjQvugmVUwqQhOdzbmoEdsxNAn4odrfNMH8Ogniia8=;\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=1FQgmOs9gmeHTWn4t/FcVDiqwkV9u023lLyJaOptZMjevrtHVbneEQ+1N8A4ceRt6\n\tHCesRNA77pwXuAKvWR+2JsfeQ2WLicGNIK8OfrH4njMG52rfWeap4Jc2UtBOwC7CgH\n\tduIvD7Q2nhcei41HxoYcvuy2uNQXf3woIde8nafKKOuoNzvU5uy8bhN8n758Lr4DC+\n\tDo63KiltO3QvjTExfD7TkGHMtI7suunJKg3Z9NZg1u3r9TCTFUEiE9gMaM+Qqg5kYl\n\t0sYJmJ5w7lWInzhx4cJ/8d9LcsscoVWiCc7gEFIAxpK1l/nNlZvfmfL45OnE7x+oG4\n\tZW+SaLXe+7FAQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1675418665;\n\tbh=AyjQvugmVUwqQhOdzbmoEdsxNAn4odrfNMH8Ogniia8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=SvyB1rJkqG367Sjp1Lv6P3nR5ZpPNjVdSpgaL0q78ZGKxLn4r9hNoVO6jlNAHkBvw\n\tXkoyRF/XNioXrTR3x93K5/KVWBtr4KI4rdl2VxpxZvxWUxiQ3Hpj45wzwoFbGQkdG6\n\t8Ab0d+WWdgM3l5qQhO+kEYVVCjWNmHbVVB6TI/sU="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"SvyB1rJk\"; dkim-atps=neutral","Date":"Fri, 3 Feb 2023 11:04:21 +0100","To":"Quentin Schulz <quentin.schulz@theobroma-systems.com>","Message-ID":"<20230203100421.ylwfcuwtefstyuvz@uno.localdomain>","References":"<20230119084112.20564-1-dse@thaumatec.com>\n\t<mailman.33.1675417330.775.libcamera-devel@lists.libcamera.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<mailman.33.1675417330.775.libcamera-devel@lists.libcamera.org>","Subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","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@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26422,"web_url":"https://patchwork.libcamera.org/comment/26422/","msgid":"<20230207154135.3oqwmpqasiezuowy@uno.localdomain>","date":"2023-02-07T15:41:35","subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Daniel\n\nOn Thu, Jan 19, 2023 at 09:41:04AM +0100, Daniel Semkowicz via libcamera-devel wrote:\n> Hi!\n>\n> This is a patch series with a common AF algorithm implementation\n> basing on the IPU3 AF version. The common part was then used to\n> implement AF for the rkisp1 ISP.\n>\n> Early version of this serie was uploaded in the July, but there were\n> some change in the IPA in the meantime. The current version was updated\n> to the new IPA code and has most of the comments from the v2 review\n> fixed.\n\nI managed to test your series with a different camera module, in CAF mode.\n\nI'm very happy with the result! it's contrast based so it's not\ncomparable with the performances of a PDAF sensor, but it works\nwell and proves I was over-concerned about CAF mode with contrast\nbased algorithms!\n\nI think the part that still need some work is the discussion about the\nclass hierarchy, but I'm in favour of moving forward with the series\nand iterate on top with more fine-grained support for more complex\nscenarios and integrate with the work Matthias has done for advanced\noptics.\n\nWhat do you think about the class hierachy design ? Is this something\nyou would like to consider discussing ?\n\nThanks!!\n   j\n\n>\n> Best regards\n> Daniel Semkowicz\n>\n> Daniel Semkowicz (8):\n>   rkisp1: Add camera lens to PH and expose it to the IPA\n>   rkisp1: Control camera lens position from IPA\n>   ipa: Add base class defining AF algorithm interface\n>   ipa: Add class that implements base AF control algorithm\n>   ipa: rkisp1: Add AF algorithm basing on common AfHillClimbing class\n>   pipeline: rkisp1: Add basic AF controls to the supported controls list\n>   ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n>   ipa: rkisp1: Add OV5675 tuning file\n>\n>  include/libcamera/ipa/rkisp1.mojom            |   2 +\n>  .../libipa/algorithms/af_hill_climbing.cpp    | 374 ++++++++++++++++++\n>  src/ipa/libipa/algorithms/af_hill_climbing.h  | 102 +++++\n>  src/ipa/libipa/algorithms/af_interface.cpp    |  92 +++++\n>  src/ipa/libipa/algorithms/af_interface.h      |  41 ++\n>  src/ipa/libipa/algorithms/meson.build         |  11 +\n>  src/ipa/libipa/meson.build                    |   6 +\n>  src/ipa/rkisp1/algorithms/af.cpp              | 182 +++++++++\n>  src/ipa/rkisp1/algorithms/af.h                |  51 +++\n>  src/ipa/rkisp1/algorithms/meson.build         |   1 +\n>  src/ipa/rkisp1/data/meson.build               |   1 +\n>  src/ipa/rkisp1/data/ov5675.yaml               |  20 +\n>  src/ipa/rkisp1/ipa_context.h                  |   5 +\n>  src/ipa/rkisp1/rkisp1.cpp                     |  23 ++\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  21 +\n>  15 files changed, 932 insertions(+)\n>  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.cpp\n>  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.h\n>  create mode 100644 src/ipa/libipa/algorithms/af_interface.cpp\n>  create mode 100644 src/ipa/libipa/algorithms/af_interface.h\n>  create mode 100644 src/ipa/libipa/algorithms/meson.build\n>  create mode 100644 src/ipa/rkisp1/algorithms/af.cpp\n>  create mode 100644 src/ipa/rkisp1/algorithms/af.h\n>  create mode 100644 src/ipa/rkisp1/data/ov5675.yaml\n>\n> --\n> 2.39.0\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 107BFBDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  7 Feb 2023 15:41:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 54563625F4;\n\tTue,  7 Feb 2023 16:41:40 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 66F87625DF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  7 Feb 2023 16:41:39 +0100 (CET)","from ideasonboard.com (host-79-35-57-126.retail.telecomitalia.it\n\t[79.35.57.126])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B4C244AF;\n\tTue,  7 Feb 2023 16:41:38 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675784500;\n\tbh=yPKBf0knSMCKZ99hTRiI2lV4eTSWrqEo0cHa5Mpjw/c=;\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=WyqZafzdFI6m7fFZEkXB2jwCy2zeVH6iwrgwXMOMvpmdmdiErmVt9XgPZK/RT0Kee\n\tMGeiusweai8GkHNpYTHzKEdazUvXxeWf/7PnitUVlhMPMGaBQQ/rWlzZpliM5bn49O\n\tNwwX4EwCo5xMxPocDDXtZXar45j0aLS9CLbUfLksHU5Eyj/P6gmnATwFWqiOWLeNbx\n\t6dwLHcjrdXBTX6Tem9JSQ5lPc3eh2VfI6bdkhfDiUQcDX5Q8SMHBxcWb3seoFQlmxO\n\tZaCZDBFklURFRBubQRVH7eYUlc9Ma6RiQG6n9K4EoPobkBXV/4i4JdqriuMRaW8+gX\n\tMsqCIBuSkMMaw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1675784499;\n\tbh=yPKBf0knSMCKZ99hTRiI2lV4eTSWrqEo0cHa5Mpjw/c=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=YaDDnKRcuqMYH7cDP5tE0bm9l0eVUx7bBBzOsp1j91isyGnLCqtI81qQxuLBn3CMx\n\tzSQXmd4N/M29aueZslISPTMRkQAOwiyEkL0D5EFKkSc0hYbJyAbAKap64GaSjoTK3V\n\tviF3nq/XkTUgy5Ve3i/XT0cbOEOb9wBxvpwoLXuA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"YaDDnKRc\"; dkim-atps=neutral","Date":"Tue, 7 Feb 2023 16:41:35 +0100","To":"Daniel Semkowicz <dse@thaumatec.com>, matthias.fend@emfend.at","Message-ID":"<20230207154135.3oqwmpqasiezuowy@uno.localdomain>","References":"<20230119084112.20564-1-dse@thaumatec.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230119084112.20564-1-dse@thaumatec.com>","Subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","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@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26595,"web_url":"https://patchwork.libcamera.org/comment/26595/","msgid":"<CAHgnY3knkbkT0FVuRi2ysm5qXbcDgS4n9BiYVCN4zVEGaR_QWg@mail.gmail.com>","date":"2023-03-08T06:31:51","subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":126,"url":"https://patchwork.libcamera.org/api/people/126/","name":"Daniel Semkowicz","email":"dse@thaumatec.com"},"content":"Hi Jacopo,\n\nFirst, sorry for the late response...\n\nOn Tue, Feb 7, 2023 at 4:41 PM Jacopo Mondi\n<jacopo.mondi@ideasonboard.com> wrote:\n>\n> Hi Daniel\n>\n> On Thu, Jan 19, 2023 at 09:41:04AM +0100, Daniel Semkowicz via libcamera-devel wrote:\n> > Hi!\n> >\n> > This is a patch series with a common AF algorithm implementation\n> > basing on the IPU3 AF version. The common part was then used to\n> > implement AF for the rkisp1 ISP.\n> >\n> > Early version of this serie was uploaded in the July, but there were\n> > some change in the IPA in the meantime. The current version was updated\n> > to the new IPA code and has most of the comments from the v2 review\n> > fixed.\n>\n> I managed to test your series with a different camera module, in CAF mode.\n>\n> I'm very happy with the result! it's contrast based so it's not\n> comparable with the performances of a PDAF sensor, but it works\n> well and proves I was over-concerned about CAF mode with contrast\n> based algorithms!\n\nGood to hear that! CAF mode can be improved a bit further to make\nthe focusing more smooth. Currently, it just triggers focusing\nfrom position 0 when it detects major change in contrast. We could\nstart the focusing from the current lens position instead of resetting\nit to 0. However, this is something I would consider adding later\non top of these changes.\n\n>\n> I think the part that still need some work is the discussion about the\n> class hierarchy, but I'm in favour of moving forward with the series\n> and iterate on top with more fine-grained support for more complex\n> scenarios and integrate with the work Matthias has done for advanced\n> optics.\n\nAs you already mentioned, the performance comparing to the PDAF sensor\nwill be worse. The main problem I see with the contrast based AF,\nis the reaction on changing lighting conditions. This will affect\nthe contrast value, and it can trigger the AF in continuous mode.\nHowever, this will be hard to improve. At least, I do not have any\nidea on that...\n\n>\n> What do you think about the class hierachy design ? Is this something\n> you would like to consider discussing ?\n\nSure, I am open to discussion. will put additional comments in the related\npatches.\n\nBest regards\nDaniel Semkowicz\n\n>\n> Thanks!!\n>    j\n>\n> >\n> > Best regards\n> > Daniel Semkowicz\n> >\n> > Daniel Semkowicz (8):\n> >   rkisp1: Add camera lens to PH and expose it to the IPA\n> >   rkisp1: Control camera lens position from IPA\n> >   ipa: Add base class defining AF algorithm interface\n> >   ipa: Add class that implements base AF control algorithm\n> >   ipa: rkisp1: Add AF algorithm basing on common AfHillClimbing class\n> >   pipeline: rkisp1: Add basic AF controls to the supported controls list\n> >   ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n> >   ipa: rkisp1: Add OV5675 tuning file\n> >\n> >  include/libcamera/ipa/rkisp1.mojom            |   2 +\n> >  .../libipa/algorithms/af_hill_climbing.cpp    | 374 ++++++++++++++++++\n> >  src/ipa/libipa/algorithms/af_hill_climbing.h  | 102 +++++\n> >  src/ipa/libipa/algorithms/af_interface.cpp    |  92 +++++\n> >  src/ipa/libipa/algorithms/af_interface.h      |  41 ++\n> >  src/ipa/libipa/algorithms/meson.build         |  11 +\n> >  src/ipa/libipa/meson.build                    |   6 +\n> >  src/ipa/rkisp1/algorithms/af.cpp              | 182 +++++++++\n> >  src/ipa/rkisp1/algorithms/af.h                |  51 +++\n> >  src/ipa/rkisp1/algorithms/meson.build         |   1 +\n> >  src/ipa/rkisp1/data/meson.build               |   1 +\n> >  src/ipa/rkisp1/data/ov5675.yaml               |  20 +\n> >  src/ipa/rkisp1/ipa_context.h                  |   5 +\n> >  src/ipa/rkisp1/rkisp1.cpp                     |  23 ++\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  21 +\n> >  15 files changed, 932 insertions(+)\n> >  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.cpp\n> >  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.h\n> >  create mode 100644 src/ipa/libipa/algorithms/af_interface.cpp\n> >  create mode 100644 src/ipa/libipa/algorithms/af_interface.h\n> >  create mode 100644 src/ipa/libipa/algorithms/meson.build\n> >  create mode 100644 src/ipa/rkisp1/algorithms/af.cpp\n> >  create mode 100644 src/ipa/rkisp1/algorithms/af.h\n> >  create mode 100644 src/ipa/rkisp1/data/ov5675.yaml\n> >\n> > --\n> > 2.39.0\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 25369BDE17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  8 Mar 2023 06:32:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5709462693;\n\tWed,  8 Mar 2023 07:32:05 +0100 (CET)","from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com\n\t[IPv6:2a00:1450:4864:20::52c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0F9F761ED7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  8 Mar 2023 07:32:03 +0100 (CET)","by mail-ed1-x52c.google.com with SMTP id s11so61575414edy.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 07 Mar 2023 22:32:03 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678257125;\n\tbh=859GME9uD/Jtuk1RTnb63EHWA1f7SSVrOyFAI5v0+7M=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=n9rO0+diG7eaf6C8Q53o9OqqHyCZKoDytrYpm2TR0U4/4KnzdWULc/iczz5hI68NO\n\tytjXFA0M3hpPSiVeP+/aofd/Q60qGm+lFqIB1qV+A9hrH3fw+i21ATLJJ8uyWT+x9m\n\tHeF7isVJqFbz2lDpp0K1h7v+tPpLU4PtOJcIDftP8oLKLzUhb9+nlhDGhE3WLkTkOP\n\t49J9w4HLkOsgEEul/MFPKHxDtkN73sgZeR0r3PVaJjzrvqrVxfANRTk4fNkTT2zWb6\n\tw0E+nNlWh33LyMWuNTPjb2M0HIvpEgq6QPw/2KbsYlY/ilOM12IJhfYEvZ7wzobaXq\n\t1uhjj0Yopca1w==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=thaumatec-com.20210112.gappssmtp.com; s=20210112; t=1678257122;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=z7nXf7msp+fjcrWuXitQpDquVcpeBfJRoqCk76D/LeY=;\n\tb=04AU0baPQ5xKIu5EXQyzAgIFtXhuCscGp7c8OUJdVI5ukMoReRY/1xwbiEl8sob2wU\n\tteb38QbP7iPO9LpQMj3+j1Og1VV8/GQAOmePUbgA05r7RPbtDYSJltu0LzU9/nKhu6uV\n\t5KYI+kLEl7xRQkFcBocjQfDtt/T7edui8ch54yZ89AyPOJYli/OlYNhf3OoS79BXQG8j\n\tuYWZYKzN0fETDS5g6k65w/Y9WnFajYCutGoFLysv5FUM7vP2k/v53HiFm1uWM7Jifz2b\n\tfZdadPDWeFwKLuSCgoiI3W29mImK2MSELKCvsAqyNx5Bl3eLi0iNs5g4mJIppjcIqAc3\n\tv1iQ=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=thaumatec-com.20210112.gappssmtp.com\n\theader.i=@thaumatec-com.20210112.gappssmtp.com header.b=\"04AU0baP\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112; t=1678257122;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=z7nXf7msp+fjcrWuXitQpDquVcpeBfJRoqCk76D/LeY=;\n\tb=O6i7K2qdZj0xPAfAjyfcHQ3PtwSYFRh1VNT6bjaoUWdYxDQA9vL2p6SJHCrmIreXcz\n\t00mAE/2Y1KX6C53VfPXdkhYtt424DCbewN4tww//c398TSiM6F5XmaGOAqZv7SByU/un\n\towPIYxz+k/nAWWLpZJScC6oEn23ffe8ZlcbNr7QgIISO5edvZqjToUWPvUEnr4d4L4RI\n\t7KDPFmxERasij1IH13myXEAFAqVpC9Sba6d7aVlV4hmpqDa+COHkOO/mdrPX+P7WogZY\n\tXTSwWa2b2jMLsHddJTuZgE7ftRNioeLmqbJP/ekYcvML1/1/Aq/o8DT5Neqf7dI9UEEc\n\tZBvA==","X-Gm-Message-State":"AO0yUKVY6Udn2z/+9v3t3GY0rNrq77TrzauNm9uGDVd5fhF+vTgihN7B\n\thhZRGaOxMn3rJ6RjaFUxtt2vKMp+JTr2qalHlwrhN3LwOndXR0i7ZtM=","X-Google-Smtp-Source":"AK7set/Oe2bULEUClng9qbldImStmW/wGolRIIj+0F1gJaI+meN3VkNquhNAmUxAoPZmHMrXjDK03BdzTFOkvo8T/FY=","X-Received":"by 2002:a17:906:6dc1:b0:888:b471:8e18 with SMTP id\n\tj1-20020a1709066dc100b00888b4718e18mr7864058ejt.8.1678257122499;\n\tTue, 07 Mar 2023 22:32:02 -0800 (PST)","MIME-Version":"1.0","References":"<20230119084112.20564-1-dse@thaumatec.com>\n\t<20230207154135.3oqwmpqasiezuowy@uno.localdomain>","In-Reply-To":"<20230207154135.3oqwmpqasiezuowy@uno.localdomain>","Date":"Wed, 8 Mar 2023 07:31:51 +0100","Message-ID":"<CAHgnY3knkbkT0FVuRi2ysm5qXbcDgS4n9BiYVCN4zVEGaR_QWg@mail.gmail.com>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","Subject":"Re: [libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","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":"Daniel Semkowicz via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Daniel Semkowicz <dse@thaumatec.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]