ipa: ipu3: agc: Remove unused variables
We currently control the exposure value by the shutter speed and the analogue gain. We can't use the digital gain to have more than the maximum exposure value calculated because we are not controlling it. Remove unused code associated with this digital gain. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
cbf2c9a612
commit
58486847f0
2 changed files with 3 additions and 18 deletions
|
@ -42,8 +42,7 @@ static constexpr double kEvGainTarget = 0.5;
|
||||||
Agc::Agc()
|
Agc::Agc()
|
||||||
: frameCount_(0), lastFrame_(0), iqMean_(0.0), lineDuration_(0s),
|
: frameCount_(0), lastFrame_(0), iqMean_(0.0), lineDuration_(0s),
|
||||||
minExposureLines_(0), maxExposureLines_(0), filteredExposure_(0s),
|
minExposureLines_(0), maxExposureLines_(0), filteredExposure_(0s),
|
||||||
filteredExposureNoDg_(0s), currentExposure_(0s),
|
currentExposure_(0s), prevExposureValue_(0s)
|
||||||
currentExposureNoDg_(0s), prevExposureValue_(0s)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +101,6 @@ void Agc::filterExposure()
|
||||||
if (filteredExposure_ == 0s) {
|
if (filteredExposure_ == 0s) {
|
||||||
/* DG stands for digital gain.*/
|
/* DG stands for digital gain.*/
|
||||||
filteredExposure_ = currentExposure_;
|
filteredExposure_ = currentExposure_;
|
||||||
filteredExposureNoDg_ = currentExposureNoDg_;
|
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* If we are close to the desired result, go faster to avoid making
|
* If we are close to the desired result, go faster to avoid making
|
||||||
|
@ -115,18 +113,8 @@ void Agc::filterExposure()
|
||||||
|
|
||||||
filteredExposure_ = speed * currentExposure_ +
|
filteredExposure_ = speed * currentExposure_ +
|
||||||
filteredExposure_ * (1.0 - speed);
|
filteredExposure_ * (1.0 - speed);
|
||||||
filteredExposureNoDg_ = speed * currentExposureNoDg_ +
|
|
||||||
filteredExposureNoDg_ * (1.0 - speed);
|
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
* We can't let the no_dg exposure deviate too far below the
|
|
||||||
* total exposure, as there might not be enough digital gain available
|
|
||||||
* in the ISP to hide it (which will cause nasty oscillation).
|
|
||||||
*/
|
|
||||||
double fastReduceThreshold = 0.4;
|
|
||||||
if (filteredExposureNoDg_ <
|
|
||||||
filteredExposure_ * fastReduceThreshold)
|
|
||||||
filteredExposureNoDg_ = filteredExposure_ * fastReduceThreshold;
|
|
||||||
LOG(IPU3Agc, Debug) << "After filtering, total_exposure " << filteredExposure_;
|
LOG(IPU3Agc, Debug) << "After filtering, total_exposure " << filteredExposure_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,8 +139,7 @@ void Agc::lockExposureGain(uint32_t &exposure, double &analogueGain)
|
||||||
|
|
||||||
/* extracted from Rpi::Agc::computeTargetExposure */
|
/* extracted from Rpi::Agc::computeTargetExposure */
|
||||||
utils::Duration currentShutter = exposure * lineDuration_;
|
utils::Duration currentShutter = exposure * lineDuration_;
|
||||||
currentExposureNoDg_ = currentShutter * analogueGain;
|
LOG(IPU3Agc, Debug) << "Actual total exposure " << currentShutter * analogueGain
|
||||||
LOG(IPU3Agc, Debug) << "Actual total exposure " << currentExposureNoDg_
|
|
||||||
<< " Shutter speed " << currentShutter
|
<< " Shutter speed " << currentShutter
|
||||||
<< " Gain " << analogueGain
|
<< " Gain " << analogueGain
|
||||||
<< " Needed ev gain " << evGain;
|
<< " Needed ev gain " << evGain;
|
||||||
|
|
|
@ -46,9 +46,7 @@ private:
|
||||||
uint32_t maxExposureLines_;
|
uint32_t maxExposureLines_;
|
||||||
|
|
||||||
utils::Duration filteredExposure_;
|
utils::Duration filteredExposure_;
|
||||||
utils::Duration filteredExposureNoDg_;
|
|
||||||
utils::Duration currentExposure_;
|
utils::Duration currentExposure_;
|
||||||
utils::Duration currentExposureNoDg_;
|
|
||||||
utils::Duration prevExposureValue_;
|
utils::Duration prevExposureValue_;
|
||||||
|
|
||||||
uint32_t stride_;
|
uint32_t stride_;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue