diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-09-28 00:27:33 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2019-10-04 19:33:08 +0300 |
commit | dd37ef784e7b4a8125225177bf74eef04b8efd83 (patch) | |
tree | b270db2787d69e3139d22787b4650c543c753dc2 /src | |
parent | 224ef9776ac5be51f984780c761713027f2c6102 (diff) |
libcamera: controls: Use explicit 32-bit integer types
Make the control API more explicit when dealing with integer controls by
specifying the size. We already do so for 64-bit integers, using int64_t
and ControlTypeInteger64, do the same for 32-bit integers.
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/libcamera/controls.cpp | 36 | ||||
-rw-r--r-- | src/libcamera/pipeline/uvcvideo.cpp | 10 | ||||
-rw-r--r-- | src/libcamera/pipeline/vimc.cpp | 6 |
3 files changed, 26 insertions, 26 deletions
diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp index 88aab88d..295ccd55 100644 --- a/src/libcamera/controls.cpp +++ b/src/libcamera/controls.cpp @@ -31,8 +31,8 @@ LOG_DEFINE_CATEGORY(Controls) * Invalid type, for empty values * \var ControlTypeBool * The control stores a boolean value - * \var ControlTypeInteger - * The control stores an integer value + * \var ControlTypeInteger32 + * The control stores a 32-bit integer value * \var ControlTypeInteger64 * The control stores a 64-bit integer value */ @@ -63,8 +63,8 @@ ControlValue::ControlValue(bool value) * \brief Construct an integer ControlValue * \param[in] value Integer value to store */ -ControlValue::ControlValue(int value) - : type_(ControlTypeInteger), integer_(value) +ControlValue::ControlValue(int32_t value) + : type_(ControlTypeInteger32), integer32_(value) { } @@ -115,17 +115,17 @@ const bool &ControlValue::get<bool>() const } template<> -const int &ControlValue::get<int>() const +const int32_t &ControlValue::get<int32_t>() const { - ASSERT(type_ == ControlTypeInteger || type_ == ControlTypeInteger64); + ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64); - return integer_; + return integer32_; } template<> const int64_t &ControlValue::get<int64_t>() const { - ASSERT(type_ == ControlTypeInteger || type_ == ControlTypeInteger64); + ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64); return integer64_; } @@ -138,10 +138,10 @@ void ControlValue::set<bool>(const bool &value) } template<> -void ControlValue::set<int>(const int &value) +void ControlValue::set<int32_t>(const int32_t &value) { - type_ = ControlTypeInteger; - integer_ = value; + type_ = ControlTypeInteger32; + integer32_ = value; } template<> @@ -163,8 +163,8 @@ std::string ControlValue::toString() const return "<None>"; case ControlTypeBool: return bool_ ? "True" : "False"; - case ControlTypeInteger: - return std::to_string(integer_); + case ControlTypeInteger32: + return std::to_string(integer32_); case ControlTypeInteger64: return std::to_string(integer64_); } @@ -186,35 +186,35 @@ std::string ControlValue::toString() const /** * \var Brightness - * ControlType: Integer + * ControlType: Integer32 * * Specify a fixed brightness parameter. */ /** * \var Contrast - * ControlType: Integer + * ControlType: Integer32 * * Specify a fixed contrast parameter. */ /** * \var Saturation - * ControlType: Integer + * ControlType: Integer32 * * Specify a fixed saturation parameter. */ /** * \var ManualExposure - * ControlType: Integer + * ControlType: Integer32 * * Specify a fixed exposure time in milli-seconds */ /** * \var ManualGain - * ControlType: Integer + * ControlType: Integer32 * * Specify a fixed gain parameter */ diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp index 81c548af..0d56758e 100644 --- a/src/libcamera/pipeline/uvcvideo.cpp +++ b/src/libcamera/pipeline/uvcvideo.cpp @@ -235,24 +235,24 @@ int PipelineHandlerUVC::processControls(UVCCameraData *data, Request *request) switch (ci->id()) { case Brightness: - controls.add(V4L2_CID_BRIGHTNESS, value.get<int>()); + controls.add(V4L2_CID_BRIGHTNESS, value.get<int32_t>()); break; case Contrast: - controls.add(V4L2_CID_CONTRAST, value.get<int>()); + controls.add(V4L2_CID_CONTRAST, value.get<int32_t>()); break; case Saturation: - controls.add(V4L2_CID_SATURATION, value.get<int>()); + controls.add(V4L2_CID_SATURATION, value.get<int32_t>()); break; case ManualExposure: controls.add(V4L2_CID_EXPOSURE_AUTO, 1); - controls.add(V4L2_CID_EXPOSURE_ABSOLUTE, value.get<int>()); + controls.add(V4L2_CID_EXPOSURE_ABSOLUTE, value.get<int32_t>()); break; case ManualGain: - controls.add(V4L2_CID_GAIN, value.get<int>()); + controls.add(V4L2_CID_GAIN, value.get<int32_t>()); break; default: diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp index 3e34e7a0..e549dc64 100644 --- a/src/libcamera/pipeline/vimc.cpp +++ b/src/libcamera/pipeline/vimc.cpp @@ -288,15 +288,15 @@ int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request) switch (ci->id()) { case Brightness: - controls.add(V4L2_CID_BRIGHTNESS, value.get<int>()); + controls.add(V4L2_CID_BRIGHTNESS, value.get<int32_t>()); break; case Contrast: - controls.add(V4L2_CID_CONTRAST, value.get<int>()); + controls.add(V4L2_CID_CONTRAST, value.get<int32_t>()); break; case Saturation: - controls.add(V4L2_CID_SATURATION, value.get<int>()); + controls.add(V4L2_CID_SATURATION, value.get<int32_t>()); break; default: |