libcamera: software_isp: ccm: Populate CCM table to Debayer params structure

Populate the DebayerParams CCM table during ccm::prepare(). A copy is made
of the CCM into the DebayerParams structure.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
This commit is contained in:
Bryan O'Donoghue 2025-05-10 04:58:51 +01:00
parent 8422ee9441
commit 89cf67a45f

View file

@ -14,6 +14,7 @@
#include <libcamera/control_ids.h> #include <libcamera/control_ids.h>
#include "libcamera/internal/matrix.h" #include "libcamera/internal/matrix.h"
#include "libcamera/internal/software_isp/debayer_params.h"
namespace { namespace {
@ -84,7 +85,7 @@ void Ccm::applySaturation(Matrix<float, 3, 3> &ccm, float saturation)
} }
void Ccm::prepare(IPAContext &context, const uint32_t frame, void Ccm::prepare(IPAContext &context, const uint32_t frame,
IPAFrameContext &frameContext, [[maybe_unused]] DebayerParams *params) IPAFrameContext &frameContext, DebayerParams *params)
{ {
auto &saturation = context.activeState.knobs.saturation; auto &saturation = context.activeState.knobs.saturation;
@ -108,6 +109,7 @@ void Ccm::prepare(IPAContext &context, const uint32_t frame,
context.activeState.ccm.ccm = ccm; context.activeState.ccm.ccm = ccm;
frameContext.ccm.ccm = ccm; frameContext.ccm.ccm = ccm;
frameContext.saturation = saturation; frameContext.saturation = saturation;
params->ccm = ccm;
context.activeState.ccm.changed = true; context.activeState.ccm.changed = true;
} }