diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2020-04-24 12:01:49 +0200 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2020-04-28 22:25:23 +0200 |
commit | fd554f9dba3171b624e584d50c7554f9c5f9cc52 (patch) | |
tree | 2c2cdf6a92aeed7de55107333f51be1f2ce3ca78 /src/libcamera/proxy | |
parent | ee4bb92aaeefaed04603d0b0c279d0d4f0be0197 (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.cpp | 3 | ||||
-rw-r--r-- | src/libcamera/proxy/ipa_proxy_thread.cpp | 8 |
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) |