ipa: rkisp1: agc: Correctly clamp maximum shutter speed
The sensor's maximum shutter speed is clamped by the maximum frame duration specified in requests. If the requested maximum frame duration is lower than the sensor's minimum shutter speed, the Agc::process() function will pass a minimum value higher than the maximum to the setLimits() function, resulting in an assertion failure. Fix it by clamping the value to both the lower and the upper bounds. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
14056bceb5
commit
4ce519cdc5
1 changed files with 4 additions and 2 deletions
|
@ -420,8 +420,10 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
|
|||
[](uint32_t x) { return x >> 4; });
|
||||
expMeans_ = { params->ae.exp_mean, context.hw->numAeCells };
|
||||
|
||||
utils::Duration maxShutterSpeed = std::min(context.configuration.sensor.maxShutterSpeed,
|
||||
frameContext.agc.maxFrameDuration);
|
||||
utils::Duration maxShutterSpeed =
|
||||
std::clamp(frameContext.agc.maxFrameDuration,
|
||||
context.configuration.sensor.minShutterSpeed,
|
||||
context.configuration.sensor.maxShutterSpeed);
|
||||
setLimits(context.configuration.sensor.minShutterSpeed,
|
||||
maxShutterSpeed,
|
||||
context.configuration.sensor.minAnalogueGain,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue