ipa: ipu3: Retain Camera::controls() after ipa->configure()
Similar to what commitacfd602767("ipa: rkisp1: Fix algorithm controls vanish after configure") did for the RkISP1 IPA, replace the usage of unordered_map::merge() at updateControls() time with unordered_map::insert(). As unordered_map::merge moves items from the source map, it deletes controls registered at algorithms initialization time in the ipaContext.ctrlMap. As at configure() time updateControls() is called again and the list of Camera controls is refreshed, the controls registered at algorithms initialization time are lost. Fixes:87353f2bba("ipa: ipu3: Derive ipu3::algorithms::Agc from AgcMeanLuminance") Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -285,7 +285,7 @@ void IPAIPU3::updateControls(const IPACameraSensorInfo &sensorInfo,
|
||||
frameDurations[1],
|
||||
Span<const int64_t, 2>{ { frameDurations[2], frameDurations[2] } });
|
||||
|
||||
controls.merge(context_.ctrlMap);
|
||||
controls.insert(context_.ctrlMap.begin(), context_.ctrlMap.end());
|
||||
*ipaControls = ControlInfoMap(std::move(controls), controls::controls);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user