[libcamera-devel] [PATCH v2 5/5] ipa: ipu3: af: Simplify accumulations of y_items

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Mar 23 14:56:14 CET 2022


Simplify the accumulation of the total and variance with a ternary
operator.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---

This is optional really, it's only really a stylistic preference.


 src/ipa/ipu3/algorithms/af.cpp | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
index ff5e9fb5b3c5..940ed68ea14a 100644
--- a/src/ipa/ipu3/algorithms/af.cpp
+++ b/src/ipa/ipu3/algorithms/af.cpp
@@ -342,20 +342,14 @@ double Af::afEstimateVariance(Span<const y_table_item_t> y_items, bool isY1)
 	double mean;
 	double var_sum = 0;
 
-	for (auto y : y_items) {
-		if (isY1)
-			total += y.y1_avg;
-		else
-			total += y.y2_avg;
-	}
+	for (auto y : y_items)
+		total += isY1 ? y.y1_avg : y.y2_avg;
 
 	mean = total / y_items.size();
 
 	for (auto y : y_items) {
-		if (isY1)
-			var_sum += pow((y.y1_avg - mean), 2);
-		else
-			var_sum += pow((y.y2_avg - mean), 2);
+		double avg = isY1 ? y.y1_avg : y.y2_avg;
+		var_sum += pow((avg - mean), 2);
 	}
 
 	return var_sum / static_cast<double>(y_items.size());
-- 
2.32.0



More information about the libcamera-devel mailing list