summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Klug <stefan.klug@ideasonboard.com>2025-04-03 17:49:21 +0200
committerStefan Klug <stefan.klug@ideasonboard.com>2025-05-20 11:20:08 +0200
commit969df3db3195b43883b6a200bd022ee6c9928042 (patch)
tree0be9fe3883f2723419cfe24882409f11612a81a9
parent7991293cec286b5e87d7be39d7119d422989ea51 (diff)
ipa: rkisp1: awb: Avoid division by zero
As the gains can also be specified manually, the regulation can run into numeric instabilities by dividing by near zero. Mitigate that by applying a small minium value. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
-rw-r--r--src/ipa/rkisp1/algorithms/awb.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp
index bd8430ad..399fb51b 100644
--- a/src/ipa/rkisp1/algorithms/awb.cpp
+++ b/src/ipa/rkisp1/algorithms/awb.cpp
@@ -413,9 +413,9 @@ RGB<double> Awb::calculateRgbMeans(const IPAFrameContext &frameContext, const rk
/*
* The ISP computes the AWB means after applying the colour gains,
* divide by the gains that were used to get the raw means from the
- * sensor.
+ * sensor. Apply a minimum value to avoid divisions by near-zero.
*/
- rgbMeans /= frameContext.awb.gains;
+ rgbMeans /= frameContext.awb.gains.max(0.01);
return rgbMeans;
}