[libcamera-devel] [PATCH] ipa: raspberrypi: Do not require SDN (spatial denoise) algorithm

David Plowman david.plowman at raspberrypi.com
Wed Feb 17 16:24:00 CET 2021


A camera tuning is not required to load an SDN algorithm. In keeping
with other controls, do not fail when a particular control was
expecting this algorithm, just warn that it is not present.

Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
---
 src/ipa/raspberrypi/raspberrypi.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
index 81a3195c..4608dfd4 100644
--- a/src/ipa/raspberrypi/raspberrypi.cpp
+++ b/src/ipa/raspberrypi/raspberrypi.cpp
@@ -875,7 +875,11 @@ void IPARPi::queueRequest(const ControlList &controls)
 		case controls::NOISE_REDUCTION_MODE: {
 			RPiController::DenoiseAlgorithm *sdn = dynamic_cast<RPiController::DenoiseAlgorithm *>(
 				controller_.GetAlgorithm("SDN"));
-			ASSERT(sdn);
+			if (!sdn) {
+				LOG(IPARPI, Warning)
+					<< "Could not set NOISE_REDUCTION_MODE - no SDN algorithm";
+				break;
+			}
 
 			int32_t idx = ctrl.second.get<int32_t>();
 			auto mode = DenoiseModeTable.find(idx);
-- 
2.20.1



More information about the libcamera-devel mailing list