{"id":21942,"url":"https://patchwork.libcamera.org/api/1.1/covers/21942/?format=json","web_url":"https://patchwork.libcamera.org/cover/21942/","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":"<20241118000738.18977-1-laurent.pinchart@ideasonboard.com>","date":"2024-11-18T00:07:26","name":"[RFC,v2,00/12] Improve linear algebra helpers in libipa","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/1.1/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/21942/mbox/","series":[{"id":4796,"url":"https://patchwork.libcamera.org/api/1.1/series/4796/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4796","date":"2024-11-18T00:07:26","name":"Improve linear algebra helpers in libipa","version":2,"mbox":"https://patchwork.libcamera.org/series/4796/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/21942/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 3D047C32E0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Nov 2024 00:07:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9F01F658AC;\n\tMon, 18 Nov 2024 01:07:49 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B5DE8600F2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Nov 2024 01:07:47 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 49FAB75A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Nov 2024 01:07:31 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"mn6t4WMl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1731888451;\n\tbh=FWNETy+kvdQbwzaAYgBx/k/8nZcclgvs7HdsfkhOgL0=;\n\th=From:To:Subject:Date:From;\n\tb=mn6t4WMlmnoNdQTKCdDgNDsAEZSSYKd2Kb1HlWno+DXHLE49aNHD83U0aVdG+z+5B\n\tKQYmgPWitUR30ceQNh1K0oq2BVBE7D046WMs3lbk4y3+aKGn3l01hrDgJkvyh+9iWJ\n\terx+OsgPe6UObhuRDvS/ygXcHrNEFMGdkhfeuQlo=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[RFC PATCH v2 00/12] Improve linear algebra helpers in libipa","Date":"Mon, 18 Nov 2024 02:07:26 +0200","Message-ID":"<20241118000738.18977-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.45.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":"Hello,\n\nThis patch series tries to simplify IPA linear algebra calculations by\nimproving the Vector class API. Patches 01/12 to 09/12 improve the\nVector class, patch 10/12 add a unit test for the class, and patches\n11/12 to 12/12 showcase the improvements this can bring in the rkisp1\nAWB algorithm.\n\nI'm relatively happy with the result. The only part I'm not sure about\nis the introduction of the RGB type alias.\n\nPlease note the patches have been compile-tested only.\n\nCompared to v1, the Vector::normalize() function has been dropped, and\nthe unit test was added in patch 10/12.\n\nLaurent Pinchart (12):\n  ipa: libipa: vector: Add mutable x(), y() and z() accessors\n  ipa: libipa: vector: Add r(), g() and b() accessors\n  ipa: libipa: vector: Add copy constructor and assignment operator\n  ipa: libipa: vector: Rename the dot product operator*() to dot()\n  ipa: libipa: vector: Generalize arithmetic operators\n  ipa: libipa: vector: Add missing binary arithemtic operators\n  ipa: libipa: vector: Add compound assignment operators\n  ipa: libipa: vector: Add element-wise min() and max() functions\n  ipa: libipa: vector: Add sum() function\n  test: libipa: Add Vector class test\n  ipa: rkisp1: awb: Use RGB class to store colour gains\n  ipa: rkisp1: awb: Replace manual calculations with Vector and Matrix\n\n src/ipa/libipa/vector.cpp         | 256 ++++++++++++++++++++++++++----\n src/ipa/libipa/vector.h           | 252 +++++++++++++++++++++++------\n src/ipa/rkisp1/algorithms/awb.cpp | 134 ++++++++--------\n src/ipa/rkisp1/algorithms/awb.h   |   2 +-\n src/ipa/rkisp1/ipa_context.cpp    |  31 +---\n src/ipa/rkisp1/ipa_context.h      |  20 +--\n test/ipa/libipa/meson.build       |   2 +\n test/ipa/libipa/vector.cpp        | 100 ++++++++++++\n 8 files changed, 597 insertions(+), 200 deletions(-)\n create mode 100644 test/ipa/libipa/vector.cpp\n\n\nbase-commit: 5c71df927ddaaa01204bff1e647c9d2bf653d95f"}