libcamera: ipa: simple: Disable Ccm algorithm by default again

The default CCM in uncalibrated.yaml is just an identity transformation
and has been enabled by default only to always provide a correction
matrix to GPU ISP.  It slows down CPU ISP when CCM is not used.

Now, when a default correction matrix is always provided to GPU ISP, we
can disable the Ccm algorithm in uncalibrated.yaml again.  The check for
ccmEnabled in GPU ISP is no longer needed and it must be removed in
order not to fail when Ccm algorithm is not enabled.  ccmEnabled flag is
still needed in CPU ISP where the processing differs based on whether
CCM is present or not.

Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Reviewed-by: Robert Mader <robert.mader@collabora.com>
Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Milan Zamazal
2026-01-28 12:44:02 +01:00
committed by Kieran Bingham
parent 3ffaa4c0e2
commit 60f150bf87
2 changed files with 7 additions and 10 deletions

View File

@@ -8,12 +8,12 @@ algorithms:
# Color correction matrices can be defined here. The CCM algorithm
# has a significant performance impact, and should only be enabled
# if tuned.
- Ccm:
ccms:
- ct: 6500
ccm: [ 1, 0, 0,
0, 1, 0,
0, 0, 1]
# - Ccm:
# ccms:
# - ct: 6500
# ccm: [ 1, 0, 0,
# 0, 1, 0,
# 0, 0, 1]
- Adjust:
- Agc:
...

View File

@@ -288,7 +288,7 @@ unsigned int DebayerEGL::frameSize()
int DebayerEGL::configure(const StreamConfiguration &inputCfg,
const std::vector<std::reference_wrapper<StreamConfiguration>> &outputCfgs,
bool ccmEnabled)
[[maybe_unused]] bool ccmEnabled)
{
if (getInputConfig(inputCfg.pixelFormat, inputConfig_) != 0)
return -EINVAL;
@@ -296,9 +296,6 @@ int DebayerEGL::configure(const StreamConfiguration &inputCfg,
if (stats_->configure(inputCfg) != 0)
return -EINVAL;
if (!ccmEnabled)
return -EINVAL;
const Size &stats_pattern_size = stats_->patternSize();
if (inputConfig_.patternSize.width != stats_pattern_size.width ||
inputConfig_.patternSize.height != stats_pattern_size.height) {