summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-10-26 23:02:22 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-11-20 21:47:58 +0200
commit5f90d52d6e36c7d1c77717d026d0e7413d597d5e (patch)
treee0b29515fdb6497bf8a84a0e21316e03fdd360b6
parentc0b437fd6cf7ca2e91eb749a25539f217722c66e (diff)
ipa: Pass ControlInfoMap references to IPAInterface::configure()
The IPAInterface::configure() operation receives a map of ControlInfoMap instances. Pass const references instead to avoid copies when not required (the callee can still make manual copies), and to allow for the future serialization layer to keep references to the original object. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r--include/ipa/ipa_interface.h2
-rw-r--r--src/ipa/ipa_vimc.cpp2
-rw-r--r--src/ipa/rkisp1/rkisp1.cpp4
-rw-r--r--src/libcamera/pipeline/rkisp1/rkisp1.cpp2
-rw-r--r--src/libcamera/proxy/ipa_proxy_linux.cpp2
5 files changed, 6 insertions, 6 deletions
diff --git a/include/ipa/ipa_interface.h b/include/ipa/ipa_interface.h
index 8fd658af..35dc4b4e 100644
--- a/include/ipa/ipa_interface.h
+++ b/include/ipa/ipa_interface.h
@@ -43,7 +43,7 @@ public:
virtual int init() = 0;
virtual void configure(const std::map<unsigned int, IPAStream> &streamConfig,
- const std::map<unsigned int, ControlInfoMap> &entityControls) = 0;
+ const std::map<unsigned int, const ControlInfoMap &> &entityControls) = 0;
virtual void mapBuffers(const std::vector<IPABuffer> &buffers) = 0;
virtual void unmapBuffers(const std::vector<unsigned int> &ids) = 0;
diff --git a/src/ipa/ipa_vimc.cpp b/src/ipa/ipa_vimc.cpp
index 9fd5212b..50ca8dd8 100644
--- a/src/ipa/ipa_vimc.cpp
+++ b/src/ipa/ipa_vimc.cpp
@@ -31,7 +31,7 @@ public:
int init() override;
void configure(const std::map<unsigned int, IPAStream> &streamConfig,
- const std::map<unsigned int, ControlInfoMap> &entityControls) override {}
+ const std::map<unsigned int, const ControlInfoMap &> &entityControls) override {}
void mapBuffers(const std::vector<IPABuffer> &buffers) override {}
void unmapBuffers(const std::vector<unsigned int> &ids) override {}
void processEvent(const IPAOperationData &event) override {}
diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index d741d567..41babf0c 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -33,7 +33,7 @@ public:
int init() override { return 0; }
void configure(const std::map<unsigned int, IPAStream> &streamConfig,
- const std::map<unsigned int, ControlInfoMap> &entityControls) override;
+ const std::map<unsigned int, const ControlInfoMap &> &entityControls) override;
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
void unmapBuffers(const std::vector<unsigned int> &ids) override;
void processEvent(const IPAOperationData &event) override;
@@ -62,7 +62,7 @@ private:
};
void IPARkISP1::configure(const std::map<unsigned int, IPAStream> &streamConfig,
- const std::map<unsigned int, ControlInfoMap> &entityControls)
+ const std::map<unsigned int, const ControlInfoMap &> &entityControls)
{
if (entityControls.empty())
return;
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index b21cf924..4a583a7a 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -777,7 +777,7 @@ int PipelineHandlerRkISP1::start(Camera *camera)
.size = data->stream_.configuration().size,
};
- std::map<unsigned int, ControlInfoMap> entityControls;
+ std::map<unsigned int, const ControlInfoMap &> entityControls;
entityControls.emplace(0, data->sensor_->controls());
data->ipa_->configure(streamConfig, entityControls);
diff --git a/src/libcamera/proxy/ipa_proxy_linux.cpp b/src/libcamera/proxy/ipa_proxy_linux.cpp
index 27b6639d..c7218fb4 100644
--- a/src/libcamera/proxy/ipa_proxy_linux.cpp
+++ b/src/libcamera/proxy/ipa_proxy_linux.cpp
@@ -28,7 +28,7 @@ public:
int init() override { return 0; }
void configure(const std::map<unsigned int, IPAStream> &streamConfig,
- const std::map<unsigned int, ControlInfoMap> &entityControls) override {}
+ const std::map<unsigned int, const ControlInfoMap &> &entityControls) override {}
void mapBuffers(const std::vector<IPABuffer> &buffers) override {}
void unmapBuffers(const std::vector<unsigned int> &ids) override {}
void processEvent(const IPAOperationData &event) override {}