[{"id":14419,"web_url":"https://patchwork.libcamera.org/comment/14419/","msgid":"<aa95d30c-ac75-f0e5-8d57-87d7bc422db8@ideasonboard.com>","date":"2020-12-30T16:38:55","subject":"Re: [libcamera-devel] [PATCH v2 00/11] libcamera: ipu3: Attach to\n\tan skeleton IPA","submitter":{"id":75,"url":"https://patchwork.libcamera.org/api/people/75/","name":"Jean-Michel Hautbois","email":"jeanmichel.hautbois@ideasonboard.com"},"content":"Hi Niklas,\n\nThanks for the patchset !\n\nOn 29/12/2020 17:03, Niklas Söderlund wrote:\n> Hello,\n> \n> This series adds an IPA skeleton for the IPU3 pipeline. The IPA itself\n> supports mapping of parameter and statistic buffers as well as pushing\n> V4L2 controls to the camera sensor. It does however not read or write\n> anything into the buffers given to it during the capture process. It\n> also adds all the plumbing inside IPU3 pipeline to function with an IPA\n> while of of course retaining all the different capture setups previously\n> supported.\n> \n> The idea is to prepare for adding algorithms in the IPA on-top without\n> having to worry about all the plumbing inside the pipeline handler. This\n> will likely happen in two steps. A first where fake algorithms are added\n> to generate metadata to be used in further development of cam and the\n> Android HAL. Then a follow up step where the fake ones are replaced with\n> real ones.\n> \n> This series depends on the DelayedControls work.\n\nCan you tell what differs between v1 and v2 ?\n\n> Niklas Söderlund (11):\n>   include: linux: Add ipu3 kernel header and format definitions\n>   libcamera: ipu3: imgu: Configure the stat video device as part of\n>     configure()\n>   libcamera: ipu3: imgu: Add parameters video device\n>   libcamera: ipu3: cio2: Return the FrameBuffer pointer used\n>   libcamera: ipu3: cio2: Generate start of frame event\n>   libcamera: ipa: ipu3: Add an IPA skeleton for the IPU3 pipeline\n>   libcamera: ipu3: Attach to an IPA and allow it to set sensor controls\n>   libcamera: ipu3: imgu: Allocate buffers for stats and param\n>   libcamera: ipu3: Map buffers in IPA\n>   libcamera: ipu3: Add helper for parameter and statistic buffers\n>   libcamera: ipu3: Share parameter and statistic buffers with IPA\n> \n>  include/libcamera/ipa/ipu3.h            |   23 +\n>  include/linux/intel-ipu3.h              | 2785 +++++++++++++++++++++++\n>  src/ipa/ipu3/ipu3.cpp                   |  236 ++\n>  src/ipa/ipu3/meson.build                |   21 +\n>  src/ipa/meson.build                     |    2 +-\n>  src/libcamera/pipeline/ipu3/cio2.cpp    |   28 +-\n>  src/libcamera/pipeline/ipu3/cio2.h      |    5 +-\n>  src/libcamera/pipeline/ipu3/frames.cpp  |  141 ++\n>  src/libcamera/pipeline/ipu3/frames.h    |   63 +\n>  src/libcamera/pipeline/ipu3/imgu.cpp    |   60 +-\n>  src/libcamera/pipeline/ipu3/imgu.h      |   13 +-\n>  src/libcamera/pipeline/ipu3/ipu3.cpp    |  261 ++-\n>  src/libcamera/pipeline/ipu3/meson.build |    1 +\n>  13 files changed, 3590 insertions(+), 49 deletions(-)\n>  create mode 100644 include/libcamera/ipa/ipu3.h\n>  create mode 100644 include/linux/intel-ipu3.h\n>  create mode 100644 src/ipa/ipu3/ipu3.cpp\n>  create mode 100644 src/ipa/ipu3/meson.build\n>  create mode 100644 src/libcamera/pipeline/ipu3/frames.cpp\n>  create mode 100644 src/libcamera/pipeline/ipu3/frames.h\n> \n\n--\nJM","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 3AFCFC0F1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Dec 2020 16:38:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8C328615B4;\n\tWed, 30 Dec 2020 17:38:57 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 41FAD60526\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Dec 2020 17:38:56 +0100 (CET)","from [IPv6:2a01:e0a:169:7140:a3f5:d5c:b0c8:4cf1] (unknown\n\t[IPv6:2a01:e0a:169:7140:a3f5:d5c:b0c8:4cf1])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D8D382A3;\n\tWed, 30 Dec 2020 17:38:55 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NTuMEJ2z\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1609346335;\n\tbh=eYpS6pl+ni2CTkavYi6gk9txHf9FQqcGSa/OsOqO2YE=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=NTuMEJ2zvNl1bYt02gG4v8jyvLQ6hsDt+n3KAjvmkqaJag8WUcIbpoQ7IlOzuxG1y\n\tHMLajb243BfztzHGK/cMeNhDwoabniZgDOw3gJlNPfjbhyVsvYgxgYdGyQLIqQxfYf\n\tfy04YxOM32QMKEx2gZqWYBihx3IoLHq9ayVxnT3U=","To":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20201229160318.77536-1-niklas.soderlund@ragnatech.se>","From":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<aa95d30c-ac75-f0e5-8d57-87d7bc422db8@ideasonboard.com>","Date":"Wed, 30 Dec 2020 17:38:55 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.5.0","MIME-Version":"1.0","In-Reply-To":"<20201229160318.77536-1-niklas.soderlund@ragnatech.se>","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v2 00/11] libcamera: ipu3: Attach to\n\tan skeleton IPA","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>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":14421,"web_url":"https://patchwork.libcamera.org/comment/14421/","msgid":"<X+zF0rzOQVIf+pRA@oden.dyn.berto.se>","date":"2020-12-30T18:24:18","subject":"Re: [libcamera-devel] [PATCH v2 00/11] libcamera: ipu3: Attach to\n\tan skeleton IPA","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Jean-Michel,\n\nThanks for your feedback.\n\nOn 2020-12-30 17:38:55 +0100, Jean-Michel Hautbois wrote:\n> Hi Niklas,\n> \n> Thanks for the patchset !\n> \n> On 29/12/2020 17:03, Niklas Söderlund wrote:\n> > Hello,\n> > \n> > This series adds an IPA skeleton for the IPU3 pipeline. The IPA itself\n> > supports mapping of parameter and statistic buffers as well as pushing\n> > V4L2 controls to the camera sensor. It does however not read or write\n> > anything into the buffers given to it during the capture process. It\n> > also adds all the plumbing inside IPU3 pipeline to function with an IPA\n> > while of of course retaining all the different capture setups previously\n> > supported.\n> > \n> > The idea is to prepare for adding algorithms in the IPA on-top without\n> > having to worry about all the plumbing inside the pipeline handler. This\n> > will likely happen in two steps. A first where fake algorithms are added\n> > to generate metadata to be used in further development of cam and the\n> > Android HAL. Then a follow up step where the fake ones are replaced with\n> > real ones.\n> > \n> > This series depends on the DelayedControls work.\n> \n> Can you tell what differs between v1 and v2 ?\n\nDifferences are recorded in each individual patch.\n\n> \n> > Niklas Söderlund (11):\n> >   include: linux: Add ipu3 kernel header and format definitions\n> >   libcamera: ipu3: imgu: Configure the stat video device as part of\n> >     configure()\n> >   libcamera: ipu3: imgu: Add parameters video device\n> >   libcamera: ipu3: cio2: Return the FrameBuffer pointer used\n> >   libcamera: ipu3: cio2: Generate start of frame event\n> >   libcamera: ipa: ipu3: Add an IPA skeleton for the IPU3 pipeline\n> >   libcamera: ipu3: Attach to an IPA and allow it to set sensor controls\n> >   libcamera: ipu3: imgu: Allocate buffers for stats and param\n> >   libcamera: ipu3: Map buffers in IPA\n> >   libcamera: ipu3: Add helper for parameter and statistic buffers\n> >   libcamera: ipu3: Share parameter and statistic buffers with IPA\n> > \n> >  include/libcamera/ipa/ipu3.h            |   23 +\n> >  include/linux/intel-ipu3.h              | 2785 +++++++++++++++++++++++\n> >  src/ipa/ipu3/ipu3.cpp                   |  236 ++\n> >  src/ipa/ipu3/meson.build                |   21 +\n> >  src/ipa/meson.build                     |    2 +-\n> >  src/libcamera/pipeline/ipu3/cio2.cpp    |   28 +-\n> >  src/libcamera/pipeline/ipu3/cio2.h      |    5 +-\n> >  src/libcamera/pipeline/ipu3/frames.cpp  |  141 ++\n> >  src/libcamera/pipeline/ipu3/frames.h    |   63 +\n> >  src/libcamera/pipeline/ipu3/imgu.cpp    |   60 +-\n> >  src/libcamera/pipeline/ipu3/imgu.h      |   13 +-\n> >  src/libcamera/pipeline/ipu3/ipu3.cpp    |  261 ++-\n> >  src/libcamera/pipeline/ipu3/meson.build |    1 +\n> >  13 files changed, 3590 insertions(+), 49 deletions(-)\n> >  create mode 100644 include/libcamera/ipa/ipu3.h\n> >  create mode 100644 include/linux/intel-ipu3.h\n> >  create mode 100644 src/ipa/ipu3/ipu3.cpp\n> >  create mode 100644 src/ipa/ipu3/meson.build\n> >  create mode 100644 src/libcamera/pipeline/ipu3/frames.cpp\n> >  create mode 100644 src/libcamera/pipeline/ipu3/frames.h\n> > \n> \n> --\n> JM","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 0AB4EC0F1A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Dec 2020 18:24:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7F4516159A;\n\tWed, 30 Dec 2020 19:24:22 +0100 (CET)","from mail-lf1-x136.google.com (mail-lf1-x136.google.com\n\t[IPv6:2a00:1450:4864:20::136])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 177E660526\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Dec 2020 19:24:21 +0100 (CET)","by mail-lf1-x136.google.com with SMTP id x20so39387160lfe.12\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Dec 2020 10:24:21 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\td24sm7297828lji.4.2020.12.30.10.24.19\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 30 Dec 2020 10:24:19 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"JbnpeiCw\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=bqOGDPuNy/9/H9QHSz51NgaK5e+eOwXf7fGXSjp7SIM=;\n\tb=JbnpeiCwQjaqnbZlNA5Eii5phVnRCB+ceMvoI57K+dhI2e6KzT6bgbfPDJVmtmTkvJ\n\tyZ22i71OEwCn7vtLM/0zuBHologpLOlRNLHjgHidf5ArLb/YWRrrfjeVaXGMfauYAfFL\n\tdRfmWszHOkcmNcewrXJ+hUBqHFoRpDbRyDsSpbPuPn3SWa0gm9Y+FXyAr+jaqYGcxcY+\n\tZMxCN9xDz8kw91h1DRdKMzl4rAEuFEEwZXUb+d56U8v3Y8bj4qPawN7ifIJ1MoVjSsfc\n\tY8UVDSb7v3DntKgmVv4d5nGGSGsxpboMu3jF2GA/2YUzQLGJBVY/akD2ANkVAydWLsYx\n\tdJCQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=bqOGDPuNy/9/H9QHSz51NgaK5e+eOwXf7fGXSjp7SIM=;\n\tb=X2v7ARgTuOab2Y1IYJmNaw+2VZsT6Y2Ei/wzYv4AGpRaQo/BQIrl2lUtvEJ+qdhXto\n\tAh2s2eWx7kcMWcrCo4XEhX4oxUiCUmDcvYtg08GpD2gU2tDujoxNUmXYy8PZU+jsRKci\n\t8bQEPvGNtoA72FKr1yhW7qkVrwTGQwzom80sNGbQClEohJhXw0FnVfYBFOyVzJegKJTA\n\t21TmqGlwaU4QK1W420FxeCNcxoMcTsVmP8/AFoCabjIeneA/D69qOk/oHzJPUynXAACD\n\tzPVRR4dliotjr0Rr6liLfDslY2F/YYnHZtnpi9tGnhIjmzzCIcFKf3Jy13SDZ331SPSO\n\t6gOw==","X-Gm-Message-State":"AOAM5331VEC1JuZWS+8Z9sNx87+T5JDwYeY4D6lQWk46z355esW7AiV/\n\tTL7KDwJq4g/67sGeTDZY2MlkAw==","X-Google-Smtp-Source":"ABdhPJydn1r8QYXjyYpn4XVh9F1ePqHZ2kkPoXg3s+2LFe7qDrXAEyD89UZi2L2/ZeLc6Xfj2yTVkg==","X-Received":"by 2002:ac2:5d4f:: with SMTP id\n\tw15mr22434257lfd.321.1609352660231; \n\tWed, 30 Dec 2020 10:24:20 -0800 (PST)","Date":"Wed, 30 Dec 2020 19:24:18 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<X+zF0rzOQVIf+pRA@oden.dyn.berto.se>","References":"<20201229160318.77536-1-niklas.soderlund@ragnatech.se>\n\t<aa95d30c-ac75-f0e5-8d57-87d7bc422db8@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<aa95d30c-ac75-f0e5-8d57-87d7bc422db8@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 00/11] libcamera: ipu3: Attach to\n\tan skeleton IPA","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]