{"id":20245,"url":"https://patchwork.libcamera.org/api/covers/20245/?format=json","web_url":"https://patchwork.libcamera.org/cover/20245/","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":"<20240610141941.2947785-1-paul.elder@ideasonboard.com>","date":"2024-06-10T14:19:37","name":"[v7,0/4] ipa: Move Pwl from Raspberry Pi to libipa","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/20245/mbox/","series":[{"id":4378,"url":"https://patchwork.libcamera.org/api/series/4378/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4378","date":"2024-06-10T14:19:37","name":"ipa: Move Pwl from Raspberry Pi to libipa","version":7,"mbox":"https://patchwork.libcamera.org/series/4378/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/20245/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 0D6A6BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 10 Jun 2024 14:19:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 16B5E65462;\n\tMon, 10 Jun 2024 16:19:56 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0222D634D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 10 Jun 2024 16:19:54 +0200 (CEST)","from neptunite.hamster-moth.ts.net\n\t(h175-177-049-156.catv02.itscom.jp [175.177.49.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D7EDA397;\n\tMon, 10 Jun 2024 16:19:41 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"LWdCx5EW\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1718029182;\n\tbh=w9OAqZlZH6JdGQJm3o/L0h6nq3QUxBsRb6I0aULsmEk=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=LWdCx5EW/9PnQR3RUIGn3YnYxHkoHsG2cZX7Hl2fIAAzcABk21Isp4v2b9MX7buRz\n\tq/mbcKdd6oCUdr890rApBTfZ/snEMUqivF3Zf3PcZDvmq2tFdPJXvWdsJU6dCFC1FV\n\tQ7sgns5Yg4mik8enU7xYaHSvUKfDPBhME3K0uAh8=","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Paul Elder <paul.elder@ideasonboard.com>","Subject":"[PATCH v7 0/4] ipa: Move Pwl from Raspberry Pi to libipa","Date":"Mon, 10 Jun 2024 23:19:37 +0900","Message-Id":"<20240610141941.2947785-1-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.39.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"This patch series moves the piecewise linear function class from\nthe Rasberry Pi IPA to libipa so that all IPAs can use it.\n\nFirst an addition to the geometry header is needed, to add a\nfloating-point version of the Point class, then the pwl is copied over,\nand the Raspberry Pi IPA is converted to use the libipa Pwl class.\n\nThe main changes in v2 are s/FPoint/PointF/g and improving the\ndocumentation.\n\nv3 has almost no change...\n\nv4 adds/fixes documentation.\n\nv5 mainly replaces the public API PointF with an libipa-internal Vector\nclass, which is then typedefed to PointF to be used in Pwl.\nDocumentation is also improved/fixed.\n\nv6 fixes the order of adding pwl to meson.\n\nv7 mainly fixes documentation and license in the Vector class.\n\nPaul Elder (4):\n  ipa: libipa: Add Vector class\n  ipa: libipa: Copy pwl from rpi\n  ipa: libipa: pwl: Clean up Pwl class to match libcamera\n  ipa: rpi: controller: Use libipa's Pwl class\n\n src/ipa/libipa/meson.build                 |   2 +\n src/ipa/libipa/pwl.cpp                     | 490 +++++++++++++++++++++\n src/ipa/libipa/pwl.h                       | 102 +++++\n src/ipa/libipa/vector.cpp                  | 145 ++++++\n src/ipa/libipa/vector.h                    | 199 +++++++++\n src/ipa/rpi/controller/cac_status.h        |   2 -\n src/ipa/rpi/controller/contrast_status.h   |   4 +-\n src/ipa/rpi/controller/meson.build         |   2 +-\n src/ipa/rpi/controller/pwl.cpp             | 269 -----------\n src/ipa/rpi/controller/pwl.h               | 127 ------\n src/ipa/rpi/controller/rpi/af.cpp          |   4 +-\n src/ipa/rpi/controller/rpi/af.h            |   5 +-\n src/ipa/rpi/controller/rpi/agc_channel.cpp |   8 +-\n src/ipa/rpi/controller/rpi/agc_channel.h   |   7 +-\n src/ipa/rpi/controller/rpi/awb.cpp         |  76 ++--\n src/ipa/rpi/controller/rpi/awb.h           |  23 +-\n src/ipa/rpi/controller/rpi/ccm.cpp         |   4 +-\n src/ipa/rpi/controller/rpi/ccm.h           |   5 +-\n src/ipa/rpi/controller/rpi/contrast.cpp    |  14 +-\n src/ipa/rpi/controller/rpi/contrast.h      |   5 +-\n src/ipa/rpi/controller/rpi/geq.cpp         |   5 +-\n src/ipa/rpi/controller/rpi/geq.h           |   4 +-\n src/ipa/rpi/controller/rpi/hdr.cpp         |   8 +-\n src/ipa/rpi/controller/rpi/hdr.h           |   9 +-\n src/ipa/rpi/controller/rpi/tonemap.cpp     |   2 +-\n src/ipa/rpi/controller/rpi/tonemap.h       |   5 +-\n src/ipa/rpi/controller/tonemap_status.h    |   4 +-\n 27 files changed, 1040 insertions(+), 490 deletions(-)\n create mode 100644 src/ipa/libipa/pwl.cpp\n create mode 100644 src/ipa/libipa/pwl.h\n create mode 100644 src/ipa/libipa/vector.cpp\n create mode 100644 src/ipa/libipa/vector.h\n delete mode 100644 src/ipa/rpi/controller/pwl.cpp\n delete mode 100644 src/ipa/rpi/controller/pwl.h"}