[libcamera-devel] [PATCH v2 2/2] libcamera: ipu3: cio2: Make use of utils::map_keys() helper
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Jul 1 23:09:48 CEST 2020
Use a helper instead of local code to retrieve all keys from a map.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
src/libcamera/pipeline/ipu3/cio2.cpp | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)
diff --git a/src/libcamera/pipeline/ipu3/cio2.cpp b/src/libcamera/pipeline/ipu3/cio2.cpp
index aa1459fb3599283b..7941c6845cbc9a9a 100644
--- a/src/libcamera/pipeline/ipu3/cio2.cpp
+++ b/src/libcamera/pipeline/ipu3/cio2.cpp
@@ -95,11 +95,7 @@ int CIO2Device::init(const MediaDevice *media, unsigned int index)
* utils::set_overlap requires the ranges to be sorted, keep the
* cio2Codes vector sorted in ascending order.
*/
- std::vector<unsigned int> cio2Codes;
- cio2Codes.reserve(mbusCodesToInfo.size());
- std::transform(mbusCodesToInfo.begin(), mbusCodesToInfo.end(),
- std::back_inserter(cio2Codes),
- [](auto &pair) { return pair.first; });
+ std::vector<unsigned int> cio2Codes = utils::map_keys(mbusCodesToInfo);
const std::vector<unsigned int> &sensorCodes = sensor_->mbusCodes();
if (!utils::set_overlap(sensorCodes.begin(), sensorCodes.end(),
cio2Codes.begin(), cio2Codes.end())) {
@@ -145,12 +141,7 @@ int CIO2Device::configure(const Size &size, V4L2DeviceFormat *outputFormat)
* Apply the selected format to the sensor, the CSI-2 receiver and
* the CIO2 output device.
*/
- std::vector<unsigned int> mbusCodes;
- mbusCodes.reserve(mbusCodesToInfo.size());
- std::transform(mbusCodesToInfo.begin(), mbusCodesToInfo.end(),
- std::back_inserter(mbusCodes),
- [](auto &pair) { return pair.first; });
-
+ std::vector<unsigned int> mbusCodes = utils::map_keys(mbusCodesToInfo);
sensorFormat = sensor_->getFormat(mbusCodes, size);
ret = sensor_->setFormat(&sensorFormat);
if (ret)
@@ -189,11 +180,7 @@ CIO2Device::generateConfiguration(Size size) const
size = sensor_->resolution();
/* Query the sensor static information for closest match. */
- std::vector<unsigned int> mbusCodes;
- std::transform(mbusCodesToInfo.begin(), mbusCodesToInfo.end(),
- std::back_inserter(mbusCodes),
- [](auto &pair) { return pair.first; });
-
+ std::vector<unsigned int> mbusCodes = utils::map_keys(mbusCodesToInfo);
V4L2SubdeviceFormat sensorFormat = sensor_->getFormat(mbusCodes, size);
if (!sensorFormat.mbus_code) {
LOG(IPU3, Error) << "Sensor does not support mbus code";
--
2.27.0
More information about the libcamera-devel
mailing list