diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2025-02-23 23:12:40 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2025-02-24 18:36:15 +0200 |
commit | 1bb4d3712daf38dda21f9536b0786ac96ba1cf2a (patch) | |
tree | 7c527e6b248b7c5a1ad3f579a4cbb006b0f83916 /src/ipa/rkisp1 | |
parent | 127bc209656eff3d6ee7b2f8373ad40fea0e6f73 (diff) |
ipa: rkisp1: awb: Don't calculate RGB means if stats are missing
When statistics are missing we can't meaningfully calculate the RGB
means. Move their calculation after checking if stats are available.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Diffstat (limited to 'src/ipa/rkisp1')
-rw-r--r-- | src/ipa/rkisp1/algorithms/awb.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp index af34b81b..47b607c6 100644 --- a/src/ipa/rkisp1/algorithms/awb.cpp +++ b/src/ipa/rkisp1/algorithms/awb.cpp @@ -279,10 +279,7 @@ void Awb::process(IPAContext &context, const rkisp1_stat_buffer *stats, ControlList &metadata) { - const rkisp1_cif_isp_stat *params = &stats->params; - const rkisp1_cif_isp_awb_stat *awb = ¶ms->awb; IPAActiveState &activeState = context.activeState; - RGB<double> rgbMeans = calculateRgbMeans(frameContext, awb); metadata.set(controls::AwbEnable, frameContext.awb.autoEnabled); metadata.set(controls::ColourGains, { @@ -296,6 +293,11 @@ void Awb::process(IPAContext &context, return; } + const rkisp1_cif_isp_stat *params = &stats->params; + const rkisp1_cif_isp_awb_stat *awb = ¶ms->awb; + + RGB<double> rgbMeans = calculateRgbMeans(frameContext, awb); + /* * If the means are too small we don't have enough information to * meaningfully calculate gains. Freeze the algorithm in that case. |