mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-16 17:05:08 +03:00
ipa: ipu3: awb: Don't pass member variable to member function
The Awb::generateZones() member function fills the zones vector passed as an argument, which is actually a member variable. Use it directly in the function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
parent
12ecb75c4f
commit
5ae92dae58
2 changed files with 9 additions and 5 deletions
|
@ -196,8 +196,10 @@ uint32_t Awb::estimateCCT(double red, double green, double blue)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generate an RGB vector with the average values for each zone */
|
/* Generate an RGB vector with the average values for each zone */
|
||||||
void Awb::generateZones(std::vector<RGB> &zones)
|
void Awb::generateZones()
|
||||||
{
|
{
|
||||||
|
zones_.clear();
|
||||||
|
|
||||||
for (unsigned int i = 0; i < kAwbStatsSizeX * kAwbStatsSizeY; i++) {
|
for (unsigned int i = 0; i < kAwbStatsSizeX * kAwbStatsSizeY; i++) {
|
||||||
RGB zone;
|
RGB zone;
|
||||||
double counted = awbStats_[i].counted;
|
double counted = awbStats_[i].counted;
|
||||||
|
@ -206,7 +208,7 @@ void Awb::generateZones(std::vector<RGB> &zones)
|
||||||
if (zone.G >= kMinGreenLevelInZone) {
|
if (zone.G >= kMinGreenLevelInZone) {
|
||||||
zone.R = awbStats_[i].sum.red / counted;
|
zone.R = awbStats_[i].sum.red / counted;
|
||||||
zone.B = awbStats_[i].sum.blue / counted;
|
zone.B = awbStats_[i].sum.blue / counted;
|
||||||
zones.push_back(zone);
|
zones_.push_back(zone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -298,11 +300,13 @@ void Awb::awbGreyWorld()
|
||||||
void Awb::calculateWBGains(const ipu3_uapi_stats_3a *stats)
|
void Awb::calculateWBGains(const ipu3_uapi_stats_3a *stats)
|
||||||
{
|
{
|
||||||
ASSERT(stats->stats_3a_status.awb_en);
|
ASSERT(stats->stats_3a_status.awb_en);
|
||||||
zones_.clear();
|
|
||||||
clearAwbStats();
|
clearAwbStats();
|
||||||
generateAwbStats(stats);
|
generateAwbStats(stats);
|
||||||
generateZones(zones_);
|
generateZones();
|
||||||
|
|
||||||
LOG(IPU3Awb, Debug) << "Valid zones: " << zones_.size();
|
LOG(IPU3Awb, Debug) << "Valid zones: " << zones_.size();
|
||||||
|
|
||||||
if (zones_.size() > 10) {
|
if (zones_.size() > 10) {
|
||||||
awbGreyWorld();
|
awbGreyWorld();
|
||||||
LOG(IPU3Awb, Debug) << "Gain found for red: " << asyncResults_.redGain
|
LOG(IPU3Awb, Debug) << "Gain found for red: " << asyncResults_.redGain
|
||||||
|
|
|
@ -65,7 +65,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void calculateWBGains(const ipu3_uapi_stats_3a *stats);
|
void calculateWBGains(const ipu3_uapi_stats_3a *stats);
|
||||||
void generateZones(std::vector<RGB> &zones);
|
void generateZones();
|
||||||
void generateAwbStats(const ipu3_uapi_stats_3a *stats);
|
void generateAwbStats(const ipu3_uapi_stats_3a *stats);
|
||||||
void clearAwbStats();
|
void clearAwbStats();
|
||||||
void awbGreyWorld();
|
void awbGreyWorld();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue