libcamera: software_isp: Move useful items from DebayerCpu to Debayer base class

The DebayerCpu class has a number of variables, embedded structures and
methods which are useful to DebayerGpu implementation.

Move relevant variables and methods to base class.

Since we want to call setParams() from the GPUISP and reuse the code in
the existing CPUISP as a first step, we need to move all of the
dependent variables in DebayerCPU to the Debayer base class including
LookupTable and redCcm_.

The DebayerEGL class will ultimately be able to consume both the CCM and
non-CCM data.

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Bryan O'Donoghue
2025-12-11 23:22:34 +00:00
committed by Kieran Bingham
parent 134f926346
commit d635cd884e
4 changed files with 185 additions and 42 deletions

View File

@@ -42,7 +42,7 @@ namespace libcamera {
* \param[in] configuration The global configuration
*/
DebayerCpu::DebayerCpu(std::unique_ptr<SwStatsCpu> stats, const GlobalConfiguration &configuration)
: stats_(std::move(stats)), bench_(configuration)
: Debayer(configuration), stats_(std::move(stats))
{
/*
* Reading from uncached buffers may be very slow.