[{"id":23831,"web_url":"https://patchwork.libcamera.org/comment/23831/","msgid":"<20220712091700.knknxuhouj2az7p3@uno.localdomain>","date":"2022-07-12T09:17:00","subject":"Re: [libcamera-devel] [PATCH 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Daniel,\n   just a note to let you know this has not gone forgotten. I've very\nkeen in looking into that. I spent some time setting up a rockpi4\nwhere I can connect an imx519 camera module which has a lens.\n\nI'll keep working to test your series there!\n\nThanks\n   j\n\nOn Thu, Jun 30, 2022 at 04:35:35PM +0200, Daniel Semkowicz via libcamera-devel wrote:\n> Hello,\n>\n> The following set of patches introduces an autofocus algorithm for\n> rkisp1 platforms. As there are common parts of code in the IPU3, RPi and\n> now they would be repeated in rkisp1, I tried to separate the main\n> control part of the AF algorithm in the new AfHillClimbing class.\n>\n> These changes make use of the freshly introduced algorithm registration\n> mechanism. As there was a missing part for the easy way to get the\n> specific algorithm from the dynamically loaded list, I added\n> getAlgorithm<AlgoType>() method to the Module class that. It was\n> implemented in the fastest way to get it working, but I think we should\n> improve it later. Maybe it would be good to extend algorithm creation\n> and store also the name of corresponding algorithm to allow calling it\n> by name instead of type. Especially that algorithms are loaded from\n> tuning file by name.\n>\n> I am not sure if the directory structure I have chosen for the common\n> code is a good place, so please correct me if I should place it\n> somewhere else.\n>\n> Doxygen documentation part should be, for sure, more detailed, but I\n> firstly want to wait for your comments about the code, just in case if\n> there were any changes to the design.\n>\n> These changes depend on the \"libcamera: rkisp1: Add lens control\"\n> changes that are still in the review process.\n> Link: https://patchwork.libcamera.org/project/libcamera/list/?series=3228\n>\n> I am waiting for your comments :)\n>\n> Best regards\n> Daniel Semkowicz\n>\n> Daniel Semkowicz (8):\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: module: Add getAlgorithm() method\n>   ipa: rkisp1: Pass requests setting AF controls to the AF algorithm\n>   ipa: rkisp1: Add OV5675 tuning file\n>   ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n>\n>  src/ipa/libipa/algorithms/af_algorithm.cpp    |  77 ++++++\n>  src/ipa/libipa/algorithms/af_algorithm.h      |  39 +++\n>  .../libipa/algorithms/af_hill_climbing.cpp    |  89 +++++++\n>  src/ipa/libipa/algorithms/af_hill_climbing.h  | 251 ++++++++++++++++++\n>  src/ipa/libipa/algorithms/meson.build         |  11 +\n>  src/ipa/libipa/meson.build                    |   6 +\n>  src/ipa/libipa/module.cpp                     |   7 +\n>  src/ipa/libipa/module.h                       |  17 ++\n>  src/ipa/rkisp1/algorithms/af.cpp              | 132 +++++++++\n>  src/ipa/rkisp1/algorithms/af.h                |  41 +++\n>  src/ipa/rkisp1/algorithms/meson.build         |   1 +\n>  src/ipa/rkisp1/data/meson.build               |   1 +\n>  src/ipa/rkisp1/data/ov5675.yaml               |  12 +\n>  src/ipa/rkisp1/rkisp1.cpp                     |  72 ++++-\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  12 +-\n>  15 files changed, 762 insertions(+), 6 deletions(-)\n>  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.cpp\n>  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.h\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/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.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 CD08BBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Jul 2022 09:17:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 218686330F;\n\tTue, 12 Jul 2022 11:17:06 +0200 (CEST)","from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7814C6330E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 11:17:04 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id E1968100004;\n\tTue, 12 Jul 2022 09:17:02 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657617426;\n\tbh=PpDh3eTt6bC/i3AkcU2BUP1aemN+TpiSl66ClT6nVMM=;\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=Ghhf/OCbF66dzVMbIiA7Y1trU+DzzJXMRwGzSsAHAfY/m8lSIE4tp9PbQ0Za1I7sL\n\t/mVMKU4+D0YGjHp1XXUBTWaOtng4JkxCWg7iV4YFcHn+OGXihJ/8gnIfivtj/1wIti\n\tPGmKi9i/icUvTxT1GbwXXJFV42O2CD/GkZd+y/7GAh9sgF8x06kSVsLy+rSlkXhleR\n\tQi3gxdT8F5VcVlSDTrApNraN0JMhsjT4GQTXMI0zLfARM1uzJa+qzcCoKKAcZGq7ok\n\tUsLSE7254GFTgEdtCcsGkzoSk7fhCZVWygi9cO4oqjZ/aNyS65oqwFXMS6/uWOzQRr\n\te9XEc+ZFrdUzw==","Date":"Tue, 12 Jul 2022 11:17:00 +0200","To":"Daniel Semkowicz <dse@thaumatec.com>","Message-ID":"<20220712091700.knknxuhouj2az7p3@uno.localdomain>","References":"<20220630143543.39599-1-dse@thaumatec.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220630143543.39599-1-dse@thaumatec.com>","Subject":"Re: [libcamera-devel] [PATCH 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@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23836,"web_url":"https://patchwork.libcamera.org/comment/23836/","msgid":"<CAHgnY3ke+o0VBg1-qKymmv-E=g_yiN1q0_w+xdGLhQiy4J+SLA@mail.gmail.com>","date":"2022-07-12T12:13:20","subject":"Re: [libcamera-devel] [PATCH 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\nThank you for the information about the state. I see there is a lot of\ntraffic on libcamera mailing list, so I thought you probably have a\nlot of work :)\n\nIn the mean time I tested my changes on different platform and found one\nissue that needs an improvement, so I have two additional commits to\nthis series. Should I send them separately or resend this series as new\nversion with additional commits? There are no changes in already pushed\ncommits.\n\nBest regards\nDaniel\n\nOn Tue, Jul 12, 2022 at 11:17 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> Hi Daniel,\n>    just a note to let you know this has not gone forgotten. I've very\n> keen in looking into that. I spent some time setting up a rockpi4\n> where I can connect an imx519 camera module which has a lens.\n>\n> I'll keep working to test your series there!\n>\n> Thanks\n>    j\n>\n> On Thu, Jun 30, 2022 at 04:35:35PM +0200, Daniel Semkowicz via libcamera-devel wrote:\n> > Hello,\n> >\n> > The following set of patches introduces an autofocus algorithm for\n> > rkisp1 platforms. As there are common parts of code in the IPU3, RPi and\n> > now they would be repeated in rkisp1, I tried to separate the main\n> > control part of the AF algorithm in the new AfHillClimbing class.\n> >\n> > These changes make use of the freshly introduced algorithm registration\n> > mechanism. As there was a missing part for the easy way to get the\n> > specific algorithm from the dynamically loaded list, I added\n> > getAlgorithm<AlgoType>() method to the Module class that. It was\n> > implemented in the fastest way to get it working, but I think we should\n> > improve it later. Maybe it would be good to extend algorithm creation\n> > and store also the name of corresponding algorithm to allow calling it\n> > by name instead of type. Especially that algorithms are loaded from\n> > tuning file by name.\n> >\n> > I am not sure if the directory structure I have chosen for the common\n> > code is a good place, so please correct me if I should place it\n> > somewhere else.\n> >\n> > Doxygen documentation part should be, for sure, more detailed, but I\n> > firstly want to wait for your comments about the code, just in case if\n> > there were any changes to the design.\n> >\n> > These changes depend on the \"libcamera: rkisp1: Add lens control\"\n> > changes that are still in the review process.\n> > Link: https://patchwork.libcamera.org/project/libcamera/list/?series=3228\n> >\n> > I am waiting for your comments :)\n> >\n> > Best regards\n> > Daniel Semkowicz\n> >\n> > Daniel Semkowicz (8):\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: module: Add getAlgorithm() method\n> >   ipa: rkisp1: Pass requests setting AF controls to the AF algorithm\n> >   ipa: rkisp1: Add OV5675 tuning file\n> >   ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n> >\n> >  src/ipa/libipa/algorithms/af_algorithm.cpp    |  77 ++++++\n> >  src/ipa/libipa/algorithms/af_algorithm.h      |  39 +++\n> >  .../libipa/algorithms/af_hill_climbing.cpp    |  89 +++++++\n> >  src/ipa/libipa/algorithms/af_hill_climbing.h  | 251 ++++++++++++++++++\n> >  src/ipa/libipa/algorithms/meson.build         |  11 +\n> >  src/ipa/libipa/meson.build                    |   6 +\n> >  src/ipa/libipa/module.cpp                     |   7 +\n> >  src/ipa/libipa/module.h                       |  17 ++\n> >  src/ipa/rkisp1/algorithms/af.cpp              | 132 +++++++++\n> >  src/ipa/rkisp1/algorithms/af.h                |  41 +++\n> >  src/ipa/rkisp1/algorithms/meson.build         |   1 +\n> >  src/ipa/rkisp1/data/meson.build               |   1 +\n> >  src/ipa/rkisp1/data/ov5675.yaml               |  12 +\n> >  src/ipa/rkisp1/rkisp1.cpp                     |  72 ++++-\n> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  12 +-\n> >  15 files changed, 762 insertions(+), 6 deletions(-)\n> >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.cpp\n> >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.h\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/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.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 91C9CBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Jul 2022 12:13:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BD1196330F;\n\tTue, 12 Jul 2022 14:13:33 +0200 (CEST)","from mail-lf1-x134.google.com (mail-lf1-x134.google.com\n\t[IPv6:2a00:1450:4864:20::134])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4055060402\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 14:13:32 +0200 (CEST)","by mail-lf1-x134.google.com with SMTP id t25so13605164lfg.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 05:13:32 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657628013;\n\tbh=Wf3bF4bENYf3msbinP1pKSZzy1S+gLIsrE7WEFUpw6A=;\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=A9Z0mfUTaq9yOdO5chHctJrM8ucWIuPE45bz/8aHzptSX/e/fg6FPGg+YM3ioZYIW\n\tHd+D0dtvBmFt4oZSCB/ZiR+UtTNL8J8B/4d0mxTOe207gInGfs/2NkP/Ot5CTPdW81\n\tHpw5ixduNAuy7CV6QktN/w3ShMApkHI/GnYXSvJzCkrv69HwjXBgWr+0UH/y+nDvpJ\n\tRWre6hTcB9CoXznAgZH+kpHBD0aaJF9up24JcGDzdGPMcmERTVn1ok1LPRPhNvVayT\n\ttEVdnFh8xw2T7YQ6bK3CgeVKRwXCz8c/1jEHx4IM4gwgBnX8n1nwl/wbuzTUxMh7T0\n\ttGkyJDINBxKiQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=thaumatec-com.20210112.gappssmtp.com; s=20210112;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=7lk//9Wn9q4t3DKlDx7FTZlSkjcQwpBX3v+CMWUdpkc=;\n\tb=sCTOF4MaHsWqzC5IppQk1P/8+1i1anJm5FRVnHnCUw2rOpuKj5eALtXtZ1vbol9+d1\n\tBjT4JQQZ2RstrL3NED1KGKMlrntBmZIptvRBvhLD7TRfL0Pwcl8C1XdU0n09GXAjTpux\n\tJKvHi/Mq9PbH47MviUY42WNbFCZp5bLBXUgY+oHDk1JqNpsrR1ZDEMSu3Cx9TvKzCRws\n\t6pFyE08LwoCuqCSIKFWoNhMp6ly4e/jadXaEd4EizZ3RjfPhP9GFxcbwEA1kGcBnCa2d\n\tYWj/ty3XpkDI+1MwnM3OGKYmoPpWF2nziV+ME2Je2fIdGK3vgEM9BmvzmI4vYxgKf7O1\n\t0lMQ=="],"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=\"sCTOF4Ma\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=7lk//9Wn9q4t3DKlDx7FTZlSkjcQwpBX3v+CMWUdpkc=;\n\tb=G+a72qY/QoZeMyaRYrwmhJF3nnAF/pI1dyy7RWBZ9oNvn7dSv4zL5poB7YmH9EOrjo\n\tR2lLYuAPM4amFWjLo1/vTE5xuLWVNhyeK8vbUyaoMgM080auQ+4+48LN/+6ch9l4KoWC\n\t+0bvZjWsuG7KTu6weTns3F9pMNL+Nt2qrd2gE22Bho9tKpkl96hL5OLYKJeY9jPvNTcZ\n\tiu0SBWp3MXQaWxBUKnZb85wizEH7N3KlZyBtHXH2tl6FviZwFb2Mw0crQ50g/e4mf2qA\n\tKikTb4MqY4CL5kWkV08zN2rKgPKEgKPVHJU0IOQDXXovMb20Q/W9glecoatuVZuJgcea\n\tYAJA==","X-Gm-Message-State":"AJIora9CCM0ZLNUgkOplYuouDD9RLe5qEUNn/Ry2+/PJwrgGc7gy4NJ6\n\tFaNOb3F0YhgJ1Wk/FGZbt6qTTAPKFpoq77LBmVPywA==","X-Google-Smtp-Source":"AGRyM1u/mCqf7FFY4MTvXG2J6148l/s/VcCHq7iGg6ZqLLh77sEOrRrkbMmR5zbi5EVw9wt2Co+iVtEBqkj/41knCxc=","X-Received":"by 2002:a05:6512:12c7:b0:481:51ff:d027 with SMTP id\n\tp7-20020a05651212c700b0048151ffd027mr14629615lfg.577.1657628011376;\n\tTue, 12 Jul 2022 05:13:31 -0700 (PDT)","MIME-Version":"1.0","References":"<20220630143543.39599-1-dse@thaumatec.com>\n\t<20220712091700.knknxuhouj2az7p3@uno.localdomain>","In-Reply-To":"<20220712091700.knknxuhouj2az7p3@uno.localdomain>","Date":"Tue, 12 Jul 2022 14:13:20 +0200","Message-ID":"<CAHgnY3ke+o0VBg1-qKymmv-E=g_yiN1q0_w+xdGLhQiy4J+SLA@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 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>"}},{"id":23837,"web_url":"https://patchwork.libcamera.org/comment/23837/","msgid":"<20220712130727.4dxaysffxgng6snr@uno.localdomain>","date":"2022-07-12T13:07:27","subject":"Re: [libcamera-devel] [PATCH 0/8] ipa: rkisp1: Add autofocus\n\talgorithm","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Daniel,\n\nOn Tue, Jul 12, 2022 at 02:13:20PM +0200, Daniel Semkowicz wrote:\n> Hi Jacopo,\n>\n> Thank you for the information about the state. I see there is a lot of\n> traffic on libcamera mailing list, so I thought you probably have a\n> lot of work :)\n>\n> In the mean time I tested my changes on different platform and found one\n> issue that needs an improvement, so I have two additional commits to\n> this series. Should I send them separately or resend this series as new\n> version with additional commits? There are no changes in already pushed\n> commits.\n\nPlease send a new series, so that the state is kept in a single\nthread.\n\nThanks\n  j\n\n>\n> Best regards\n> Daniel\n>\n> On Tue, Jul 12, 2022 at 11:17 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n> >\n> > Hi Daniel,\n> >    just a note to let you know this has not gone forgotten. I've very\n> > keen in looking into that. I spent some time setting up a rockpi4\n> > where I can connect an imx519 camera module which has a lens.\n> >\n> > I'll keep working to test your series there!\n> >\n> > Thanks\n> >    j\n> >\n> > On Thu, Jun 30, 2022 at 04:35:35PM +0200, Daniel Semkowicz via libcamera-devel wrote:\n> > > Hello,\n> > >\n> > > The following set of patches introduces an autofocus algorithm for\n> > > rkisp1 platforms. As there are common parts of code in the IPU3, RPi and\n> > > now they would be repeated in rkisp1, I tried to separate the main\n> > > control part of the AF algorithm in the new AfHillClimbing class.\n> > >\n> > > These changes make use of the freshly introduced algorithm registration\n> > > mechanism. As there was a missing part for the easy way to get the\n> > > specific algorithm from the dynamically loaded list, I added\n> > > getAlgorithm<AlgoType>() method to the Module class that. It was\n> > > implemented in the fastest way to get it working, but I think we should\n> > > improve it later. Maybe it would be good to extend algorithm creation\n> > > and store also the name of corresponding algorithm to allow calling it\n> > > by name instead of type. Especially that algorithms are loaded from\n> > > tuning file by name.\n> > >\n> > > I am not sure if the directory structure I have chosen for the common\n> > > code is a good place, so please correct me if I should place it\n> > > somewhere else.\n> > >\n> > > Doxygen documentation part should be, for sure, more detailed, but I\n> > > firstly want to wait for your comments about the code, just in case if\n> > > there were any changes to the design.\n> > >\n> > > These changes depend on the \"libcamera: rkisp1: Add lens control\"\n> > > changes that are still in the review process.\n> > > Link: https://patchwork.libcamera.org/project/libcamera/list/?series=3228\n> > >\n> > > I am waiting for your comments :)\n> > >\n> > > Best regards\n> > > Daniel Semkowicz\n> > >\n> > > Daniel Semkowicz (8):\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: module: Add getAlgorithm() method\n> > >   ipa: rkisp1: Pass requests setting AF controls to the AF algorithm\n> > >   ipa: rkisp1: Add OV5675 tuning file\n> > >   ipa: rkisp1: Add \"Windows\" Metering mode to auto focus algorithm\n> > >\n> > >  src/ipa/libipa/algorithms/af_algorithm.cpp    |  77 ++++++\n> > >  src/ipa/libipa/algorithms/af_algorithm.h      |  39 +++\n> > >  .../libipa/algorithms/af_hill_climbing.cpp    |  89 +++++++\n> > >  src/ipa/libipa/algorithms/af_hill_climbing.h  | 251 ++++++++++++++++++\n> > >  src/ipa/libipa/algorithms/meson.build         |  11 +\n> > >  src/ipa/libipa/meson.build                    |   6 +\n> > >  src/ipa/libipa/module.cpp                     |   7 +\n> > >  src/ipa/libipa/module.h                       |  17 ++\n> > >  src/ipa/rkisp1/algorithms/af.cpp              | 132 +++++++++\n> > >  src/ipa/rkisp1/algorithms/af.h                |  41 +++\n> > >  src/ipa/rkisp1/algorithms/meson.build         |   1 +\n> > >  src/ipa/rkisp1/data/meson.build               |   1 +\n> > >  src/ipa/rkisp1/data/ov5675.yaml               |  12 +\n> > >  src/ipa/rkisp1/rkisp1.cpp                     |  72 ++++-\n> > >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  12 +-\n> > >  15 files changed, 762 insertions(+), 6 deletions(-)\n> > >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.cpp\n> > >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.h\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/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.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 39FB4BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Jul 2022 13:07:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8893B63313;\n\tTue, 12 Jul 2022 15:07:31 +0200 (CEST)","from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 149E06330B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 15:07:30 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 605ED60007;\n\tTue, 12 Jul 2022 13:07:29 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657631251;\n\tbh=H7iOE44w55R7QiGcfjZDP6+sCyA87inpAHOv4GbEkak=;\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=13lLTZqNa0/Z4EHrlcIdh7/rglPhtOubCJWS1yCmQL/tVIJ/XogVSt55rclQ/2MZw\n\tk5aNaiE/+mz3xinRUIzI1KuRp7YlR9iWdv7GBhBQMm8ROeB6lhp8QFlrmOEpUT1vQM\n\t96dDRW7OJCUfyq2uDAak9OiLVvxampCxJ3Zcwjam0c8Sg679b03tn1xJ045TLhQhpn\n\tl8eQ8at0dDK343MLubXEwpPjB+PDMu3aK+wBQOrMDK5pCc0ZXxxk8S5fUV4jXfXj2m\n\tmNdb+2zqkAvf/58/nJrgATq8wgFPTaB+EKE33pLlEaVu6bYCHYmN8ThQMSExQJy8z+\n\tAhmUtFJDicYiA==","Date":"Tue, 12 Jul 2022 15:07:27 +0200","To":"Daniel Semkowicz <dse@thaumatec.com>","Message-ID":"<20220712130727.4dxaysffxgng6snr@uno.localdomain>","References":"<20220630143543.39599-1-dse@thaumatec.com>\n\t<20220712091700.knknxuhouj2az7p3@uno.localdomain>\n\t<CAHgnY3ke+o0VBg1-qKymmv-E=g_yiN1q0_w+xdGLhQiy4J+SLA@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAHgnY3ke+o0VBg1-qKymmv-E=g_yiN1q0_w+xdGLhQiy4J+SLA@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 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@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]