[PATCH v2 1/2] libcamera: Add gc05a2 camera sensor proprietary for ciri
Harvey Yang
chenghaoyang at chromium.org
Tue Sep 24 10:26:10 CEST 2024
gc05a2 is the first sensor used by ciri.
Signed-off-by: Han-Lin Chen <hanlinchen at chromium.org>
Co-developed-by: Xing Gu <xinggu at chromium.org>
Co-developed-by: Yudhistira Erlandinata <yerlandinata at chromium.org>
Co-developed-by: Harvey Yang <chenghaoyang at chromium.org>
---
src/ipa/libipa/camera_sensor_helper.cpp | 17 +++++++++++++++++
.../sensor/camera_sensor_properties.cpp | 7 +++++++
2 files changed, 24 insertions(+)
diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp
index ffc7c1d7..cd7d12d6 100644
--- a/src/ipa/libipa/camera_sensor_helper.cpp
+++ b/src/ipa/libipa/camera_sensor_helper.cpp
@@ -519,6 +519,23 @@ private:
};
REGISTER_CAMERA_SENSOR_HELPER("ar0521", CameraSensorHelperAr0521)
+class CameraSensorHelperGc05a2 : public CameraSensorHelper
+{
+public:
+ uint32_t gainCode(double gain) const override
+ {
+ uint32_t aeGain = std::clamp((uint32_t)gain, kAeBaseGain_, kStep_ * kAeBaseGain_);
+ return aeGain * 0x400 / kAeBaseGain_;
+ }
+
+ // `double gain(uint32_t gainCode)` will not be used.
+
+private:
+ static constexpr uint32_t kStep_ = 16;
+ static constexpr uint32_t kAeBaseGain_ = 1024;
+};
+REGISTER_CAMERA_SENSOR_HELPER("gc05a2", CameraSensorHelperGc05a2)
+
class CameraSensorHelperImx219 : public CameraSensorHelper
{
public:
diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp
index 4e5217ab..3e1bd85e 100644
--- a/src/libcamera/sensor/camera_sensor_properties.cpp
+++ b/src/libcamera/sensor/camera_sensor_properties.cpp
@@ -70,6 +70,13 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen
{ controls::draft::TestPatternModeColorBarsFadeToGray, 3 },
},
} },
+ { "gc05a2", {
+ .unitCellSize = { 1120, 1120 },
+ .testPatternModes = {
+ { controls::draft::TestPatternModeOff, 0 },
+ { controls::draft::TestPatternModeColorBars, 1 },
+ },
+ } },
{ "hi846", {
.unitCellSize = { 1120, 1120 },
.testPatternModes = {
--
2.46.0.792.g87dc391469-goog
More information about the libcamera-devel
mailing list