[v5,12/36] ipa: libipa: lsc_polynomial: Don't inline ValueNode accessor
diff mbox series

Message ID 20260708-libipa-algorithms-v5-12-0759d0359f52@ideasonboard.com
State New
Headers show
Series
  • ipa: libipa: Introduce libipa algorithms
Related show

Commit Message

Jacopo Mondi July 8, 2026, 3:50 p.m. UTC
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

There's no need to inline the ValueNode::Accessor::get() function for
LscPolynomial. Move it to from lsc_polynomial.h to lsc_polynomial.cpp.

While at it, replace C++-style comments with C-style comments according
to the libcamera coding style.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
---
 src/ipa/libipa/lsc_polynomial.cpp | 28 ++++++++++++++++++++++++++--
 src/ipa/libipa/lsc_polynomial.h   | 26 --------------------------
 2 files changed, 26 insertions(+), 28 deletions(-)

Patch
diff mbox series

diff --git a/src/ipa/libipa/lsc_polynomial.cpp b/src/ipa/libipa/lsc_polynomial.cpp
index f607d86c54c3..921af0b0bd13 100644
--- a/src/ipa/libipa/lsc_polynomial.cpp
+++ b/src/ipa/libipa/lsc_polynomial.cpp
@@ -77,5 +77,29 @@  namespace ipa {
  * \param size The size of the reference image
  */
 
-} // namespace ipa
-} // namespace libcamera
+} /* namespace ipa */
+
+#ifndef __DOXYGEN__
+template<>
+std::optional<ipa::LscPolynomial>
+ValueNode::Accessor<ipa::LscPolynomial>::get(const ValueNode &obj) const
+{
+	std::optional<double> cx = obj["cx"].get<double>();
+	std::optional<double> cy = obj["cy"].get<double>();
+	std::optional<double> k0 = obj["k0"].get<double>();
+	std::optional<double> k1 = obj["k1"].get<double>();
+	std::optional<double> k2 = obj["k2"].get<double>();
+	std::optional<double> k3 = obj["k3"].get<double>();
+	std::optional<double> k4 = obj["k4"].get<double>();
+
+	if (!(cx && cy && k0 && k1 && k2 && k3 && k4)) {
+		LOG(LscPolynomial, Error)
+			<< "Polynomial is missing a parameter";
+		return std::nullopt;
+	}
+
+	return ipa::LscPolynomial(*cx, *cy, *k0, *k1, *k2, *k3, *k4);
+}
+#endif /* __DOXYGEN__ */
+
+} /* namespace libcamera */
diff --git a/src/ipa/libipa/lsc_polynomial.h b/src/ipa/libipa/lsc_polynomial.h
index a0d27c4b21d6..d52ec86946b1 100644
--- a/src/ipa/libipa/lsc_polynomial.h
+++ b/src/ipa/libipa/lsc_polynomial.h
@@ -80,30 +80,4 @@  private:
 
 } /* namespace ipa */
 
-#ifndef __DOXYGEN__
-
-template<>
-struct ValueNode::Accessor<ipa::LscPolynomial> {
-	std::optional<ipa::LscPolynomial> get(const ValueNode &obj) const
-	{
-		std::optional<double> cx = obj["cx"].get<double>();
-		std::optional<double> cy = obj["cy"].get<double>();
-		std::optional<double> k0 = obj["k0"].get<double>();
-		std::optional<double> k1 = obj["k1"].get<double>();
-		std::optional<double> k2 = obj["k2"].get<double>();
-		std::optional<double> k3 = obj["k3"].get<double>();
-		std::optional<double> k4 = obj["k4"].get<double>();
-
-		if (!(cx && cy && k0 && k1 && k2 && k3 && k4)) {
-			LOG(LscPolynomial, Error)
-				<< "Polynomial is missing a parameter";
-			return std::nullopt;
-		}
-
-		return ipa::LscPolynomial(*cx, *cy, *k0, *k1, *k2, *k3, *k4);
-	}
-};
-
-#endif
-
 } /* namespace libcamera */