Message ID | 20220630133902.321099-8-jacopo@jmondi.org |
---|---|
State | Not Applicable, archived |
Headers | show |
Series |
|
Related | show |
Quoting Jacopo Mondi via libcamera-devel (2022-06-30 14:38:46) > The control interface of the CameraSensor class operates on V4L2 > controls. > > To prepare to move the CameraSensor interface to use libcamera::internal > controls, rename the existing interface to be the 'v4l2' control > interface, to allow users to transition to the new interface gradually. > I think this makes sense regardless of how we name the controls we move towards. The more I read on this series, the more convinced I am that any 'internal' control would be a public control that should be reported through the metadata, so I think we could call this 'Moving to libcamera controls'... Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> > --- > include/libcamera/internal/camera_sensor.h | 6 +++--- > src/libcamera/camera_sensor/camera_sensor.cpp | 14 +++++++------- > src/libcamera/pipeline/ipu3/ipu3.cpp | 10 +++++----- > src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 14 +++++++------- > src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- > src/libcamera/pipeline/vimc/vimc.cpp | 8 ++++---- > 6 files changed, 27 insertions(+), 27 deletions(-) > > diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h > index 43b035b77f2b..2a850dedc0aa 100644 > --- a/include/libcamera/internal/camera_sensor.h > +++ b/include/libcamera/internal/camera_sensor.h > @@ -56,9 +56,9 @@ public: > const Size &size) const; > int setFormat(V4L2SubdeviceFormat *format); > > - const ControlInfoMap &controls() const; > - ControlList getControls(const std::vector<uint32_t> &ids); > - int setControls(ControlList *ctrls); > + const ControlInfoMap &v4l2Controls() const; > + ControlList getV4L2Controls(const std::vector<uint32_t> &ids); > + int setV4L2Controls(ControlList *ctrls); > > V4L2Subdevice *device() { return subdev_.get(); } > > diff --git a/src/libcamera/camera_sensor/camera_sensor.cpp b/src/libcamera/camera_sensor/camera_sensor.cpp > index 59b956e40803..26cfa7d0f65a 100644 > --- a/src/libcamera/camera_sensor/camera_sensor.cpp > +++ b/src/libcamera/camera_sensor/camera_sensor.cpp > @@ -335,8 +335,8 @@ void CameraSensor::initStaticProperties() > > void CameraSensor::initTestPatternModes() > { > - const auto &v4l2TestPattern = controls().find(V4L2_CID_TEST_PATTERN); > - if (v4l2TestPattern == controls().end()) { > + const auto &v4l2TestPattern = v4l2Controls().find(V4L2_CID_TEST_PATTERN); > + if (v4l2TestPattern == v4l2Controls().end()) { > LOG(CameraSensor, Debug) << "V4L2_CID_TEST_PATTERN is not supported"; > return; > } > @@ -615,10 +615,10 @@ int CameraSensor::applyTestPatternMode(controls::draft::TestPatternModeEnum mode > LOG(CameraSensor, Debug) << "Apply test pattern mode " << mode; > > int32_t index = staticProps_->testPatternModes.at(mode); > - ControlList ctrls{ controls() }; > + ControlList ctrls{ v4l2Controls() }; > ctrls.set(V4L2_CID_TEST_PATTERN, index); > > - int ret = setControls(&ctrls); > + int ret = setV4L2Controls(&ctrls); > if (ret) > return ret; > > @@ -744,7 +744,7 @@ int CameraSensor::setFormat(V4L2SubdeviceFormat *format) > * > * \return A map of the V4L2 controls supported by the sensor > */ > -const ControlInfoMap &CameraSensor::controls() const > +const ControlInfoMap &CameraSensor::v4l2Controls() const > { > return subdev_->controls(); > } > @@ -767,7 +767,7 @@ const ControlInfoMap &CameraSensor::controls() const > * \return The control values in a ControlList on success, or an empty list on > * error > */ > -ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids) > +ControlList CameraSensor::getV4L2Controls(const std::vector<uint32_t> &ids) > { > return subdev_->getControls(ids); > } > @@ -797,7 +797,7 @@ ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids) > * \retval -EINVAL One of the control is not supported or not accessible > * \retval i The index of the control that failed > */ > -int CameraSensor::setControls(ControlList *ctrls) > +int CameraSensor::setV4L2Controls(ControlList *ctrls) > { > return subdev_->setControls(ctrls); > } > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp > index b7dda282faab..85e5f8a70408 100644 > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp > @@ -581,7 +581,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) > * the sensor and user transform. > */ > if (data->supportsFlips_) { > - ControlList sensorCtrls(cio2->sensor()->controls()); > + ControlList sensorCtrls(cio2->sensor()->v4l2Controls()); > sensorCtrls.set(V4L2_CID_HFLIP, > static_cast<int32_t>(!!(config->combinedTransform_ > & Transform::HFlip))); > @@ -589,7 +589,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) > static_cast<int32_t>(!!(config->combinedTransform_ > & Transform::VFlip))); > > - ret = cio2->sensor()->setControls(&sensorCtrls); > + ret = cio2->sensor()->setV4L2Controls(&sensorCtrls); > if (ret) > return ret; > } > @@ -662,7 +662,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) > } > > ipa::ipu3::IPAConfigInfo configInfo; > - configInfo.sensorControls = data->cio2_.sensor()->controls(); > + configInfo.sensorControls = data->cio2_.sensor()->v4l2Controls(); > > CameraLens *lens = data->cio2_.sensor()->focusLens(); > if (lens) > @@ -1157,7 +1157,7 @@ int PipelineHandlerIPU3::registerCameras() > LOG(IPU3, Warning) << "Invalid rotation of " << rotation > << " degrees: ignoring"; > > - ControlList ctrls = cio2->sensor()->getControls({ V4L2_CID_HFLIP }); > + ControlList ctrls = cio2->sensor()->getV4L2Controls({ V4L2_CID_HFLIP }); > if (!ctrls.empty()) > /* We assume the sensor supports VFLIP too. */ > data->supportsFlips_ = true; > @@ -1245,7 +1245,7 @@ int IPU3CameraData::loadIPA() > return ret; > > ret = ipa_->init(IPASettings{ "", sensor->model() }, sensorInfo, > - sensor->controls(), &ipaControls_); > + sensor->v4l2Controls(), &ipaControls_); > if (ret) { > LOG(IPU3, Error) << "Failed to initialise the IPU3 IPA"; > return ret; > diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp > index 66a84b1dfb97..f0013d3a1485 100644 > --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp > +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp > @@ -1303,8 +1303,8 @@ int PipelineHandlerRPi::registerCamera(MediaDevice *unicam, MediaDevice *isp, Me > * sensor of the colour gains. It is defined to be a linear gain where > * the default value represents a gain of exactly one. > */ > - auto it = data->sensor_->controls().find(V4L2_CID_NOTIFY_GAINS); > - if (it != data->sensor_->controls().end()) > + auto it = data->sensor_->v4l2Controls().find(V4L2_CID_NOTIFY_GAINS); > + if (it != data->sensor_->v4l2Controls().end()) > data->notifyGainsUnity_ = it->second.def().get<int32_t>(); > > /* > @@ -1565,7 +1565,7 @@ int RPiCameraData::configureIPA(const CameraConfiguration *config, ipa::RPi::IPA > } > } > > - entityControls.emplace(0, sensor_->controls()); > + entityControls.emplace(0, sensor_->v4l2Controls()); > entityControls.emplace(1, isp_[Isp::Input].dev()->controls()); > > /* Always send the user transform to the IPA. */ > @@ -1719,7 +1719,7 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList & > if (notifyGainsUnity_ && controls.contains(libcamera::controls::ColourGains)) { > libcamera::Span<const float> colourGains = controls.get(libcamera::controls::ColourGains); > /* The control wants linear gains in the order B, Gb, Gr, R. */ > - ControlList ctrls(sensor_->controls()); > + ControlList ctrls(sensor_->v4l2Controls()); > std::array<int32_t, 4> gains{ > static_cast<int32_t>(colourGains[1] * *notifyGainsUnity_), > *notifyGainsUnity_, > @@ -1728,7 +1728,7 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList & > }; > ctrls.set(V4L2_CID_NOTIFY_GAINS, Span<const int32_t>{ gains }); > > - sensor_->setControls(&ctrls); > + sensor_->setV4L2Controls(&ctrls); > } > > state_ = State::IpaComplete; > @@ -1800,10 +1800,10 @@ void RPiCameraData::setSensorControls(ControlList &controls) > ControlList vblank_ctrl; > > vblank_ctrl.set(V4L2_CID_VBLANK, controls.get(V4L2_CID_VBLANK)); > - sensor_->setControls(&vblank_ctrl); > + sensor_->setV4L2Controls(&vblank_ctrl); > } > > - sensor_->setControls(&controls); > + sensor_->setV4L2Controls(&controls); > } > > void RPiCameraData::unicamTimeout() > diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp > index 3dc0850c7c89..83b67a8205f5 100644 > --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp > +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp > @@ -670,7 +670,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c) > } > > std::map<uint32_t, ControlInfoMap> entityControls; > - entityControls.emplace(0, data->sensor_->controls()); > + entityControls.emplace(0, data->sensor_->v4l2Controls()); > > ret = data->ipa_->configure(sensorInfo, streamConfig, entityControls); > if (ret) { > diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp > index 3379ac5cd47d..2991306ca9d8 100644 > --- a/src/libcamera/pipeline/vimc/vimc.cpp > +++ b/src/libcamera/pipeline/vimc/vimc.cpp > @@ -307,7 +307,7 @@ int PipelineHandlerVimc::configure(Camera *camera, CameraConfiguration *config) > std::forward_as_tuple(cfg.pixelFormat, cfg.size)); > > std::map<unsigned int, ControlInfoMap> entityControls; > - entityControls.emplace(0, data->sensor_->controls()); > + entityControls.emplace(0, data->sensor_->v4l2Controls()); > > IPACameraSensorInfo sensorInfo; > data->sensor_->sensorInfo(&sensorInfo); > @@ -376,7 +376,7 @@ void PipelineHandlerVimc::stopDevice(Camera *camera) > > int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request) > { > - ControlList controls(data->sensor_->controls()); > + ControlList controls(data->sensor_->v4l2Controls()); > > for (auto it : request->controls()) { > unsigned int id = it.first; > @@ -405,7 +405,7 @@ int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request) > << "Setting control " << utils::hex(ctrl.first) > << " to " << ctrl.second.toString(); > > - int ret = data->sensor_->setControls(&controls); > + int ret = data->sensor_->setV4L2Controls(&controls); > if (ret) { > LOG(VIMC, Error) << "Failed to set controls: " << ret; > return ret < 0 ? ret : -EINVAL; > @@ -530,7 +530,7 @@ int VimcCameraData::init() > } > > /* Initialise the supported controls. */ > - const ControlInfoMap &controls = sensor_->controls(); > + const ControlInfoMap &controls = sensor_->v4l2Controls(); > ControlInfoMap::Map ctrls; > > for (const auto &ctrl : controls) { > -- > 2.36.1 >
diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h index 43b035b77f2b..2a850dedc0aa 100644 --- a/include/libcamera/internal/camera_sensor.h +++ b/include/libcamera/internal/camera_sensor.h @@ -56,9 +56,9 @@ public: const Size &size) const; int setFormat(V4L2SubdeviceFormat *format); - const ControlInfoMap &controls() const; - ControlList getControls(const std::vector<uint32_t> &ids); - int setControls(ControlList *ctrls); + const ControlInfoMap &v4l2Controls() const; + ControlList getV4L2Controls(const std::vector<uint32_t> &ids); + int setV4L2Controls(ControlList *ctrls); V4L2Subdevice *device() { return subdev_.get(); } diff --git a/src/libcamera/camera_sensor/camera_sensor.cpp b/src/libcamera/camera_sensor/camera_sensor.cpp index 59b956e40803..26cfa7d0f65a 100644 --- a/src/libcamera/camera_sensor/camera_sensor.cpp +++ b/src/libcamera/camera_sensor/camera_sensor.cpp @@ -335,8 +335,8 @@ void CameraSensor::initStaticProperties() void CameraSensor::initTestPatternModes() { - const auto &v4l2TestPattern = controls().find(V4L2_CID_TEST_PATTERN); - if (v4l2TestPattern == controls().end()) { + const auto &v4l2TestPattern = v4l2Controls().find(V4L2_CID_TEST_PATTERN); + if (v4l2TestPattern == v4l2Controls().end()) { LOG(CameraSensor, Debug) << "V4L2_CID_TEST_PATTERN is not supported"; return; } @@ -615,10 +615,10 @@ int CameraSensor::applyTestPatternMode(controls::draft::TestPatternModeEnum mode LOG(CameraSensor, Debug) << "Apply test pattern mode " << mode; int32_t index = staticProps_->testPatternModes.at(mode); - ControlList ctrls{ controls() }; + ControlList ctrls{ v4l2Controls() }; ctrls.set(V4L2_CID_TEST_PATTERN, index); - int ret = setControls(&ctrls); + int ret = setV4L2Controls(&ctrls); if (ret) return ret; @@ -744,7 +744,7 @@ int CameraSensor::setFormat(V4L2SubdeviceFormat *format) * * \return A map of the V4L2 controls supported by the sensor */ -const ControlInfoMap &CameraSensor::controls() const +const ControlInfoMap &CameraSensor::v4l2Controls() const { return subdev_->controls(); } @@ -767,7 +767,7 @@ const ControlInfoMap &CameraSensor::controls() const * \return The control values in a ControlList on success, or an empty list on * error */ -ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids) +ControlList CameraSensor::getV4L2Controls(const std::vector<uint32_t> &ids) { return subdev_->getControls(ids); } @@ -797,7 +797,7 @@ ControlList CameraSensor::getControls(const std::vector<uint32_t> &ids) * \retval -EINVAL One of the control is not supported or not accessible * \retval i The index of the control that failed */ -int CameraSensor::setControls(ControlList *ctrls) +int CameraSensor::setV4L2Controls(ControlList *ctrls) { return subdev_->setControls(ctrls); } diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index b7dda282faab..85e5f8a70408 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -581,7 +581,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) * the sensor and user transform. */ if (data->supportsFlips_) { - ControlList sensorCtrls(cio2->sensor()->controls()); + ControlList sensorCtrls(cio2->sensor()->v4l2Controls()); sensorCtrls.set(V4L2_CID_HFLIP, static_cast<int32_t>(!!(config->combinedTransform_ & Transform::HFlip))); @@ -589,7 +589,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) static_cast<int32_t>(!!(config->combinedTransform_ & Transform::VFlip))); - ret = cio2->sensor()->setControls(&sensorCtrls); + ret = cio2->sensor()->setV4L2Controls(&sensorCtrls); if (ret) return ret; } @@ -662,7 +662,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c) } ipa::ipu3::IPAConfigInfo configInfo; - configInfo.sensorControls = data->cio2_.sensor()->controls(); + configInfo.sensorControls = data->cio2_.sensor()->v4l2Controls(); CameraLens *lens = data->cio2_.sensor()->focusLens(); if (lens) @@ -1157,7 +1157,7 @@ int PipelineHandlerIPU3::registerCameras() LOG(IPU3, Warning) << "Invalid rotation of " << rotation << " degrees: ignoring"; - ControlList ctrls = cio2->sensor()->getControls({ V4L2_CID_HFLIP }); + ControlList ctrls = cio2->sensor()->getV4L2Controls({ V4L2_CID_HFLIP }); if (!ctrls.empty()) /* We assume the sensor supports VFLIP too. */ data->supportsFlips_ = true; @@ -1245,7 +1245,7 @@ int IPU3CameraData::loadIPA() return ret; ret = ipa_->init(IPASettings{ "", sensor->model() }, sensorInfo, - sensor->controls(), &ipaControls_); + sensor->v4l2Controls(), &ipaControls_); if (ret) { LOG(IPU3, Error) << "Failed to initialise the IPU3 IPA"; return ret; diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp index 66a84b1dfb97..f0013d3a1485 100644 --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp @@ -1303,8 +1303,8 @@ int PipelineHandlerRPi::registerCamera(MediaDevice *unicam, MediaDevice *isp, Me * sensor of the colour gains. It is defined to be a linear gain where * the default value represents a gain of exactly one. */ - auto it = data->sensor_->controls().find(V4L2_CID_NOTIFY_GAINS); - if (it != data->sensor_->controls().end()) + auto it = data->sensor_->v4l2Controls().find(V4L2_CID_NOTIFY_GAINS); + if (it != data->sensor_->v4l2Controls().end()) data->notifyGainsUnity_ = it->second.def().get<int32_t>(); /* @@ -1565,7 +1565,7 @@ int RPiCameraData::configureIPA(const CameraConfiguration *config, ipa::RPi::IPA } } - entityControls.emplace(0, sensor_->controls()); + entityControls.emplace(0, sensor_->v4l2Controls()); entityControls.emplace(1, isp_[Isp::Input].dev()->controls()); /* Always send the user transform to the IPA. */ @@ -1719,7 +1719,7 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList & if (notifyGainsUnity_ && controls.contains(libcamera::controls::ColourGains)) { libcamera::Span<const float> colourGains = controls.get(libcamera::controls::ColourGains); /* The control wants linear gains in the order B, Gb, Gr, R. */ - ControlList ctrls(sensor_->controls()); + ControlList ctrls(sensor_->v4l2Controls()); std::array<int32_t, 4> gains{ static_cast<int32_t>(colourGains[1] * *notifyGainsUnity_), *notifyGainsUnity_, @@ -1728,7 +1728,7 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList & }; ctrls.set(V4L2_CID_NOTIFY_GAINS, Span<const int32_t>{ gains }); - sensor_->setControls(&ctrls); + sensor_->setV4L2Controls(&ctrls); } state_ = State::IpaComplete; @@ -1800,10 +1800,10 @@ void RPiCameraData::setSensorControls(ControlList &controls) ControlList vblank_ctrl; vblank_ctrl.set(V4L2_CID_VBLANK, controls.get(V4L2_CID_VBLANK)); - sensor_->setControls(&vblank_ctrl); + sensor_->setV4L2Controls(&vblank_ctrl); } - sensor_->setControls(&controls); + sensor_->setV4L2Controls(&controls); } void RPiCameraData::unicamTimeout() diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index 3dc0850c7c89..83b67a8205f5 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -670,7 +670,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c) } std::map<uint32_t, ControlInfoMap> entityControls; - entityControls.emplace(0, data->sensor_->controls()); + entityControls.emplace(0, data->sensor_->v4l2Controls()); ret = data->ipa_->configure(sensorInfo, streamConfig, entityControls); if (ret) { diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp index 3379ac5cd47d..2991306ca9d8 100644 --- a/src/libcamera/pipeline/vimc/vimc.cpp +++ b/src/libcamera/pipeline/vimc/vimc.cpp @@ -307,7 +307,7 @@ int PipelineHandlerVimc::configure(Camera *camera, CameraConfiguration *config) std::forward_as_tuple(cfg.pixelFormat, cfg.size)); std::map<unsigned int, ControlInfoMap> entityControls; - entityControls.emplace(0, data->sensor_->controls()); + entityControls.emplace(0, data->sensor_->v4l2Controls()); IPACameraSensorInfo sensorInfo; data->sensor_->sensorInfo(&sensorInfo); @@ -376,7 +376,7 @@ void PipelineHandlerVimc::stopDevice(Camera *camera) int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request) { - ControlList controls(data->sensor_->controls()); + ControlList controls(data->sensor_->v4l2Controls()); for (auto it : request->controls()) { unsigned int id = it.first; @@ -405,7 +405,7 @@ int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request) << "Setting control " << utils::hex(ctrl.first) << " to " << ctrl.second.toString(); - int ret = data->sensor_->setControls(&controls); + int ret = data->sensor_->setV4L2Controls(&controls); if (ret) { LOG(VIMC, Error) << "Failed to set controls: " << ret; return ret < 0 ? ret : -EINVAL; @@ -530,7 +530,7 @@ int VimcCameraData::init() } /* Initialise the supported controls. */ - const ControlInfoMap &controls = sensor_->controls(); + const ControlInfoMap &controls = sensor_->v4l2Controls(); ControlInfoMap::Map ctrls; for (const auto &ctrl : controls) {
The control interface of the CameraSensor class operates on V4L2 controls. To prepare to move the CameraSensor interface to use libcamera::internal controls, rename the existing interface to be the 'v4l2' control interface, to allow users to transition to the new interface gradually. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- include/libcamera/internal/camera_sensor.h | 6 +++--- src/libcamera/camera_sensor/camera_sensor.cpp | 14 +++++++------- src/libcamera/pipeline/ipu3/ipu3.cpp | 10 +++++----- src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 14 +++++++------- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- src/libcamera/pipeline/vimc/vimc.cpp | 8 ++++---- 6 files changed, 27 insertions(+), 27 deletions(-)