ipa: raspberrypi: awb: Delay release of the statistics buffer

Release the statistics buffer after running the through the AWB calculations.
Only the "counted" statistics are copied out to a local structure, so keeping
the statistics buffer allows the algorithm to see the "uncounted" statistics as
well.

This is currently handled by hard-coding the total number of statistics regions
regions based on the structure definition in the bcm2835_isp_stats structure.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2023-02-03 09:17:32 +00:00 committed by Kieran Bingham
parent f0c0468b3b
commit e8dd0fdc83

View file

@ -427,11 +427,6 @@ void Awb::prepareStats()
*/ */
generateStats(zones_, statistics_->awb_stats, config_.minPixels, generateStats(zones_, statistics_->awb_stats, config_.minPixels,
config_.minG); config_.minG);
/*
* we're done with these; we may as well relinquish our hold on the
* pointer.
*/
statistics_.reset();
/* /*
* apply sensitivities, so values appear to come from our "canonical" * apply sensitivities, so values appear to come from our "canonical"
* sensor. * sensor.
@ -728,6 +723,11 @@ void Awb::doAwb()
<< " with gains r " << asyncResults_.gainR << " with gains r " << asyncResults_.gainR
<< " and b " << asyncResults_.gainB; << " and b " << asyncResults_.gainB;
} }
/*
* we're done with these; we may as well relinquish our hold on the
* pointer.
*/
statistics_.reset();
} }
/* Register algorithm with the system. */ /* Register algorithm with the system. */