summaryrefslogtreecommitdiff
path: root/src/libcamera/proxy
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-04-24 12:01:49 +0200
committerJacopo Mondi <jacopo@jmondi.org>2020-04-28 22:25:23 +0200
commitfd554f9dba3171b624e584d50c7554f9c5f9cc52 (patch)
tree2c2cdf6a92aeed7de55107333f51be1f2ce3ca78 /src/libcamera/proxy
parentee4bb92aaeefaed04603d0b0c279d0d4f0be0197 (diff)
libcamera: ipa: Add support for CameraSensorInfo
Add support for camera sensor information in the libcamera IPA protocol. Define a new 'struct ipa_sensor_info' structure in the IPA context and use it to perform translation between the C and the C++ API. Update the IPAInterface::configure() operation to accept a new CameraSensorInfo parameter and port all users of that function to the new interface. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src/libcamera/proxy')
-rw-r--r--src/libcamera/proxy/ipa_proxy_linux.cpp3
-rw-r--r--src/libcamera/proxy/ipa_proxy_thread.cpp8
2 files changed, 7 insertions, 4 deletions
diff --git a/src/libcamera/proxy/ipa_proxy_linux.cpp b/src/libcamera/proxy/ipa_proxy_linux.cpp
index cd8ac824..9e0f44cf 100644
--- a/src/libcamera/proxy/ipa_proxy_linux.cpp
+++ b/src/libcamera/proxy/ipa_proxy_linux.cpp
@@ -29,7 +29,8 @@ public:
int init(const IPASettings &settings) override { return 0; }
int start() override { return 0; }
void stop() override {}
- void configure(const std::map<unsigned int, IPAStream> &streamConfig,
+ void configure(const CameraSensorInfo &sensorInfo,
+ const std::map<unsigned int, IPAStream> &streamConfig,
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 {}
diff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp
index be82fde3..81d2d68e 100644
--- a/src/libcamera/proxy/ipa_proxy_thread.cpp
+++ b/src/libcamera/proxy/ipa_proxy_thread.cpp
@@ -29,7 +29,8 @@ public:
int start() override;
void stop() override;
- void configure(const std::map<unsigned int, IPAStream> &streamConfig,
+ void configure(const CameraSensorInfo &sensorInfo,
+ const std::map<unsigned int, IPAStream> &streamConfig,
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;
@@ -126,10 +127,11 @@ void IPAProxyThread::stop()
thread_.wait();
}
-void IPAProxyThread::configure(const std::map<unsigned int, IPAStream> &streamConfig,
+void IPAProxyThread::configure(const CameraSensorInfo &sensorInfo,
+ const std::map<unsigned int, IPAStream> &streamConfig,
const std::map<unsigned int, const ControlInfoMap &> &entityControls)
{
- ipa_->configure(streamConfig, entityControls);
+ ipa_->configure(sensorInfo, streamConfig, entityControls);
}
void IPAProxyThread::mapBuffers(const std::vector<IPABuffer> &buffers)