{"id":22034,"url":"https://patchwork.libcamera.org/api/patches/22034/?format=json","web_url":"https://patchwork.libcamera.org/patch/22034/","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":"<20241120142807.2093301-4-stefan.klug@ideasonboard.com>","date":"2024-11-20T14:27:50","name":"[v3,3/9] libcamera: internal: Move Matrix class into libcamera namespace","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"c8c3fd96294f1e6e64349d1a84213f63efba2b6e","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"delegate":{"id":17,"url":"https://patchwork.libcamera.org/api/users/17/?format=json","username":"epaul","first_name":"Paul","last_name":"Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/patch/22034/mbox/","series":[{"id":4809,"url":"https://patchwork.libcamera.org/api/series/4809/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4809","date":"2024-11-20T14:27:47","name":"Move Matrix class from libipa to libcamera","version":3,"mbox":"https://patchwork.libcamera.org/series/4809/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22034/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22034/checks/","tags":{},"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 CCC7EC32F9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 20 Nov 2024 14:28:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 19E9065F67;\n\tWed, 20 Nov 2024 15:28:25 +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 522E965F4A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Nov 2024 15:28:21 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:bbd:82cc:f3f3:e12e])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 361E0AB5;\n\tWed, 20 Nov 2024 15:28:03 +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=\"De7tNf+C\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732112883;\n\tbh=cakHjk8du9scU/ZuPpjnr6MJbvnOXeg6PSF9RJyeZW8=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=De7tNf+CE7wkPnVG2q/VgIh9w4QpthUlS30EevXl2IySdoWijcIMDGX3N2I7ubpAD\n\tCksZBQ3bOeT5KVSnv+Ao9dQZUvWV0cg3DoHc1z0j+5pS93UX6CN2/rXy9SCQiSCvcR\n\tw00yZZTJismUg63GFJejvN80uVwEpvdqEFVsLZGI=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"[PATCH v3 3/9] libcamera: internal: Move Matrix class into libcamera\n\tnamespace","Date":"Wed, 20 Nov 2024 15:27:50 +0100","Message-ID":"<20241120142807.2093301-4-stefan.klug@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20241120142807.2093301-1-stefan.klug@ideasonboard.com>","References":"<20241120142807.2093301-1-stefan.klug@ideasonboard.com>","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":"The Matrix class no longer lives inside lipipa. Move it into the\nlibcamera namespace to account for that.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n include/libcamera/internal/matrix.h | 14 +++++---------\n src/libcamera/matrix.cpp            |  6 +-----\n 2 files changed, 6 insertions(+), 14 deletions(-)","diff":"diff --git a/include/libcamera/internal/matrix.h b/include/libcamera/internal/matrix.h\nindex 5471e6975b74..3701d0ee980b 100644\n--- a/include/libcamera/internal/matrix.h\n+++ b/include/libcamera/internal/matrix.h\n@@ -19,8 +19,6 @@ namespace libcamera {\n \n LOG_DECLARE_CATEGORY(Matrix)\n \n-namespace ipa {\n-\n #ifndef __DOXYGEN__\n template<typename T, unsigned int Rows, unsigned int Cols,\n \t std::enable_if_t<std::is_arithmetic_v<T>> * = nullptr>\n@@ -166,24 +164,22 @@ Matrix<T, Rows, Cols> operator+(const Matrix<T, Rows, Cols> &m1, const Matrix<T,\n bool matrixValidateYaml(const YamlObject &obj, unsigned int size);\n #endif /* __DOXYGEN__ */\n \n-} /* namespace ipa */\n-\n #ifndef __DOXYGEN__\n template<typename T, unsigned int Rows, unsigned int Cols>\n-std::ostream &operator<<(std::ostream &out, const ipa::Matrix<T, Rows, Cols> &m)\n+std::ostream &operator<<(std::ostream &out, const Matrix<T, Rows, Cols> &m)\n {\n \tout << m.toString();\n \treturn out;\n }\n \n template<typename T, unsigned int Rows, unsigned int Cols>\n-struct YamlObject::Getter<ipa::Matrix<T, Rows, Cols>> {\n-\tstd::optional<ipa::Matrix<T, Rows, Cols>> get(const YamlObject &obj) const\n+struct YamlObject::Getter<Matrix<T, Rows, Cols>> {\n+\tstd::optional<Matrix<T, Rows, Cols>> get(const YamlObject &obj) const\n \t{\n-\t\tif (!ipa::matrixValidateYaml(obj, Rows * Cols))\n+\t\tif (!matrixValidateYaml(obj, Rows * Cols))\n \t\t\treturn std::nullopt;\n \n-\t\tipa::Matrix<T, Rows, Cols> matrix;\n+\t\tMatrix<T, Rows, Cols> matrix;\n \t\tT *data = &matrix[0][0];\n \n \t\tunsigned int i = 0;\ndiff --git a/src/libcamera/matrix.cpp b/src/libcamera/matrix.cpp\nindex 8346f0d34160..55359aa206ee 100644\n--- a/src/libcamera/matrix.cpp\n+++ b/src/libcamera/matrix.cpp\n@@ -5,7 +5,7 @@\n  * Matrix and related operations\n  */\n \n-#include \"matrix.h\"\n+#include \"libcamera/internal/matrix.h\"\n \n #include <libcamera/base/log.h>\n \n@@ -18,8 +18,6 @@ namespace libcamera {\n \n LOG_DEFINE_CATEGORY(Matrix)\n \n-namespace ipa {\n-\n /**\n  * \\class Matrix\n  * \\brief Matrix class\n@@ -144,6 +142,4 @@ bool matrixValidateYaml(const YamlObject &obj, unsigned int size)\n }\n #endif /* __DOXYGEN__ */\n \n-} /* namespace ipa */\n-\n } /* namespace libcamera */\n","prefixes":["v3","3/9"]}