temp/libcamera: Add some patches and tuning files

Notably:
1. Add the in-review quad-debayer patch required for the imx371 - the OP6
   front camera.
2. Fix GLES 2.0 devices like the Librem5 and PinePhone
3. Small tuning file adjustments, including CCMS for the imx371 and
   imx800 (FP5 main rear camera).
4. A small patch allowing to set maximum resolutions via config file.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9449>
This commit is contained in:
Robert Mader
2026-08-29 16:38:11 +00:00
parent 5cca0299c4
commit d9587b2fea
14 changed files with 1552 additions and 69 deletions
@@ -1,7 +1,7 @@
From be67f67c4ac44b571d1740c1da10669fe6a5c75b Mon Sep 17 00:00:00 2001 From be67f67c4ac44b571d1740c1da10669fe6a5c75b Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com> From: Robert Mader <robert.mader@collabora.com>
Date: Wed, 1 May 2024 18:12:02 +0200 Date: Wed, 1 May 2024 18:12:02 +0200
Subject: [PATCH 1/2] libcamera: simple: Enable softISP for the Pinephone Subject: [PATCH 1/8] libcamera: simple: Enable softISP for the Pinephone
In theory the PP should be able to use the actual HW ISP, however in In theory the PP should be able to use the actual HW ISP, however in
practice this does not work well yet - especially as the driver for the practice this does not work well yet - especially as the driver for the
@@ -17,7 +17,7 @@ Signed-off-by: Robert Mader <robert.mader@collabora.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index e26f438d9..24538649c 100644 index e26f438d9a77..24538649cb85 100644
--- a/src/libcamera/pipeline/simple/simple.cpp --- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -264,7 +264,7 @@ static const SimplePipelineInfo supportedDevices[] = { @@ -264,7 +264,7 @@ static const SimplePipelineInfo supportedDevices[] = {
@@ -1,7 +1,7 @@
From dc471142932b1f2b0bf596c3ae83dba8bd4b4021 Mon Sep 17 00:00:00 2001 From dc471142932b1f2b0bf596c3ae83dba8bd4b4021 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com> From: Robert Mader <robert.mader@collabora.com>
Date: Mon, 6 May 2024 21:21:57 +0200 Date: Mon, 6 May 2024 21:21:57 +0200
Subject: [PATCH 2/2] libcamera: simple: Skip hwISP formats if swISP is active Subject: [PATCH 2/8] libcamera: simple: Skip hwISP formats if swISP is active
On devices like the Pinephone libcamera will advertise support for On devices like the Pinephone libcamera will advertise support for
formats provided by the HW ISP and the SW ISP at the same time. The formats provided by the HW ISP and the SW ISP at the same time. The
@@ -15,7 +15,7 @@ Signed-off-by: Robert Mader <robert.mader@collabora.com>
1 file changed, 1 insertion(+), 3 deletions(-) 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 24538649c..b96b8b529 100644 index 24538649cb85..b96b8b529642 100644
--- a/src/libcamera/pipeline/simple/simple.cpp --- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -745,9 +745,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size) @@ -745,9 +745,7 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size)
@@ -0,0 +1,39 @@
From 929eac400d4aa9ce248bba12e4fc9779bcfb5ef2 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Thu, 23 Jul 2026 09:19:33 +0200
Subject: [PATCH 3/8] software_isp: debayer_egl: Re-add log for failing DMABuf
import
The log was introduced in commit
93f0db167a8d ("debayer_egl: Implement dmabuf import for input buffers")
and dropped in the commit mentioned below. Let's readd it as failing
imports majorly impact performance and indicate actionable issues in the
V4L2 or GPU drivers. Ensure the log is only printed once, now that we use
multiple eGLImages.
Fixes: 13f7b921acdf ("libcamera: software_isp: debayer_egl: Implement input/output frame caching mechanism")
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
src/libcamera/software_isp/debayer_egl.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
index 02651fe87922..09ab5a58c994 100644
--- a/src/libcamera/software_isp/debayer_egl.cpp
+++ b/src/libcamera/software_isp/debayer_egl.cpp
@@ -533,6 +533,9 @@ eGLImage *DebayerEGL::getCachedInputFrameBuffer(FrameBuffer *input, std::optiona
if (egl_.createInputDMABufTexture2D(*eglImageIn, input->planes()[0].fd.get()) == 0)
return eglImageIn;
+ if (eglImageInCache_.size() == 1)
+ LOG(Debayer, Info)
+ << "Importing input DMABuf failed, falling back to upload";
} else if (!eglImageIn->dmabuf_import_failed_) {
egl_.activateBindTexture(*eglImageIn);
return eglImageIn;
--
2.55.0
@@ -0,0 +1,85 @@
From b0728a7d0ad5462a7e7e39d28e209ede9cbd63ef Mon Sep 17 00:00:00 2001
From: Emilio Miranda <gemilio@gmail.com>
Date: Tue, 25 Aug 2026 14:06:30 +0200
Subject: [PATCH 4/8] ipa: simple: Derive AGC minimum gain step from sensor
granularity
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The minimum gain step is computed as 1% of the sensor's gain range. For a
sensor with a wide gain range that is far larger than the hardware can
resolve: the OV01A10 spans 1-63.9961, giving a step of 0.629961, which is
63% at unity gain where the sensor resolves 1/256 = 0.0039.
updateExposure() substitutes againMinStep whenever the proportional
correction is smaller than it. Once the exposure saturates and gain is
the only remaining control, the AGC therefore applies a 63% change every
time it computes a 2% one, and never settles:
again 1.00000 exposureMSV 1.99 error +0.51 factor 1.020 -> 1.62996
again 1.62996 exposureMSV 2.90 error -0.41 factor 0.984 -> 1.00000
That is 0.7 EV of brightness flicker at frame rate, observed on a Dell
XPS 13 9315 (IPU6, simple pipeline and software ISP).
This is not specific to one sensor. Without a CameraSensorHelper the gain
values are raw register codes, where a step of 1.0 is by definition the
smallest possible change in gain; adding a helper switches the units to
real multipliers, and 1% of the range then bears no relation to what the
sensor can resolve. Any sensor with a wide gain range is exposed to this
once it gains a helper.
Sample the step at both ends of the gain range and take the smaller one,
so that non-uniform gain models are covered as well. This yields
0.00390625 for the OV01A10, and the gain then tracks continuously
instead of alternating between two values.
Link: https://bugzilla.redhat.com/show_bug.cgi?id=2483190
Suggested-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Signed-off-by: Emilio Miranda <gemilio@gmail.com>
---
src/ipa/simple/soft_simple.cpp | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp
index 629e1a32de8a..8bffd2a441fd 100644
--- a/src/ipa/simple/soft_simple.cpp
+++ b/src/ipa/simple/soft_simple.cpp
@@ -6,6 +6,7 @@
*/
#include <chrono>
+#include <cmath>
#include <stdint.h>
#include <sys/mman.h>
@@ -228,10 +229,21 @@ int IPASoftSimple::configure(const IPAConfigInfo &configInfo)
context_.configuration.agc.againMin = camHelper_->gain(againMin);
context_.configuration.agc.againMax = camHelper_->gain(againMax);
context_.configuration.agc.again10 = std::max(context_.configuration.agc.againMin, 1.0);
- context_.configuration.agc.againMinStep =
- (context_.configuration.agc.againMax -
- context_.configuration.agc.againMin) /
- 100.0;
+ /*
+ * The minimum gain step must reflect what the sensor can
+ * actually resolve. Deriving it from a fraction of the gain
+ * range yields a huge step for sensors with a wide range: the
+ * OV01A10 spans 1-63.9961, giving 0.63 at unity gain where the
+ * hardware resolves 1/256. The AGC can then make no correction
+ * smaller than 63%, and oscillates around the target once the
+ * exposure saturates and gain is the only remaining control.
+ *
+ * Sample the step at both ends of the range and take the
+ * smaller one, so that non-uniform gain models are covered.
+ */
+ context_.configuration.agc.againMinStep = std::min(
+ std::abs(camHelper_->gain(againMin + 1) - camHelper_->gain(againMin)),
+ std::abs(camHelper_->gain(againMax) - camHelper_->gain(againMax - 1)));
if (camHelper_->blackLevel().has_value()) {
/*
* The black level from camHelper_ is a 16 bit value, software ISP
--
2.55.0
@@ -0,0 +1,45 @@
From 2c72bce471a5098f7bd3a23997e03bd163b89093 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Fri, 28 Aug 2026 18:26:58 +0200
Subject: [PATCH 5/8] debayer: Further demote 'Unsupported input format' log
On some platforms such as the PinePhone these logs clutter the output of
tools and the journal a lot. Let's silence them for normal usage.
Signed-off-by: Robert Mader <robert.mader@collabora.com>
---
src/libcamera/software_isp/debayer_cpu.cpp | 4 ++--
src/libcamera/software_isp/debayer_egl.cpp | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/libcamera/software_isp/debayer_cpu.cpp b/src/libcamera/software_isp/debayer_cpu.cpp
index 49382b4c2719..2c2c1dd4912d 100644
--- a/src/libcamera/software_isp/debayer_cpu.cpp
+++ b/src/libcamera/software_isp/debayer_cpu.cpp
@@ -469,8 +469,8 @@ int DebayerCpu::getInputConfig(PixelFormat inputFormat, DebayerInputConfig &conf
return 0;
}
- LOG(Debayer, Info)
- << "Unsupported input format " << inputFormat.toString();
+ LOG(Debayer, Debug)
+ << "Unsupported input format " << inputFormat;
return -EINVAL;
}
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
index 09ab5a58c994..5c0508239f9c 100644
--- a/src/libcamera/software_isp/debayer_egl.cpp
+++ b/src/libcamera/software_isp/debayer_egl.cpp
@@ -90,7 +90,7 @@ int DebayerEGL::getInputConfig(PixelFormat inputFormat, DebayerInputConfig &conf
return 0;
}
- LOG(Debayer, Info)
+ LOG(Debayer, Debug)
<< "Unsupported input format " << inputFormat;
return -EINVAL;
--
2.55.0
@@ -0,0 +1,63 @@
From 2e2d412965dc84cc0bdcd770b76674a8da0cf419 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Sat, 29 Aug 2026 01:38:26 +0200
Subject: [PATCH 6/8] debayer_egl: Use untransposed matrix to fix GLES 2.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The softISP curently fails on Mali-400 on Mesa. It turns out that
transposed matrices are not allowed by the spec:
> The UniformMatrix{234}fv commands will load count 2 × 2, 3 × 3, or 4 × 4
> matrices (corresponding to 2, 3, or 4 in the command name) of floating-point values
> into a uniform location defined as a matrix or an array of matrices. The matrix is
> specified in column-major order. transpose must be FALSE.
Thus partially revert the commit mentioned below and manually transpose
the matrix.
Fixes: d780e285b593 ("shaders: bayer: Use native matrix multiplication")
Closes: https://gitlab.freedesktop.org/camera/libcamera/-/work_items/342
Signed-off-by: Robert Mader <robert.mader@collabora.com>
---
Changes in v2:
- Actually transpose the matrix to not re-introduce issues with CCMs
- Add comment about GLES 2.0
- Add "Closes:" link
---
src/libcamera/software_isp/debayer_egl.cpp | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/src/libcamera/software_isp/debayer_egl.cpp b/src/libcamera/software_isp/debayer_egl.cpp
index 5c0508239f9c..ae06dc0d2a3d 100644
--- a/src/libcamera/software_isp/debayer_egl.cpp
+++ b/src/libcamera/software_isp/debayer_egl.cpp
@@ -479,8 +479,21 @@ void DebayerEGL::setShaderVariableValues(eGLImage &eglImageIn, const DebayerPara
<< " textureUniformStep_.y " << Step[1]
<< " textureUniformStrideFactor_ " << Stride
<< " textureUniformProjMatrix_ " << textureUniformProjMatrix_;
-
- glUniformMatrix3fv(ccmUniformDataIn_, 1, GL_TRUE, params.combinedMatrix.data().data());
+ /*
+ * Pre-transpose matrix for GLES 2.0
+ */
+ GLfloat ccm[9] = {
+ params.combinedMatrix[0][0],
+ params.combinedMatrix[1][0],
+ params.combinedMatrix[2][0],
+ params.combinedMatrix[0][1],
+ params.combinedMatrix[1][1],
+ params.combinedMatrix[2][1],
+ params.combinedMatrix[0][2],
+ params.combinedMatrix[1][2],
+ params.combinedMatrix[2][2],
+ };
+ glUniformMatrix3fv(ccmUniformDataIn_, 1, GL_FALSE, ccm);
LOG(Debayer, Debug) << " ccmUniformDataIn_ " << ccmUniformDataIn_ << " data " << params.combinedMatrix;
/*
--
2.55.0
@@ -0,0 +1,43 @@
From 80b6b8bf4735c1b2042b36635a8963b3a0a199be Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Sat, 8 Aug 2026 13:42:36 +0200
Subject: [PATCH 7/8] simple: Limit swISP output sizes
~/.config/libcamera/configuration.yaml
---
version: 1
configuration:
pipelines:
simple:
max_output_width: 1280
max_output_height: 720
Signed-off-by: Robert Mader <robert.mader@collabora.com>
---
src/libcamera/pipeline/simple/simple.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index b96b8b529642..fa55d764f32e 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -752,6 +752,16 @@ void SimpleCameraData::tryPipeline(unsigned int code, const Size &size)
config.outputSizes = config.captureSize;
}
+ const GlobalConfiguration &configuration = pipe()->cameraManager()->_d()->configuration();
+ if (auto maxOutputWidth = configuration.configuration()["pipelines"]["simple"]["max_output_width"].get<unsigned int>()) {
+ if (config.outputSizes.max.width > maxOutputWidth.value())
+ config.outputSizes.max.width = maxOutputWidth.value();
+ }
+ if (auto maxOutputHeight = configuration.configuration()["pipelines"]["simple"]["max_output_height"].get<unsigned int>()) {
+ if (config.outputSizes.max.height > maxOutputHeight.value())
+ config.outputSizes.max.height = maxOutputHeight.value();
+ }
+
configs_.push_back(config);
}
}
--
2.55.0
File diff suppressed because it is too large Load Diff
+21 -7
View File
@@ -3,7 +3,7 @@ maintainer="Robert Mader <robert.mader@collabora.com>"
pkgname=libcamera pkgname=libcamera
_pkgver=0.7.2 _pkgver=0.7.2
pkgver=9999$_pkgver pkgver=9999$_pkgver
pkgrel=2 pkgrel=3
pkgdesc="Linux camera framework" pkgdesc="Linux camera framework"
url="https://libcamera.org/" url="https://libcamera.org/"
arch="all" arch="all"
@@ -52,6 +52,7 @@ _tuning_files="
imx371.yaml imx371.yaml
imx376.yaml imx376.yaml
imx519.yaml imx519.yaml
imx800.yaml
imx858.yaml imx858.yaml
s5k3l6xx.yaml s5k3l6xx.yaml
s5kjn1.yaml s5kjn1.yaml
@@ -59,6 +60,12 @@ _tuning_files="
source="https://gitlab.freedesktop.org/camera/libcamera/-/archive/v$_pkgver/libcamera-v$_pkgver.tar.gz source="https://gitlab.freedesktop.org/camera/libcamera/-/archive/v$_pkgver/libcamera-v$_pkgver.tar.gz
0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
0003-software_isp-debayer_egl-Re-add-log-for-failing-DMAB.patch
0004-ipa-simple-Derive-AGC-minimum-gain-step-from-sensor-.patch
0005-debayer-Further-demote-Unsupported-input-format-log.patch
0006-debayer_egl-Use-untransposed-matrix-to-fix-GLES-2.0.patch
0007-simple-Limit-swISP-output-sizes.patch
0008-libcamera-Add-quad-Bayer-CFA-layout-support.patch
qcam.desktop qcam.desktop
$_tuning_files $_tuning_files
" "
@@ -173,15 +180,22 @@ py3() {
sha512sums=" sha512sums="
b317cdc96f61682ee0bf26dfb7c4d6441db9a9c5b93ab53528121a8cd44862b3d59cbaa3881bb0837e3e381564c184c7b742124aef4267eea754c6083de353c1 libcamera-v0.7.2.tar.gz b317cdc96f61682ee0bf26dfb7c4d6441db9a9c5b93ab53528121a8cd44862b3d59cbaa3881bb0837e3e381564c184c7b742124aef4267eea754c6083de353c1 libcamera-v0.7.2.tar.gz
eef5e38efc874f2049d17f08b04d9f21c3e4616f66873358cd2c446e651f78d6952ae25ee13a6ef917e3f85bc7b6a6991152e42c8efd8c7f5bff69829a518826 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch c6e4d44758bc3afa639d5dfa30113e92270094f1dca8505982e85629ff88fab890ec3f14098600bdf7498259becea4bdadbff117aa96b8bc0a043ffeb4fb2f4f 0001-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
191dfa09cfd08bcdf0d0d07410d17af590cf78b8bc8f8b7587fd2dc1c645a9ca07f2926b5d98381c011319b1f4e1d6195dd0d6dba65fd8c723882e6be0d6117d 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch 1a84267c138192f3999b870985030b0cf9bf0b61b911481bdef73d6a377bea4159f438a21180db87c3ff97c9da9f00fb0885cfedde828f4237d0ce03196d6ed7 0002-libcamera-simple-Skip-hwISP-formats-if-swISP-is-acti.patch
e90c6c742a594e6af2efec8b9ce7cf133ed294645840f72a07408eabc010e50192462a653ef6e43b4558c9390ac516d0eefbc606691da55e604f5d20f871a0db 0003-software_isp-debayer_egl-Re-add-log-for-failing-DMAB.patch
6159dc60692382a712c683fa63bb131bd1d4978e1e639b90940ae5f340ac396d1f9b1abfb9b450cf29c0e484018af3f80e87cc9a4b7b4e856038bd4154bdab2c 0004-ipa-simple-Derive-AGC-minimum-gain-step-from-sensor-.patch
de5fd287fea2c71754beb7d72a6fd739a94ec7a47ed3ea09a60130bee1c08efdcf94e12b1830914e7e498b0d80a0cb4550a614aeb899129fba9d4f06918f5c63 0005-debayer-Further-demote-Unsupported-input-format-log.patch
875788a4571ec8485f17b0abf9681238acdf3c92a1152363d4416d68e171eb7a9231dd51b59b9f56e2815f6e81bbb33fbde5419e3b9b15e1963800ebe6eddb14 0006-debayer_egl-Use-untransposed-matrix-to-fix-GLES-2.0.patch
ac4e3c742fde4f8e4775bd2afbaaecb18fa49b869eb4309032bae985680f97443353eb384de19a9b588b632bb1711f82c318e0431214afe09068910b2e901252 0007-simple-Limit-swISP-output-sizes.patch
2b8ee82c974a0a54279700c70dc8973038f5e1b517cade87872319d5f0b5aa9be6df0a827a9098da3fb498238b1fe080419e9950e34def0edadca0247794f269 0008-libcamera-Add-quad-Bayer-CFA-layout-support.patch
22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop 22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f hi846.yaml 2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f hi846.yaml
55dab9dcb9b1982143b9d63e4e51138c5bffd7c8f4a8e4e122750b3ad9d475446956bc297d9f564819ade4be75a575d06633a064e14f8ba3ef77986783c5f067 imx355.yaml 4942edd551dcf51630246f71e600c17760d3574d5d45e5530d6cfeefe2c9ab1a812fbe220f8e89d92e19a499c592b2507c801ca4eb74cd15fcecb60bff5c650b imx355.yaml
285c6d0d712df341c0117c3762ddc139f53f44e6be36c3388d1a62696429175e2916f392163131e21f410c3676f02f5d125f375171f45f8d82ad278aa5076c62 imx363.yaml 285c6d0d712df341c0117c3762ddc139f53f44e6be36c3388d1a62696429175e2916f392163131e21f410c3676f02f5d125f375171f45f8d82ad278aa5076c62 imx363.yaml
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx371.yaml 1b1f6d36311bee38006eaa1e380571fc9fbd5625fd72f63309426d3651483cef52a176d56cdebd2ce46cbb264684ede186740df169027d2bf27d0f3057da2f86 imx371.yaml
55dab9dcb9b1982143b9d63e4e51138c5bffd7c8f4a8e4e122750b3ad9d475446956bc297d9f564819ade4be75a575d06633a064e14f8ba3ef77986783c5f067 imx376.yaml 1b1f6d36311bee38006eaa1e380571fc9fbd5625fd72f63309426d3651483cef52a176d56cdebd2ce46cbb264684ede186740df169027d2bf27d0f3057da2f86 imx376.yaml
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f imx519.yaml 1b1f6d36311bee38006eaa1e380571fc9fbd5625fd72f63309426d3651483cef52a176d56cdebd2ce46cbb264684ede186740df169027d2bf27d0f3057da2f86 imx519.yaml
55dab9dcb9b1982143b9d63e4e51138c5bffd7c8f4a8e4e122750b3ad9d475446956bc297d9f564819ade4be75a575d06633a064e14f8ba3ef77986783c5f067 imx800.yaml
55dab9dcb9b1982143b9d63e4e51138c5bffd7c8f4a8e4e122750b3ad9d475446956bc297d9f564819ade4be75a575d06633a064e14f8ba3ef77986783c5f067 imx858.yaml 55dab9dcb9b1982143b9d63e4e51138c5bffd7c8f4a8e4e122750b3ad9d475446956bc297d9f564819ade4be75a575d06633a064e14f8ba3ef77986783c5f067 imx858.yaml
2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f s5k3l6xx.yaml 2ee566653b17d565d2c0de67cbe6ebad25df5aac6051cad78e6bae52016fa2ca0247e964d735ac776b3e0bd447ead9c4fcb26cd7629228cdba3ceb91b46f378f s5k3l6xx.yaml
d59020e62520ee622282c85ce7bcdfe453c99becf48cc1005c5f8a4bb8b2511b19c89f38fb3c994e7c6a79d1f84e2ed5f5a09b4c5bdc1dc4a44b071dbccf0d44 s5kjn1.yaml d59020e62520ee622282c85ce7bcdfe453c99becf48cc1005c5f8a4bb8b2511b19c89f38fb3c994e7c6a79d1f84e2ed5f5a09b4c5bdc1dc4a44b071dbccf0d44 s5kjn1.yaml
+16 -29
View File
@@ -7,36 +7,23 @@ algorithms:
blackLevel: 4096 blackLevel: 4096
- Awb: - Awb:
- Ccm: - Ccm:
# copied from s5kjn1.yaml
ccms: ccms:
- ct: 2676 - ct: 2920
ccm: [ 2.02152, -0.41859, -0.60292, ccm: [ 1.70452, -0.28006, -0.42446,
-0.59481, 2.21509, -0.62029, -0.66546, 2.27544, -0.60998,
-0.44029, -1.16865, 2.60894 ] -0.16166, -0.89357, 2.05524 ]
- ct: 2710 - ct: 3630
ccm: [ 2.01597, -0.46478, -0.55119, ccm: [ 1.82077, -0.47914, -0.34163,
-0.59047, 2.14717, -0.55671, -0.58711, 2.13712, -0.55002,
-0.40793, -1.19946, 2.60739 ] -0.12653, -0.74572, 1.87226 ]
- ct: 2719 - ct: 4550
ccm: [ 1.99894, -0.41626, -0.58268, ccm: [ 1.80579, -0.47998, -0.32582,
-0.59321, 2.18167, -0.58846, -0.52116, 2.23331, -0.71214,
-0.42518, -1.21384, 2.63903 ] -0.11717, -0.64942, 1.76659 ]
- ct: 2867 - ct: 5580
ccm: [ 1.95177, -0.35904, -0.59274, ccm: [ 1.84933, -0.52533, -0.32401,
-0.44282, 1.97362, -0.53079, -0.45888, 2.07922, -0.62033,
-0.49059, -1.35379, 2.84439 ] -0.12065, -0.56643, 1.68708 ]
- ct: 3474
ccm: [ 1.97712, -0.60854, -0.36858,
-0.47723, 1.91142, -0.43418,
-0.23092, -0.72246, 1.95339 ]
- ct: 3761
ccm: [ 2.29903, -0.94652, -0.35251,
-0.51661, 1.90311, -0.38651,
-0.25114, -0.67501, 1.92615 ]
- ct: 6890
ccm: [ 1.93867, -0.67486, -0.26381,
-0.43049, 2.00702, -0.57652,
-0.15696, -0.51345, 1.67041 ]
- Adjust: - Adjust:
- Agc: - Agc:
... ...
+27
View File
@@ -6,6 +6,33 @@ algorithms:
- BlackLevel: - BlackLevel:
blackLevel: 4096 blackLevel: 4096
- Awb: - Awb:
- Ccm:
# copied from imx363.yaml
ccms:
- ct: 2701
ccm: [ 1.66951, -0.35271, -0.31679,
-0.33594, 1.69731, -0.36137,
0.07843, -1.25185, 2.17341 ]
- ct: 2789
ccm: [ 1.74401, -0.44379, -0.30022,
-0.33322, 1.69889, -0.36567,
0.09074, -1.27168, 2.18093 ]
- ct: 3025
ccm: [ 1.71956, -0.37493, -0.34462,
-0.46994, 1.83453, -0.36459,
0.01838, -1.03863, 2.02024 ]
- ct: 4021
ccm: [ 1.65286, -0.42348, -0.22938,
-0.34752, 1.63472, -0.28719,
-0.02119, -0.65164, 1.67283 ]
- ct: 4125
ccm: [ 1.89736, -0.65796, -0.23941,
-0.36603, 1.62015, -0.25412,
0.01202, -0.66114, 1.64912 ]
- ct: 6521
ccm: [ 1.64464, -0.50901, -0.13564,
-0.28189, 1.73169, -0.44979,
-0.02601, -0.51457, 1.54058 ]
- Adjust: - Adjust:
- Agc: - Agc:
... ...
+25 -29
View File
@@ -7,36 +7,32 @@ algorithms:
blackLevel: 4096 blackLevel: 4096
- Awb: - Awb:
- Ccm: - Ccm:
# copied from s5kjn1.yaml # copied from imx363.yaml
ccms: ccms:
- ct: 2676 - ct: 2701
ccm: [ 2.02152, -0.41859, -0.60292, ccm: [ 1.66951, -0.35271, -0.31679,
-0.59481, 2.21509, -0.62029, -0.33594, 1.69731, -0.36137,
-0.44029, -1.16865, 2.60894 ] 0.07843, -1.25185, 2.17341 ]
- ct: 2710 - ct: 2789
ccm: [ 2.01597, -0.46478, -0.55119, ccm: [ 1.74401, -0.44379, -0.30022,
-0.59047, 2.14717, -0.55671, -0.33322, 1.69889, -0.36567,
-0.40793, -1.19946, 2.60739 ] 0.09074, -1.27168, 2.18093 ]
- ct: 2719 - ct: 3025
ccm: [ 1.99894, -0.41626, -0.58268, ccm: [ 1.71956, -0.37493, -0.34462,
-0.59321, 2.18167, -0.58846, -0.46994, 1.83453, -0.36459,
-0.42518, -1.21384, 2.63903 ] 0.01838, -1.03863, 2.02024 ]
- ct: 2867 - ct: 4021
ccm: [ 1.95177, -0.35904, -0.59274, ccm: [ 1.65286, -0.42348, -0.22938,
-0.44282, 1.97362, -0.53079, -0.34752, 1.63472, -0.28719,
-0.49059, -1.35379, 2.84439 ] -0.02119, -0.65164, 1.67283 ]
- ct: 3474 - ct: 4125
ccm: [ 1.97712, -0.60854, -0.36858, ccm: [ 1.89736, -0.65796, -0.23941,
-0.47723, 1.91142, -0.43418, -0.36603, 1.62015, -0.25412,
-0.23092, -0.72246, 1.95339 ] 0.01202, -0.66114, 1.64912 ]
- ct: 3761 - ct: 6521
ccm: [ 2.29903, -0.94652, -0.35251, ccm: [ 1.64464, -0.50901, -0.13564,
-0.51661, 1.90311, -0.38651, -0.28189, 1.73169, -0.44979,
-0.25114, -0.67501, 1.92615 ] -0.02601, -0.51457, 1.54058 ]
- ct: 6890
ccm: [ 1.93867, -0.67486, -0.26381,
-0.43049, 2.00702, -0.57652,
-0.15696, -0.51345, 1.67041 ]
- Adjust: - Adjust:
- Agc: - Agc:
... ...
+27
View File
@@ -6,6 +6,33 @@ algorithms:
- BlackLevel: - BlackLevel:
blackLevel: 4096 blackLevel: 4096
- Awb: - Awb:
- Ccm:
# copied from imx363.yaml
ccms:
- ct: 2701
ccm: [ 1.66951, -0.35271, -0.31679,
-0.33594, 1.69731, -0.36137,
0.07843, -1.25185, 2.17341 ]
- ct: 2789
ccm: [ 1.74401, -0.44379, -0.30022,
-0.33322, 1.69889, -0.36567,
0.09074, -1.27168, 2.18093 ]
- ct: 3025
ccm: [ 1.71956, -0.37493, -0.34462,
-0.46994, 1.83453, -0.36459,
0.01838, -1.03863, 2.02024 ]
- ct: 4021
ccm: [ 1.65286, -0.42348, -0.22938,
-0.34752, 1.63472, -0.28719,
-0.02119, -0.65164, 1.67283 ]
- ct: 4125
ccm: [ 1.89736, -0.65796, -0.23941,
-0.36603, 1.62015, -0.25412,
0.01202, -0.66114, 1.64912 ]
- ct: 6521
ccm: [ 1.64464, -0.50901, -0.13564,
-0.28189, 1.73169, -0.44979,
-0.02601, -0.51457, 1.54058 ]
- Adjust: - Adjust:
- Agc: - Agc:
... ...
+42
View File
@@ -0,0 +1,42 @@
# SPDX-License-Identifier: CC0-1.0
%YAML 1.1
---
version: 1
algorithms:
- BlackLevel:
blackLevel: 4096
- Awb:
- Ccm:
# copied from s5kjn1.yaml
ccms:
- ct: 2676
ccm: [ 2.02152, -0.41859, -0.60292,
-0.59481, 2.21509, -0.62029,
-0.44029, -1.16865, 2.60894 ]
- ct: 2710
ccm: [ 2.01597, -0.46478, -0.55119,
-0.59047, 2.14717, -0.55671,
-0.40793, -1.19946, 2.60739 ]
- ct: 2719
ccm: [ 1.99894, -0.41626, -0.58268,
-0.59321, 2.18167, -0.58846,
-0.42518, -1.21384, 2.63903 ]
- ct: 2867
ccm: [ 1.95177, -0.35904, -0.59274,
-0.44282, 1.97362, -0.53079,
-0.49059, -1.35379, 2.84439 ]
- ct: 3474
ccm: [ 1.97712, -0.60854, -0.36858,
-0.47723, 1.91142, -0.43418,
-0.23092, -0.72246, 1.95339 ]
- ct: 3761
ccm: [ 2.29903, -0.94652, -0.35251,
-0.51661, 1.90311, -0.38651,
-0.25114, -0.67501, 1.92615 ]
- ct: 6890
ccm: [ 1.93867, -0.67486, -0.26381,
-0.43049, 2.00702, -0.57652,
-0.15696, -0.51345, 1.67041 ]
- Adjust:
- Agc:
...