[PATCH] libcamera: libipa: camera_sensor: define AR0521 helper functions inline

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jun 4 00:48:55 CEST 2024


All CameraSensorHelper subclasses define their member functions inline,
except for the CameraSensorHelperAr0521 class. Inline the gainCode() and
gain() functions to match the other classes.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/ipa/libipa/camera_sensor_helper.cpp | 36 +++++++++++--------------
 1 file changed, 16 insertions(+), 20 deletions(-)

diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
index 2cd61fccfbb9..782ff9904e81 100644
--- a/src/ipa/libipa/camera_sensor_helper.cpp
+++ b/src/ipa/libipa/camera_sensor_helper.cpp
@@ -369,30 +369,26 @@ static constexpr double expGainDb(double step)
 class CameraSensorHelperAr0521 : public CameraSensorHelper
 {
 public:
-	uint32_t gainCode(double gain) const override;
-	double gain(uint32_t gainCode) const override;
+	uint32_t gainCode(double gain) const override
+	{
+		gain = std::clamp(gain, 1.0, 15.5);
+		unsigned int coarse = std::log2(gain);
+		unsigned int fine = (gain / (1 << coarse) - 1) * kStep_;
+
+		return (coarse << 4) | (fine & 0xf);
+	}
+
+	double gain(uint32_t gainCode) const override
+	{
+		unsigned int coarse = gainCode >> 4;
+		unsigned int fine = gainCode & 0xf;
+
+		return (1 << coarse) * (1 + fine / kStep_);
+	}
 
 private:
 	static constexpr double kStep_ = 16;
 };
-
-uint32_t CameraSensorHelperAr0521::gainCode(double gain) const
-{
-	gain = std::clamp(gain, 1.0, 15.5);
-	unsigned int coarse = std::log2(gain);
-	unsigned int fine = (gain / (1 << coarse) - 1) * kStep_;
-
-	return (coarse << 4) | (fine & 0xf);
-}
-
-double CameraSensorHelperAr0521::gain(uint32_t gainCode) const
-{
-	unsigned int coarse = gainCode >> 4;
-	unsigned int fine = gainCode & 0xf;
-
-	return (1 << coarse) * (1 + fine / kStep_);
-}
-
 REGISTER_CAMERA_SENSOR_HELPER("ar0521", CameraSensorHelperAr0521)
 
 class CameraSensorHelperImx219 : public CameraSensorHelper

base-commit: 6cd17515ffeb67fb38ffcc4d57aadf9732b54800
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list