summaryrefslogtreecommitdiff
path: root/src/ipa
diff options
context:
space:
mode:
authorStefan Klug <stefan.klug@ideasonboard.com>2024-05-22 15:31:51 +0200
committerStefan Klug <stefan.klug@ideasonboard.com>2024-06-11 15:11:11 +0200
commitacfd602767638aa6ce19fd831d5221bdf233195c (patch)
tree5db6222ad02171909572885a79f4a15562a585c8 /src/ipa
parent294ead848c3fa200b71062ed78550656a051cfbe (diff)
ipa: rkisp1: Fix algorithm controls vanish after configure
std::unordered_map::merge(source) has the side effect of actually moving items from source to target. In this case the controls were removed from the source maps on the first call to updateControls() and on the second call to updateControls() they were missing in the source maps and therefore also removed from the camera. Fix this by using insert() instead of merge(). This is most likely cheaper than copy-contructing the source map. Fixes: 4c5152843a2a ("ipa: rkisp1: Derive rkisp1::algorithms::Agc from AgcMeanLuminance") Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Diffstat (limited to 'src/ipa')
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index 6687c91e..17474408 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -427,7 +427,7 @@ void IPARkISP1::updateControls(const IPACameraSensorInfo &sensorInfo,
frameDurations[1],
frameDurations[2]);
- ctrlMap.merge(context_.ctrlMap);
+ ctrlMap.insert(context_.ctrlMap.begin(), context_.ctrlMap.end());
*ipaControls = ControlInfoMap(std::move(ctrlMap), controls::controls);
}