{"id":16270,"url":"https://patchwork.libcamera.org/api/covers/16270/?format=json","web_url":"https://patchwork.libcamera.org/cover/16270/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20220620014305.26778-1-laurent.pinchart@ideasonboard.com>","date":"2022-06-20T01:42:53","name":"[libcamera-devel,v4,00/12] Add tuning file support for the RkISP1 IPA module","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/16270/mbox/","series":[{"id":3191,"url":"https://patchwork.libcamera.org/api/series/3191/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3191","date":"2022-06-20T01:42:53","name":"Add tuning file support for the RkISP1 IPA module","version":4,"mbox":"https://patchwork.libcamera.org/series/3191/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16270/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 D4A51BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 20 Jun 2022 01:43:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C4E3665638;\n\tMon, 20 Jun 2022 03:43:26 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 19BF6601EE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 20 Jun 2022 03:43:25 +0200 (CEST)","from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5AB7E25E;\n\tMon, 20 Jun 2022 03:43:24 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1655689406;\n\tbh=SY01/qcK77sPL8sMx9RD8z2f82SPtk8HdhVjLenJ8BQ=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=Ih4VYj+nDJAP3lNxEmBRygPTTndojmz4ASMR7IA2XADTUKcDaihI+VdC505k+LA2F\n\tVml9+iLPTgdoI55M3BK+WkHB+4bn4O8kkyhTSEp39UXOu/Ypbaxg/imMfANWuSkpMN\n\tEa1mQMcqadIaLATi0sSPFwmWO1GZKYfS4n6PvRrOw8LL70VwZDZV2NqyDSb3lkJ73s\n\txrwbCvDQH4zSj7ApWw01falbrmU4U9EG8Lz+FJOJ8yGDapsldgU5CW0zq2vDvEUhQx\n\t9D1fe1tcfdsASzsvF3IzqvfwbkBP+gSqI100yh5LO3xLW5FdzSorLERe9L1G2dnH5P\n\tNpv1bzTigX/9A==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1655689404;\n\tbh=SY01/qcK77sPL8sMx9RD8z2f82SPtk8HdhVjLenJ8BQ=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=SeP0Hxuxwy+vG6wmTySD7e79JtzlYKfoFPJZ0g0KmDjedh50rpTEQ9lIYuuUDGb8Y\n\tEhrH1+MRIfR1Djh8e39aSL9+SO1tEbFfmp+7KZw1oYWBUqr7XKANM1gxWhQ8wVVZOJ\n\tneNmZ1DILv/2MB1y7YDPajZGe4ic69BINOhyc6c4="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"SeP0Hxux\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 20 Jun 2022 04:42:53 +0300","Message-Id":"<20220620014305.26778-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.35.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v4 00/12] Add tuning file support for the\n\tRkISP1 IPA module","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hello,\n\nThis patch series is a new version of Florian's \"[PATCH v3 0/5] Add\ntuning file support for rkisp1 blc algo\".\n\nThe first 6 patches address an issue with v3 that stemmed from the new\nYAML file format, using ordered mappings. As ordered mappings can't be\nindexed by key, the retrieval of algorithm data by each algorithm got\nbroken. Instead of trying to fix that issue, I decided to bite the\nbullet and make the algorithms dynamically instantiable, like done in\nthe RPi IPA.\n\nTo support this without duplicating too much code in different IPA\nmodules, patch 01/12 introduces a Module class template for IPA modules.\nPatch 02/12 then cleans up documentation a little bit, and patch 03/12\nadds an algorithm registration mechanism. Patch 04/12 extends the\nAlgorithm class with an init() function to parse the tuning data for the\nalgorithm, and patch 05/12 supports dynamic instantiation of algorithms\nfrom YAML in the Module class. Patch 06/12 is a small debugging\nimprovement.\n\nThe rest of the series is similar to v3, with patch 07/12 that\nimplements tuning file selection in the RkISP1 pipeline handler. Patch\n08/12 then enables algorithm registration in the RkISP1 IPA module, and\npatch 09/12 implements tuning data parsing in the IPA. Patch 10/12 is\nnew and adds a tuning file for the IMX219, while patches 11/12 and 12/12\nare similar to v3 (with the changes required by the rework of the rest\nof the series).\n\nChanges to patches present in v3 are described in individual patches.\n\nI'm tempted to merge the src/ipa/${ipa}/algorithms/algorithm.h file with\nsrc/ipa/${ipa}/module.h, as the Algorithm and Module class are very\nrelated, and both files are very small. Feedback would be appreciated.\n\nFlorian Sylvestre (5):\n  ipa: libipa: algorithm: Add init() function to the Algorithm class\n  pipeline: rkisp1: Support IPA tuning file\n  ipa: rkisp1: Add YAML tuning file support\n  ipa: rkisp1: Add OV5640 tuning file\n  ipa: rkisp1: Add support of Black Level Correction tuning\n\nLaurent Pinchart (7):\n  ipa: libipa: Introduce a Module class template\n  ipa: libipa: Move ipa namespace documentation to module.cpp\n  ipa: libipa: algorithm: Add an algorithm registration mechanism\n  ipa: libipa: module: Add support for instantiation from YAML\n  ipa: libipa: module: Make the Module class Loggable\n  ipa: rkisp1: Register algorithms\n  ipa: rkisp1: Add IMX219 tuning file\n\n src/ipa/ipu3/algorithms/algorithm.h      |   8 +-\n src/ipa/ipu3/module.h                    |  27 +++++\n src/ipa/libipa/algorithm.cpp             |  87 ++++++++++++++--\n src/ipa/libipa/algorithm.h               |  64 ++++++++++--\n src/ipa/libipa/libipa.cpp                |  22 ----\n src/ipa/libipa/meson.build               |   6 +-\n src/ipa/libipa/module.cpp                | 126 +++++++++++++++++++++++\n src/ipa/libipa/module.h                  | 124 ++++++++++++++++++++++\n src/ipa/rkisp1/algorithms/agc.cpp        |   2 +\n src/ipa/rkisp1/algorithms/algorithm.h    |  10 +-\n src/ipa/rkisp1/algorithms/awb.cpp        |   2 +\n src/ipa/rkisp1/algorithms/blc.cpp        |  51 +++++++--\n src/ipa/rkisp1/algorithms/blc.h          |  10 +-\n src/ipa/rkisp1/data/imx219.yaml          |  13 +++\n src/ipa/rkisp1/data/meson.build          |  10 ++\n src/ipa/rkisp1/data/ov5640.yaml          |  13 +++\n src/ipa/rkisp1/data/uncalibrated.yaml    |   8 ++\n src/ipa/rkisp1/meson.build               |   1 +\n src/ipa/rkisp1/module.h                  |  27 +++++\n src/ipa/rkisp1/rkisp1.cpp                |  54 +++++++---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp |  20 +++-\n 21 files changed, 608 insertions(+), 77 deletions(-)\n create mode 100644 src/ipa/ipu3/module.h\n delete mode 100644 src/ipa/libipa/libipa.cpp\n create mode 100644 src/ipa/libipa/module.cpp\n create mode 100644 src/ipa/libipa/module.h\n create mode 100644 src/ipa/rkisp1/data/imx219.yaml\n create mode 100644 src/ipa/rkisp1/data/meson.build\n create mode 100644 src/ipa/rkisp1/data/ov5640.yaml\n create mode 100644 src/ipa/rkisp1/data/uncalibrated.yaml\n create mode 100644 src/ipa/rkisp1/module.h"}