{"id":11150,"url":"https://patchwork.libcamera.org/api/1.1/covers/11150/?format=json","web_url":"https://patchwork.libcamera.org/cover/11150/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20210204162943.268517-1-niklas.soderlund@ragnatech.se>","date":"2021-02-04T16:29:32","name":"[libcamera-devel,v3,00/11] libcamera: ipu3: Attach to an skeleton IPA","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/1.1/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"mbox":"https://patchwork.libcamera.org/cover/11150/mbox/","series":[{"id":1655,"url":"https://patchwork.libcamera.org/api/1.1/series/1655/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1655","date":"2021-02-04T16:29:32","name":"libcamera: ipu3: Attach to an skeleton IPA","version":3,"mbox":"https://patchwork.libcamera.org/series/1655/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/11150/comments/","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 38430BD162\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Feb 2021 16:29:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C7F7D61430;\n\tThu,  4 Feb 2021 17:29:57 +0100 (CET)","from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1C2A46141A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Feb 2021 17:29:57 +0100 (CET)","from bismarck.berto.se (p4fca2458.dip0.t-ipconnect.de\n\t[79.202.36.88])\n\tby bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA\n\tid 34bc010f-6706-11eb-b73f-0050569116f7;\n\tThu, 04 Feb 2021 17:29:55 +0100 (CET)"],"X-Halon-ID":"34bc010f-6706-11eb-b73f-0050569116f7","Authorized-sender":"niklas.soderlund@fsdn.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Thu,  4 Feb 2021 17:29:32 +0100","Message-Id":"<20210204162943.268517-1-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.30.0","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v3 00/11] libcamera: ipu3: Attach to an\n\tskeleton 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>"},"content":"Hello,\n\nThis series adds an IPA skeleton for the IPU3 pipeline. The IPA itself\nsupports mapping of parameter and statistic buffers as well as pushing\nV4L2 controls to the camera sensor. It does however not read or write\nanything into the buffers given to it during the capture process. It\nalso adds all the plumbing inside IPU3 pipeline to function with an IPA\nwhile of of course retaining all the different capture setups previously\nsupported.\n\nThe idea is to prepare for adding algorithms in the IPA on-top without\nhaving to worry about all the plumbing inside the pipeline handler. This\nwill likely happen in two steps. A first where fake algorithms are added\nto generate metadata to be used in further development of cam and the\nAndroid HAL. Then a follow up step where the fake ones are replaced with\nreal ones.\n\nThis is tested successfully with cam, the out of tree lc-compliance tool \nand webcamtests.com on Soraka. The work is tested based on [1] which at \nthe time of writing is two commits behind master as the top two commits \nbumps meson requirement to v0.55 which is not available in the Soraka \nbuild environment.\n\n1. 5b568b7e41e394b5 (\"libcamera: v4l2_videodevice: remove confusing memory MMAP assignment before QUERYBUF\")\n\nNiklas 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            |   22 +\n include/linux/intel-ipu3.h              | 2785 +++++++++++++++++++++++\n src/ipa/ipu3/ipu3.cpp                   |  233 ++\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  |  129 ++\n src/libcamera/pipeline/ipu3/frames.h    |   61 +\n src/libcamera/pipeline/ipu3/imgu.cpp    |   60 +-\n src/libcamera/pipeline/ipu3/imgu.h      |   13 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp    |  287 ++-\n src/libcamera/pipeline/ipu3/meson.build |    1 +\n 13 files changed, 3569 insertions(+), 78 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"}