[PATCH 11/27] libcamera: software_isp: Move configure to worker thread

Bryan O'Donoghue bryan.odonoghue at linaro.org
Tue Apr 22 23:59:04 CEST 2025


OpenGL requires both configure() and process() to operate on the same
thread. As preparation for that, move current CPU configure into the
WorkerThread with a ConnectionTypeBlocking invocation of
&DebayerCpu::configure.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
---
 src/libcamera/software_isp/software_isp.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/software_isp/software_isp.cpp b/src/libcamera/software_isp/software_isp.cpp
index 7bee8f06..e36aa246 100644
--- a/src/libcamera/software_isp/software_isp.cpp
+++ b/src/libcamera/software_isp/software_isp.cpp
@@ -263,7 +263,9 @@ int SoftwareIsp::configure(const StreamConfiguration &inputCfg,
 	debayer_->moveToThread(&ispWorkerThread_);
 	ispWorkerThread_.start();
 
-	return debayer_->configure(inputCfg, outputCfgs, ccmEnabled_);
+	return debayer_->invokeMethod(&DebayerCpu::configure,
+				      ConnectionTypeBlocking, inputCfg,
+				      outputCfgs, ccmEnabled_);
 }
 
 /**
-- 
2.49.0



More information about the libcamera-devel mailing list