From patchwork Thu Feb 12 15:12:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 26140 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 74558BD78E for ; Thu, 12 Feb 2026 15:12:48 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id ECBB3621DA; Thu, 12 Feb 2026 16:12:47 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="mj4CzMAT"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3C83D621CC for ; Thu, 12 Feb 2026 16:12:45 +0100 (CET) Received: from killaraus.ideasonboard.com (2001-14ba-703d-e500--2a1.rev.dnainternet.fi [IPv6:2001:14ba:703d:e500::2a1]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 2950611EB for ; Thu, 12 Feb 2026 16:11:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1770909117; bh=RWU4+ax/7Hd21GYl4lk7oADEjsAkvWNhBTefYE0iQCk=; h=From:To:Subject:Date:In-Reply-To:References:From; b=mj4CzMATnFMmwV6hBbcrG0EaL6yTRYkTGl64/m8+Lxm7qhyzYRx6zpdAP086Avptl E7PYSRFnUxK2w9W6XsvsomqP1RmbF4Sbyy7MOpbFKcLJhsijnY1k9MKcNEYYm+r07L qsusqs2THwPk33PZ693r4Q40tSIiR1zMe+AkpFkc= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 4/4] libcamera: Standardize on 'const auto' Date: Thu, 12 Feb 2026 17:12:38 +0200 Message-ID: <20260212151238.3736234-5-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260212151238.3736234-1-laurent.pinchart@ideasonboard.com> References: <20260212151238.3736234-1-laurent.pinchart@ideasonboard.com> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 'const auto' and 'auto const' are interchanggeable in C++. There are 446 occurrences of the former in the code base, and 67 occurrences of the latter. Standardize on the winner. Signed-off-by: Laurent Pinchart --- .../guides/application-developer.rst | 2 +- include/libcamera/base/utils.h | 2 +- src/apps/common/stream_options.cpp | 4 ++-- src/ipa/ipu3/ipu3.cpp | 8 +++---- src/ipa/mali-c55/mali-c55.cpp | 8 +++---- src/ipa/rkisp1/rkisp1.cpp | 8 +++---- src/ipa/rpi/common/ipa_base.cpp | 4 ++-- src/ipa/rpi/controller/controller.cpp | 6 ++--- src/ipa/rpi/controller/rpi/agc_channel.cpp | 2 +- src/ipa/rpi/controller/rpi/lux.cpp | 2 +- src/ipa/rpi/pisp/pisp.cpp | 2 +- src/ipa/rpi/vc4/vc4.cpp | 2 +- src/ipa/simple/soft_simple.cpp | 8 +++---- src/libcamera/delayed_controls.cpp | 4 ++-- src/libcamera/media_device.cpp | 2 +- src/libcamera/pipeline/mali-c55/mali-c55.cpp | 2 +- .../pipeline/rpi/common/delayed_controls.cpp | 4 ++-- .../pipeline/rpi/common/pipeline_base.cpp | 24 +++++++++---------- .../pipeline/rpi/common/rpi_stream.cpp | 8 +++---- src/libcamera/pipeline/rpi/pisp/pisp.cpp | 6 ++--- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +- src/libcamera/pipeline/virtual/virtual.cpp | 2 +- src/libcamera/stream.cpp | 4 ++-- src/libcamera/v4l2_videodevice.cpp | 2 +- test/media_device/media_device_print_test.cpp | 10 ++++---- test/v4l2_videodevice/buffer_cache.cpp | 2 +- 26 files changed, 65 insertions(+), 65 deletions(-) diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst index 06c07d1e9449..918077af1d22 100644 --- a/Documentation/guides/application-developer.rst +++ b/Documentation/guides/application-developer.rst @@ -82,7 +82,7 @@ cameras in the system: .. code:: cpp - for (auto const &camera : cm->cameras()) + for (const auto &camera : cm->cameras()) std::cout << camera->id() << std::endl; Printing the camera id lists the machine-readable unique identifiers, so for diff --git a/include/libcamera/base/utils.h b/include/libcamera/base/utils.h index 37f0d065f82f..7083b7ce9ce9 100644 --- a/include/libcamera/base/utils.h +++ b/include/libcamera/base/utils.h @@ -340,7 +340,7 @@ public: template double get() const { - auto const c = std::chrono::duration_cast>(*this); + const auto c = std::chrono::duration_cast>(*this); return c.count(); } diff --git a/src/apps/common/stream_options.cpp b/src/apps/common/stream_options.cpp index 288f86530351..54e00737cb65 100644 --- a/src/apps/common/stream_options.cpp +++ b/src/apps/common/stream_options.cpp @@ -48,7 +48,7 @@ std::vector StreamKeyValueParser::roles(const OptionValue &values) const std::vector &streamParameters = values.toArray(); std::vector roles; - for (auto const &value : streamParameters) { + for (const auto &value : streamParameters) { /* If a role is invalid default it to viewfinder. */ roles.push_back(parseRole(value.toKeyValues()).value_or(StreamRole::Viewfinder)); } @@ -81,7 +81,7 @@ int StreamKeyValueParser::updateConfiguration(CameraConfiguration *config, } unsigned int i = 0; - for (auto const &value : streamParameters) { + for (const auto &value : streamParameters) { KeyValueParser::Options opts = value.toKeyValues(); StreamConfiguration &cfg = config->at(i++); diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp index 03d873f2c74f..92f5bd072134 100644 --- a/src/ipa/ipu3/ipu3.cpp +++ b/src/ipa/ipu3/ipu3.cpp @@ -493,7 +493,7 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo, /* Update the IPASessionConfiguration using the sensor settings. */ updateSessionConfiguration(sensorCtrls_); - for (auto const &algo : algorithms()) { + for (const auto &algo : algorithms()) { int ret = algo->configure(context_, configInfo); if (ret) return ret; @@ -563,7 +563,7 @@ void IPAIPU3::computeParams(const uint32_t frame, const uint32_t bufferId) IPAFrameContext &frameContext = context_.frameContexts.get(frame); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->prepare(context_, frame, frameContext, params); paramsComputed.emit(frame); @@ -601,7 +601,7 @@ void IPAIPU3::processStats(const uint32_t frame, ControlList metadata(controls::controls); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->process(context_, frame, frameContext, stats, metadata); setControls(frame); @@ -629,7 +629,7 @@ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls) { IPAFrameContext &frameContext = context_.frameContexts.alloc(frame); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->queueRequest(context_, frame, frameContext, controls); } diff --git a/src/ipa/mali-c55/mali-c55.cpp b/src/ipa/mali-c55/mali-c55.cpp index c626e246643b..fd5c9563d6c3 100644 --- a/src/ipa/mali-c55/mali-c55.cpp +++ b/src/ipa/mali-c55/mali-c55.cpp @@ -285,7 +285,7 @@ int IPAMaliC55::configure(const IPAConfigInfo &ipaConfig, uint8_t bayerOrder, static_cast(bayerOrder)); updateControls(info, ipaConfig.sensorControls, ipaControls); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); int ret = algo->configure(context_, info); @@ -324,7 +324,7 @@ void IPAMaliC55::queueRequest(const uint32_t request, const ControlList &control { IPAFrameContext &frameContext = context_.frameContexts.alloc(request); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); algo->queueRequest(context_, request, frameContext, controls); @@ -337,7 +337,7 @@ void IPAMaliC55::fillParams(unsigned int request, IPAFrameContext &frameContext = context_.frameContexts.get(request); MaliC55Params params(buffers_.at(bufferId).planes()[0]); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->prepare(context_, request, frameContext, ¶ms); paramsComputed.emit(request, params.bytesused()); @@ -359,7 +359,7 @@ void IPAMaliC55::processStats(unsigned int request, unsigned int bufferId, ControlList metadata(controls::controls); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); algo->process(context_, request, frameContext, stats, metadata); diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp index fbcc39103d4b..373a343bddd0 100644 --- a/src/ipa/rkisp1/rkisp1.cpp +++ b/src/ipa/rkisp1/rkisp1.cpp @@ -280,7 +280,7 @@ int IPARkISP1::configure(const IPAConfigInfo &ipaConfig, return format.colourEncoding == PixelFormatInfo::ColourEncodingRAW; }); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); /* Disable algorithms that don't support raw formats. */ @@ -331,7 +331,7 @@ void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls) IPAFrameContext &frameContext = context_.frameContexts.alloc(frame); context_.debugMetadata.enableByControl(controls); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); if (algo->disabled_) continue; @@ -346,7 +346,7 @@ void IPARkISP1::computeParams(const uint32_t frame, const uint32_t bufferId) RkISP1Params params(context_.configuration.paramFormat, mappedBuffers_.at(bufferId).planes()[0]); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->prepare(context_, frame, frameContext, ¶ms); paramsComputed.emit(frame, params.bytesused()); @@ -373,7 +373,7 @@ void IPARkISP1::processStats(const uint32_t frame, const uint32_t bufferId, ControlList metadata(controls::controls); - for (auto const &a : algorithms()) { + for (const auto &a : algorithms()) { Algorithm *algo = static_cast(a.get()); if (algo->disabled_) continue; diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp index 7072b38c765e..17f6850f247e 100644 --- a/src/ipa/rpi/common/ipa_base.cpp +++ b/src/ipa/rpi/common/ipa_base.cpp @@ -924,7 +924,7 @@ void IpaBase::applyControls(const ControlList &controls) } while (false); /* Iterate over controls */ - for (auto const &ctrl : controls) { + for (const auto &ctrl : controls) { LOG(IPARPI, Debug) << "Request ctrl: " << controls::controls.at(ctrl.first)->name() << " = " << ctrl.second.toString(); @@ -1627,7 +1627,7 @@ void IpaBase::reportMetadata(unsigned int ipaContext) const HdrStatus &hdrStatus = agcStatus ? agcStatus->hdr : hdrStatus_; if (!hdrStatus.mode.empty() && hdrStatus.mode != "Off") { int32_t hdrMode = controls::HdrModeOff; - for (auto const &[mode, name] : HdrModeTable) { + for (const auto &[mode, name] : HdrModeTable) { if (hdrStatus.mode == name) { hdrMode = mode; break; diff --git a/src/ipa/rpi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp index 88de6f3655a8..138f6cb29141 100644 --- a/src/ipa/rpi/controller/controller.cpp +++ b/src/ipa/rpi/controller/controller.cpp @@ -114,7 +114,7 @@ int Controller::read(char const *filename) << "This format of the tuning file will be deprecated soon!" << " Please use the convert_tuning.py utility to update to version 2.0."; - for (auto const &[key, value] : root->asDict()) { + for (const auto &[key, value] : root->asDict()) { int ret = createAlgorithm(key, value); if (ret) return ret; @@ -127,8 +127,8 @@ int Controller::read(char const *filename) return -EINVAL; } - for (auto const &rootAlgo : (*root)["algorithms"].asList()) - for (auto const &[key, value] : rootAlgo.asDict()) { + for (const auto &rootAlgo : (*root)["algorithms"].asList()) + for (const auto &[key, value] : rootAlgo.asDict()) { int ret = createAlgorithm(key, value); if (ret) return ret; diff --git a/src/ipa/rpi/controller/rpi/agc_channel.cpp b/src/ipa/rpi/controller/rpi/agc_channel.cpp index 154551dfacc2..010de81a0e35 100644 --- a/src/ipa/rpi/controller/rpi/agc_channel.cpp +++ b/src/ipa/rpi/controller/rpi/agc_channel.cpp @@ -298,7 +298,7 @@ int AgcChannel::read(const libcamera::YamlObject ¶ms, return ret; const Size &size = hardwareConfig.agcZoneWeights; - for (auto const &modes : config_.meteringModes) { + for (const auto &modes : config_.meteringModes) { if (modes.second.weights.size() != size.width * size.height) { LOG(RPiAgc, Error) << "AgcMeteringMode: Incorrect number of weights"; return -EINVAL; diff --git a/src/ipa/rpi/controller/rpi/lux.cpp b/src/ipa/rpi/controller/rpi/lux.cpp index 7dab27cc0a90..efc2c511dbdc 100644 --- a/src/ipa/rpi/controller/rpi/lux.cpp +++ b/src/ipa/rpi/controller/rpi/lux.cpp @@ -90,7 +90,7 @@ void Lux::process(StatisticsPtr &stats, Metadata *imageMetadata) * is a better choice than the Y-histogram, for example, because it's invariant * to the metering mode (and cheaper to evaluate). */ - auto const &fullImageStats = stats->agcRegions.getFloating(0); + const auto &fullImageStats = stats->agcRegions.getFloating(0); double currentY = static_cast(fullImageStats.val.ySum) / fullImageStats.counted; double currentGain = deviceStatus.analogueGain; diff --git a/src/ipa/rpi/pisp/pisp.cpp b/src/ipa/rpi/pisp/pisp.cpp index ec7593ffc940..63935985ce5b 100644 --- a/src/ipa/rpi/pisp/pisp.cpp +++ b/src/ipa/rpi/pisp/pisp.cpp @@ -553,7 +553,7 @@ RPiController::StatisticsPtr IpaPiSP::platformProcessStats(Span mem) void IpaPiSP::handleControls(const ControlList &controls) { - for (auto const &ctrl : controls) { + for (const auto &ctrl : controls) { switch (ctrl.first) { case controls::HDR_MODE: case controls::AE_METERING_MODE: diff --git a/src/ipa/rpi/vc4/vc4.cpp b/src/ipa/rpi/vc4/vc4.cpp index 2b205b2861bd..b6ca44e7a0a0 100644 --- a/src/ipa/rpi/vc4/vc4.cpp +++ b/src/ipa/rpi/vc4/vc4.cpp @@ -300,7 +300,7 @@ void IpaVc4::handleControls(const ControlList &controls) { controls::draft::NoiseReductionModeZSL, RPiController::DenoiseMode::ColourHighQuality }, }; - for (auto const &ctrl : controls) { + for (const auto &ctrl : controls) { switch (ctrl.first) { case controls::draft::NOISE_REDUCTION_MODE: { RPiController::DenoiseAlgorithm *sdn = dynamic_cast( diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp index 6bef597c8ace..c35277cfe06e 100644 --- a/src/ipa/simple/soft_simple.cpp +++ b/src/ipa/simple/soft_simple.cpp @@ -249,7 +249,7 @@ int IPASoftSimple::configure(const IPAConfigInfo &configInfo) context_.configuration.agc.againMinStep = 1.0; } - for (auto const &algo : algorithms()) { + for (const auto &algo : algorithms()) { int ret = algo->configure(context_, configInfo); if (ret) return ret; @@ -279,7 +279,7 @@ void IPASoftSimple::queueRequest(const uint32_t frame, const ControlList &contro { IPAFrameContext &frameContext = context_.frameContexts.alloc(frame); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->queueRequest(context_, frame, frameContext, controls); } @@ -288,7 +288,7 @@ void IPASoftSimple::computeParams(const uint32_t frame) context_.activeState.combinedMatrix = Matrix::identity(); IPAFrameContext &frameContext = context_.frameContexts.get(frame); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->prepare(context_, frame, frameContext, params_); params_->combinedMatrix = context_.activeState.combinedMatrix; @@ -307,7 +307,7 @@ void IPASoftSimple::processStats(const uint32_t frame, frameContext.sensor.gain = camHelper_ ? camHelper_->gain(again) : again; ControlList metadata(controls::controls); - for (auto const &algo : algorithms()) + for (const auto &algo : algorithms()) algo->process(context_, frame, frameContext, stats_, metadata); metadataReady.emit(frame, metadata); diff --git a/src/libcamera/delayed_controls.cpp b/src/libcamera/delayed_controls.cpp index 94d0a575b01b..5b3ced4e711d 100644 --- a/src/libcamera/delayed_controls.cpp +++ b/src/libcamera/delayed_controls.cpp @@ -81,7 +81,7 @@ DelayedControls::DelayedControls(V4L2Device *device, * Create a map of control ids to delays for controls exposed by the * device. */ - for (auto const ¶m : controlParams) { + for (const auto ¶m : controlParams) { auto it = controls.find(param.first); if (it == controls.end()) { LOG(DelayedControls, Error) @@ -120,7 +120,7 @@ void DelayedControls::reset() /* Retrieve control as reported by the device. */ std::vector ids; - for (auto const ¶m : controlParams_) + for (const auto ¶m : controlParams_) ids.push_back(param.first->id()); ControlList controls = device_->getControls(ids); diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp index 8c82a2b1488b..3f974eaabd67 100644 --- a/src/libcamera/media_device.cpp +++ b/src/libcamera/media_device.cpp @@ -589,7 +589,7 @@ bool MediaDevice::addObject(MediaObject *object) */ void MediaDevice::clear() { - for (auto const &o : objects_) + for (const auto &o : objects_) delete o.second; objects_.clear(); diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp index 77f251416f71..c209b0b070b1 100644 --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp @@ -318,7 +318,7 @@ void MaliC55CameraData::updateControls(const ControlInfoMap &ipaControls) ControlInfo(ispMinCrop, sensorInfo.analogCrop, sensorInfo.analogCrop); - for (auto const &c : ipaControls) + for (const auto &c : ipaControls) controls.emplace(c.first, c.second); controlInfo_ = ControlInfoMap(std::move(controls), controls::controls); diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.cpp b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp index ad50a7c8bb08..19c719460349 100644 --- a/src/libcamera/pipeline/rpi/common/delayed_controls.cpp +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp @@ -85,7 +85,7 @@ DelayedControls::DelayedControls(V4L2Device *device, * Create a map of control ids to delays for controls exposed by the * device. */ - for (auto const ¶m : controlParams) { + for (const auto ¶m : controlParams) { auto it = controls.find(param.first); if (it == controls.end()) { LOG(RPiDelayedControls, Error) @@ -125,7 +125,7 @@ void DelayedControls::reset(unsigned int cookie) /* Retrieve control as reported by the device. */ std::vector ids; - for (auto const ¶m : controlParams_) + for (const auto ¶m : controlParams_) ids.push_back(param.first->id()); ControlList controls = device_->getControls(ids); diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp index de43603ddf69..c507b44b27d0 100644 --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp @@ -508,7 +508,7 @@ int PipelineHandlerBase::configure(Camera *camera, CameraConfiguration *config) /* Start by freeing all buffers and reset the stream states. */ data->freeBuffers(); - for (auto const stream : data->streams_) + for (const auto stream : data->streams_) stream->clearFlags(StreamFlag::External); /* @@ -561,7 +561,7 @@ int PipelineHandlerBase::configure(Camera *camera, CameraConfiguration *config) /* Update the controls that the Raspberry Pi IPA can handle. */ ControlInfoMap::Map ctrlMap; - for (auto const &c : result.controlInfo) + for (const auto &c : result.controlInfo) ctrlMap.emplace(c.first, c.second); const auto cropParamsIt = data->cropParams_.find(0); @@ -663,7 +663,7 @@ int PipelineHandlerBase::start(Camera *camera, const ControlList *controls) data->startupFrameCount_ = result.startupFrameCount; data->invalidFrameCount_ = result.invalidFrameCount; - for (auto const stream : data->streams_) + for (const auto stream : data->streams_) stream->resetBuffers(); if (!data->buffersAllocated_) { @@ -701,7 +701,7 @@ int PipelineHandlerBase::start(Camera *camera, const ControlList *controls) data->platformStart(); /* Start all streams. */ - for (auto const stream : data->streams_) { + for (const auto stream : data->streams_) { ret = stream->dev()->streamOn(); if (ret) { stop(camera); @@ -719,7 +719,7 @@ void PipelineHandlerBase::stopDevice(Camera *camera) data->state_ = CameraData::State::Stopped; data->platformStop(); - for (auto const stream : data->streams_) { + for (const auto stream : data->streams_) { stream->dev()->streamOff(); stream->dev()->releaseBuffers(); } @@ -801,7 +801,7 @@ int PipelineHandlerBase::registerCamera(std::unique_ptr &camera return -EINVAL; /* Populate the map of sensor supported formats and sizes. */ - for (auto const mbusCode : data->sensor_->mbusCodes()) + for (const auto mbusCode : data->sensor_->mbusCodes()) data->sensorFormats_.emplace(mbusCode, data->sensor_->sizes(mbusCode)); @@ -886,7 +886,7 @@ void PipelineHandlerBase::mapBuffers(Camera *camera, const BufferMap &buffers, u * This will allow us to identify buffers passed between the pipeline * handler and the IPA. */ - for (auto const &[id, buffer] : buffers) { + for (const auto &[id, buffer] : buffers) { Span planes = buffer.buffer->planes(); bufferIds.emplace_back(mask | id, @@ -902,7 +902,7 @@ int PipelineHandlerBase::queueAllBuffers(Camera *camera) CameraData *data = cameraData(camera); int ret; - for (auto const stream : data->streams_) { + for (const auto stream : data->streams_) { ret = stream->dev()->importBuffers(VIDEO_MAX_FRAME); if (ret < 0) return ret; @@ -987,7 +987,7 @@ void CameraData::freeBuffers() bufferIds_.clear(); } - for (auto const stream : streams_) + for (const auto stream : streams_) stream->releaseBuffers(); platformFreeBuffers(); @@ -1322,7 +1322,7 @@ void CameraData::applyScalerCrop(const ControlList &controls) scalerCrops.push_back(*scalerCropCore); } - for (auto const &[i, scalerCrop] : utils::enumerate(scalerCrops)) { + for (const auto &[i, scalerCrop] : utils::enumerate(scalerCrops)) { Rectangle nativeCrop = scalerCrop; if (!nativeCrop.width || !nativeCrop.height) @@ -1364,7 +1364,7 @@ void CameraData::cameraTimeout() * stop all devices streaming, and return any outstanding requests as * incomplete and cancelled. */ - for (auto const stream : streams_) + for (const auto stream : streams_) stream->dev()->streamOff(); clearIncompleteRequests(); @@ -1504,7 +1504,7 @@ void CameraData::fillRequestMetadata(const ControlList &bufferControls, Request if (cropParams_.size()) { std::vector crops; - for (auto const &[k, v] : cropParams_) + for (const auto &[k, v] : cropParams_) crops.push_back(scaleIspCrop(v.ispCrop)); request->_d()->metadata().set(controls::ScalerCrop, crops[0]); diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.cpp b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp index f420400dfe18..db452a15c988 100644 --- a/src/libcamera/pipeline/rpi/common/rpi_stream.cpp +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp @@ -68,13 +68,13 @@ void Stream::resetBuffers() { /* Add all internal buffers to the queue of usable buffers. */ availableBuffers_ = {}; - for (auto const &buffer : internalBuffers_) + for (const auto &buffer : internalBuffers_) availableBuffers_.push(buffer.get()); } void Stream::setExportedBuffers(std::vector> *buffers) { - for (auto const &buffer : *buffers) + for (const auto &buffer : *buffers) bufferEmplace(++id_, buffer.get()); } @@ -90,7 +90,7 @@ unsigned int Stream::getBufferId(FrameBuffer *buffer) const /* Find the buffer in the map, and return the buffer id. */ auto it = std::find_if(bufferMap_.begin(), bufferMap_.end(), - [&buffer](auto const &p) { return p.second.buffer == buffer; }); + [&buffer](const auto &p) { return p.second.buffer == buffer; }); if (it == bufferMap_.end()) return 0; @@ -201,7 +201,7 @@ void Stream::returnBuffer(FrameBuffer *buffer) const BufferObject &Stream::getBuffer(unsigned int id) { - auto const &it = bufferMap_.find(id); + const auto &it = bufferMap_.find(id); if (it == bufferMap_.end()) return errorBufferObject; diff --git a/src/libcamera/pipeline/rpi/pisp/pisp.cpp b/src/libcamera/pipeline/rpi/pisp/pisp.cpp index 7bcba32b9b58..dff73a79bb3f 100644 --- a/src/libcamera/pipeline/rpi/pisp/pisp.cpp +++ b/src/libcamera/pipeline/rpi/pisp/pisp.cpp @@ -972,7 +972,7 @@ int PipelineHandlerPiSP::allocateBuffers(Camera *camera) } /* Decide how many internal buffers to allocate. */ - for (auto const stream : data->streams_) { + for (const auto stream : data->streams_) { unsigned int numBuffers; /* * For CFE, allocate a minimum of 4 buffers as we want @@ -1036,12 +1036,12 @@ int PipelineHandlerPiSP::allocateBuffers(Camera *camera) pisp_image_format_config tdn; data->be_->GetTdnOutputFormat(tdn); unsigned int size = tdn.stride * tdn.height; - for (auto const &buffer : data->isp_[Isp::TdnOutput].getBuffers()) { + for (const auto &buffer : data->isp_[Isp::TdnOutput].getBuffers()) { FrameBuffer *b = buffer.second.buffer; b->_d()->metadata().planes()[0].bytesused = size; data->tdnBuffers_.push_back(b); } - for (auto const &buffer : data->isp_[Isp::StitchOutput].getBuffers()) { + for (const auto &buffer : data->isp_[Isp::StitchOutput].getBuffers()) { FrameBuffer *b = buffer.second.buffer; b->_d()->metadata().planes()[0].bytesused = size; data->stitchBuffers_.push_back(b); diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp index 8a80439e9082..b734889dd016 100644 --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp @@ -233,7 +233,7 @@ int PipelineHandlerVc4::allocateBuffers(Camera *camera) } /* Decide how many internal buffers to allocate. */ - for (auto const stream : data->streams_) { + for (const auto stream : data->streams_) { unsigned int numBuffers; /* * For Unicam, allocate a minimum number of buffers for internal diff --git a/src/libcamera/pipeline/virtual/virtual.cpp b/src/libcamera/pipeline/virtual/virtual.cpp index 40c35264c568..efd800ebe3d6 100644 --- a/src/libcamera/pipeline/virtual/virtual.cpp +++ b/src/libcamera/pipeline/virtual/virtual.cpp @@ -136,7 +136,7 @@ VirtualCameraData::VirtualCameraData(PipelineHandler *pipe, void VirtualCameraData::processRequest(Request *request) { - for (auto const &[stream, buffer] : request->buffers()) { + for (const auto &[stream, buffer] : request->buffers()) { bool found = false; /* map buffer and fill test patterns */ for (auto &streamConfig : streamConfigs_) { diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp index 8df70dbfd10b..be0c80cbcfc2 100644 --- a/src/libcamera/stream.cpp +++ b/src/libcamera/stream.cpp @@ -194,7 +194,7 @@ std::vector StreamFormats::sizes(const PixelFormat &pixelformat) const std::vector sizes; /* Make sure pixel format exists. */ - auto const &it = formats_.find(pixelformat); + const auto &it = formats_.find(pixelformat); if (it == formats_.end()) return {}; @@ -243,7 +243,7 @@ std::vector StreamFormats::sizes(const PixelFormat &pixelformat) const */ SizeRange StreamFormats::range(const PixelFormat &pixelformat) const { - auto const it = formats_.find(pixelformat); + const auto it = formats_.find(pixelformat); if (it == formats_.end()) return {}; diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp index 61a4551c63c5..d877df29ee6e 100644 --- a/src/libcamera/v4l2_videodevice.cpp +++ b/src/libcamera/v4l2_videodevice.cpp @@ -206,7 +206,7 @@ V4L2BufferCache::~V4L2BufferCache() */ bool V4L2BufferCache::isEmpty() const { - for (auto const &entry : cache_) { + for (const auto &entry : cache_) { if (!entry.free_) return false; } diff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp index 63aeed48fff6..d4dc1f515069 100644 --- a/test/media_device/media_device_print_test.cpp +++ b/test/media_device/media_device_print_test.cpp @@ -66,15 +66,15 @@ void MediaDevicePrintTest::printMediaGraph(const MediaDevice &media, ostream &os { os << "\n" << media.driver() << " - " << media.deviceNode() << "\n\n"; - for (auto const &entity : media.entities()) { + for (const auto &entity : media.entities()) { os << "\"" << entity->name() << "\"\n"; - for (auto const &sink : entity->pads()) { + for (const auto &sink : entity->pads()) { if (!(sink->flags() & MEDIA_PAD_FL_SINK)) continue; os << " [" << sink->index() << "]" << ": Sink\n"; - for (auto const &link : sink->links()) { + for (const auto &link : sink->links()) { os << "\t"; printNode(sink, os); os << " <- "; @@ -84,12 +84,12 @@ void MediaDevicePrintTest::printMediaGraph(const MediaDevice &media, ostream &os os << "\n"; } - for (auto const &source : entity->pads()) { + for (const auto &source : entity->pads()) { if (!(source->flags() & MEDIA_PAD_FL_SOURCE)) continue; os << " [" << source->index() << "]" << ": Source\n"; - for (auto const &link : source->links()) { + for (const auto &link : source->links()) { os << "\t"; printNode(source, os); os << " -> "; diff --git a/test/v4l2_videodevice/buffer_cache.cpp b/test/v4l2_videodevice/buffer_cache.cpp index 5a9aa2199c50..613e0d7ce9d2 100644 --- a/test/v4l2_videodevice/buffer_cache.cpp +++ b/test/v4l2_videodevice/buffer_cache.cpp @@ -133,7 +133,7 @@ public: if (!cache.isEmpty()) return TestFail; - for (auto const &buffer : buffers) { + for (const auto &buffer : buffers) { FrameBuffer &b = *buffer.get(); cache.get(b); }