From 73b7ba9da5fe7b1aec62af091ad36403cd3505c4 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 1 Mar 2020 22:02:37 +0200 Subject: libcamera: controls: Name all ControlInfoMap instance variables infoMap To prepare for the rename of ControlRange to ControlInfo, rename all the ControlInfoMap instance variables currently named info to infoMap. This will help avoiding namespace clashes. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- include/libcamera/controls.h | 2 +- src/libcamera/control_serializer.cpp | 29 ++++++----- src/libcamera/controls.cpp | 6 +-- src/libcamera/include/control_serializer.h | 4 +- test/controls/control_info.cpp | 82 ------------------------------ test/controls/control_info_map.cpp | 82 ++++++++++++++++++++++++++++++ test/controls/meson.build | 8 +-- test/v4l2_videodevice/controls.cpp | 18 +++---- 8 files changed, 116 insertions(+), 115 deletions(-) delete mode 100644 test/controls/control_info.cpp create mode 100644 test/controls/control_info_map.cpp diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index 0e111ab7..3d2250f4 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -313,7 +313,7 @@ private: public: ControlList(); ControlList(const ControlIdMap &idmap, ControlValidator *validator = nullptr); - ControlList(const ControlInfoMap &info, ControlValidator *validator = nullptr); + ControlList(const ControlInfoMap &infoMap, ControlValidator *validator = nullptr); using iterator = ControlListMap::iterator; using const_iterator = ControlListMap::const_iterator; diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp index 004735fb..dcc63d20 100644 --- a/src/libcamera/control_serializer.cpp +++ b/src/libcamera/control_serializer.cpp @@ -106,19 +106,19 @@ size_t ControlSerializer::binarySize(const ControlRange &range) /** * \brief Retrieve the size in bytes required to serialize a ControlInfoMap - * \param[in] info The control info map + * \param[in] infoMap The control info map * * Compute and return the size in bytes required to store the serialized * ControlInfoMap. * * \return The size in bytes required to store the serialized ControlInfoMap */ -size_t ControlSerializer::binarySize(const ControlInfoMap &info) +size_t ControlSerializer::binarySize(const ControlInfoMap &infoMap) { size_t size = sizeof(struct ipa_controls_header) - + info.size() * sizeof(struct ipa_control_range_entry); + + infoMap.size() * sizeof(struct ipa_control_range_entry); - for (const auto &ctrl : info) + for (const auto &ctrl : infoMap) size += binarySize(ctrl.second); return size; @@ -159,32 +159,33 @@ void ControlSerializer::store(const ControlRange &range, /** * \brief Serialize a ControlInfoMap in a buffer - * \param[in] info The control info map to serialize + * \param[in] infoMap The control info map to serialize * \param[in] buffer The memory buffer where to serialize the ControlInfoMap * - * Serialize the \a info map into the \a buffer using the serialization format + * Serialize the \a infoMap into the \a buffer using the serialization format * defined by the IPA context interface in ipa_controls.h. * - * The serializer stores a reference to the \a info internally. The caller - * shall ensure that \a info stays valid until the serializer is reset(). + * The serializer stores a reference to the \a infoMap internally. The caller + * shall ensure that \a infoMap stays valid until the serializer is reset(). * * \return 0 on success, a negative error code otherwise * \retval -ENOSPC Not enough space is available in the buffer */ -int ControlSerializer::serialize(const ControlInfoMap &info, +int ControlSerializer::serialize(const ControlInfoMap &infoMap, ByteStreamBuffer &buffer) { /* Compute entries and data required sizes. */ - size_t entriesSize = info.size() * sizeof(struct ipa_control_range_entry); + size_t entriesSize = infoMap.size() + * sizeof(struct ipa_control_range_entry); size_t valuesSize = 0; - for (const auto &ctrl : info) + for (const auto &ctrl : infoMap) valuesSize += binarySize(ctrl.second); /* Prepare the packet header, assign a handle to the ControlInfoMap. */ struct ipa_controls_header hdr; hdr.version = IPA_CONTROLS_FORMAT_VERSION; hdr.handle = ++serial_; - hdr.entries = info.size(); + hdr.entries = infoMap.size(); hdr.size = sizeof(hdr) + entriesSize + valuesSize; hdr.data_offset = sizeof(hdr) + entriesSize; @@ -197,7 +198,7 @@ int ControlSerializer::serialize(const ControlInfoMap &info, ByteStreamBuffer entries = buffer.carveOut(entriesSize); ByteStreamBuffer values = buffer.carveOut(valuesSize); - for (const auto &ctrl : info) { + for (const auto &ctrl : infoMap) { const ControlId *id = ctrl.first; const ControlRange &range = ctrl.second; @@ -217,7 +218,7 @@ int ControlSerializer::serialize(const ControlInfoMap &info, * Store the map to handle association, to be used to serialize and * deserialize control lists. */ - infoMapHandles_[&info] = hdr.handle; + infoMapHandles_[&infoMap] = hdr.handle; return 0; } diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp index 4326174a..833a436c 100644 --- a/src/libcamera/controls.cpp +++ b/src/libcamera/controls.cpp @@ -706,11 +706,11 @@ ControlList::ControlList(const ControlIdMap &idmap, ControlValidator *validator) /** * \brief Construct a ControlList with the idmap of a control info map - * \param[in] info The ControlInfoMap for the control list target object + * \param[in] infoMap The ControlInfoMap for the control list target object * \param[in] validator The validator (may be null) */ -ControlList::ControlList(const ControlInfoMap &info, ControlValidator *validator) - : validator_(validator), idmap_(&info.idmap()), infoMap_(&info) +ControlList::ControlList(const ControlInfoMap &infoMap, ControlValidator *validator) + : validator_(validator), idmap_(&infoMap.idmap()), infoMap_(&infoMap) { } diff --git a/src/libcamera/include/control_serializer.h b/src/libcamera/include/control_serializer.h index b91d1315..026e6234 100644 --- a/src/libcamera/include/control_serializer.h +++ b/src/libcamera/include/control_serializer.h @@ -24,10 +24,10 @@ public: void reset(); - static size_t binarySize(const ControlInfoMap &info); + static size_t binarySize(const ControlInfoMap &infoMap); static size_t binarySize(const ControlList &list); - int serialize(const ControlInfoMap &info, ByteStreamBuffer &buffer); + int serialize(const ControlInfoMap &infoMap, ByteStreamBuffer &buffer); int serialize(const ControlList &list, ByteStreamBuffer &buffer); template diff --git a/test/controls/control_info.cpp b/test/controls/control_info.cpp deleted file mode 100644 index fa9d7bae..00000000 --- a/test/controls/control_info.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Copyright (C) 2019, Google Inc. - * - * control_info.cpp - ControlInfoMap tests - */ - -#include - -#include -#include -#include -#include - -#include "camera_controls.h" - -#include "camera_test.h" -#include "test.h" - -using namespace std; -using namespace libcamera; - -class ControlInfoMapTest : public CameraTest, public Test -{ -public: - ControlInfoMapTest() - : CameraTest("VIMC Sensor B") - { - } - -protected: - int init() override - { - return status_; - } - - int run() override - { - const ControlInfoMap &info = camera_->controls(); - - /* Test looking up a valid control by ControlId. */ - if (info.count(&controls::Brightness) != 1) { - cerr << "count() on valid control failed" << endl; - return TestFail; - } - - if (info.find(&controls::Brightness) == info.end()) { - cerr << "find() on valid control failed" << endl; - return TestFail; - } - - info.at(&controls::Brightness); - - /* Test looking up a valid control by numerical ID. */ - if (info.count(controls::Brightness.id()) != 1) { - cerr << "count() on valid ID failed" << endl; - return TestFail; - } - - if (info.find(controls::Brightness.id()) == info.end()) { - cerr << "find() on valid ID failed" << endl; - return TestFail; - } - - info.at(controls::Brightness.id()); - - /* Test looking up an invalid control by numerical ID. */ - if (info.count(12345) != 0) { - cerr << "count() on invalid ID failed" << endl; - return TestFail; - } - - if (info.find(12345) != info.end()) { - cerr << "find() on invalid ID failed" << endl; - return TestFail; - } - - return TestPass; - } -}; - -TEST_REGISTER(ControlInfoMapTest) diff --git a/test/controls/control_info_map.cpp b/test/controls/control_info_map.cpp new file mode 100644 index 00000000..eeb702db --- /dev/null +++ b/test/controls/control_info_map.cpp @@ -0,0 +1,82 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * control_info.cpp - ControlInfoMap tests + */ + +#include + +#include +#include +#include +#include + +#include "camera_controls.h" + +#include "camera_test.h" +#include "test.h" + +using namespace std; +using namespace libcamera; + +class ControlInfoMapTest : public CameraTest, public Test +{ +public: + ControlInfoMapTest() + : CameraTest("VIMC Sensor B") + { + } + +protected: + int init() override + { + return status_; + } + + int run() override + { + const ControlInfoMap &infoMap = camera_->controls(); + + /* Test looking up a valid control by ControlId. */ + if (infoMap.count(&controls::Brightness) != 1) { + cerr << "count() on valid control failed" << endl; + return TestFail; + } + + if (infoMap.find(&controls::Brightness) == infoMap.end()) { + cerr << "find() on valid control failed" << endl; + return TestFail; + } + + infoMap.at(&controls::Brightness); + + /* Test looking up a valid control by numerical ID. */ + if (infoMap.count(controls::Brightness.id()) != 1) { + cerr << "count() on valid ID failed" << endl; + return TestFail; + } + + if (infoMap.find(controls::Brightness.id()) == infoMap.end()) { + cerr << "find() on valid ID failed" << endl; + return TestFail; + } + + infoMap.at(controls::Brightness.id()); + + /* Test looking up an invalid control by numerical ID. */ + if (infoMap.count(12345) != 0) { + cerr << "count() on invalid ID failed" << endl; + return TestFail; + } + + if (infoMap.find(12345) != infoMap.end()) { + cerr << "find() on invalid ID failed" << endl; + return TestFail; + } + + return TestPass; + } +}; + +TEST_REGISTER(ControlInfoMapTest) diff --git a/test/controls/meson.build b/test/controls/meson.build index f0850df2..16a7f33f 100644 --- a/test/controls/meson.build +++ b/test/controls/meson.build @@ -1,8 +1,8 @@ control_tests = [ - [ 'control_info', 'control_info.cpp' ], - [ 'control_list', 'control_list.cpp' ], - [ 'control_range', 'control_range.cpp' ], - [ 'control_value', 'control_value.cpp' ], + [ 'control_info_map', 'control_info_map.cpp' ], + [ 'control_list', 'control_list.cpp' ], + [ 'control_range', 'control_range.cpp' ], + [ 'control_value', 'control_value.cpp' ], ] foreach t : control_tests diff --git a/test/v4l2_videodevice/controls.cpp b/test/v4l2_videodevice/controls.cpp index 42c653d4..1b71bf06 100644 --- a/test/v4l2_videodevice/controls.cpp +++ b/test/v4l2_videodevice/controls.cpp @@ -26,27 +26,27 @@ public: protected: int run() { - const ControlInfoMap &info = capture_->controls(); + const ControlInfoMap &infoMap = capture_->controls(); /* Test control enumeration. */ - if (info.empty()) { + if (infoMap.empty()) { cerr << "Failed to enumerate controls" << endl; return TestFail; } - if (info.find(V4L2_CID_BRIGHTNESS) == info.end() || - info.find(V4L2_CID_CONTRAST) == info.end() || - info.find(V4L2_CID_SATURATION) == info.end()) { + if (infoMap.find(V4L2_CID_BRIGHTNESS) == infoMap.end() || + infoMap.find(V4L2_CID_CONTRAST) == infoMap.end() || + infoMap.find(V4L2_CID_SATURATION) == infoMap.end()) { cerr << "Missing controls" << endl; return TestFail; } - const ControlRange &brightness = info.find(V4L2_CID_BRIGHTNESS)->second; - const ControlRange &contrast = info.find(V4L2_CID_CONTRAST)->second; - const ControlRange &saturation = info.find(V4L2_CID_SATURATION)->second; + const ControlRange &brightness = infoMap.find(V4L2_CID_BRIGHTNESS)->second; + const ControlRange &contrast = infoMap.find(V4L2_CID_CONTRAST)->second; + const ControlRange &saturation = infoMap.find(V4L2_CID_SATURATION)->second; /* Test getting controls. */ - ControlList ctrls(info); + ControlList ctrls(infoMap); ctrls.set(V4L2_CID_BRIGHTNESS, -1); ctrls.set(V4L2_CID_CONTRAST, -1); ctrls.set(V4L2_CID_SATURATION, -1); -- cgit v1.2.1