[PATCH v2 5/6] pipeline: rpi: Remove ispOutputCount_ and ispOutputTotal_
Jacopo Mondi
jacopo.mondi at ideasonboard.com
Thu Jun 5 09:28:28 CEST 2025
Hi Naush
On Thu, May 22, 2025 at 08:48:21AM +0100, Naushir Patuck wrote:
> With the drop frame logic removed from the pipeline handler, these
> member variables and not used, so remove them.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Indeed, these also seems to be unused
Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
Thanks
j
> ---
> src/libcamera/pipeline/rpi/common/pipeline_base.h | 6 +-----
> src/libcamera/pipeline/rpi/pisp/pisp.cpp | 12 ------------
> src/libcamera/pipeline/rpi/vc4/vc4.cpp | 15 ---------------
> 3 files changed, 1 insertion(+), 32 deletions(-)
>
> diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.h b/src/libcamera/pipeline/rpi/common/pipeline_base.h
> index e27c4f860d1a..898f31577059 100644
> --- a/src/libcamera/pipeline/rpi/common/pipeline_base.h
> +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.h
> @@ -48,8 +48,7 @@ class CameraData : public Camera::Private
> public:
> CameraData(PipelineHandler *pipe)
> : Camera::Private(pipe), state_(State::Stopped),
> - startupFrameCount_(0), invalidFrameCount_(0), buffersAllocated_(false),
> - ispOutputCount_(0), ispOutputTotal_(0)
> + startupFrameCount_(0), invalidFrameCount_(0), buffersAllocated_(false)
> {
> }
>
> @@ -179,9 +178,6 @@ protected:
>
> virtual void tryRunPipeline() = 0;
>
> - unsigned int ispOutputCount_;
> - unsigned int ispOutputTotal_;
> -
> private:
> void checkRequestCompleted();
> };
> diff --git a/src/libcamera/pipeline/rpi/pisp/pisp.cpp b/src/libcamera/pipeline/rpi/pisp/pisp.cpp
> index 91e7f4c94d96..ccf135c3d8ce 100644
> --- a/src/libcamera/pipeline/rpi/pisp/pisp.cpp
> +++ b/src/libcamera/pipeline/rpi/pisp/pisp.cpp
> @@ -1834,12 +1834,6 @@ void PiSPCameraData::beOutputDequeue(FrameBuffer *buffer)
> dmabufSyncEnd(buffer->planes()[0].fd);
>
> handleStreamBuffer(buffer, stream);
> -
> - /*
> - * Increment the number of ISP outputs generated.
> - * This is needed to track dropped frames.
> - */
> - ispOutputCount_++;
> handleState();
> }
>
> @@ -1885,7 +1879,6 @@ void PiSPCameraData::prepareIspComplete(const ipa::RPi::BufferIds &buffers, bool
> * If there is no need to run the Backend, just signal that the
> * input buffer is completed and all Backend outputs are ready.
> */
> - ispOutputCount_ = ispOutputTotal_;
> buffer = cfe_[Cfe::Output0].getBuffers().at(bayerId).buffer;
> handleStreamBuffer(buffer, &cfe_[Cfe::Output0]);
> } else
> @@ -1994,7 +1987,6 @@ int PiSPCameraData::configureBe(const std::optional<ColorSpace> &yuvColorSpace)
> global.bayer_enables |= PISP_BE_BAYER_ENABLE_INPUT;
> global.bayer_order = toPiSPBayerOrder(cfeFormat.fourcc);
>
> - ispOutputTotal_ = 1; /* Config buffer */
> if (PISP_IMAGE_FORMAT_COMPRESSED(inputFormat.format)) {
> pisp_decompress_config decompress;
> decompress.offset = DefaultCompressionOffset;
> @@ -2025,7 +2017,6 @@ int PiSPCameraData::configureBe(const std::optional<ColorSpace> &yuvColorSpace)
> setupOutputClipping(ispFormat0, outputFormat0);
>
> be_->SetOutputFormat(0, outputFormat0);
> - ispOutputTotal_++;
> }
>
> if (global.rgb_enables & PISP_BE_RGB_ENABLE_OUTPUT1) {
> @@ -2049,7 +2040,6 @@ int PiSPCameraData::configureBe(const std::optional<ColorSpace> &yuvColorSpace)
> setupOutputClipping(ispFormat1, outputFormat1);
>
> be_->SetOutputFormat(1, outputFormat1);
> - ispOutputTotal_++;
> }
>
> /* Setup the TDN I/O blocks in case TDN gets turned on later. */
> @@ -2256,8 +2246,6 @@ void PiSPCameraData::prepareCfe()
>
> void PiSPCameraData::prepareBe(uint32_t bufferId, bool stitchSwapBuffers)
> {
> - ispOutputCount_ = 0;
> -
> FrameBuffer *buffer = cfe_[Cfe::Output0].getBuffers().at(bufferId).buffer;
>
> LOG(RPI, Debug) << "Input re-queue to ISP, buffer id " << bufferId
> diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> index fe910bdf2ff9..ac6dab814d35 100644
> --- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> +++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp
> @@ -597,8 +597,6 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
> stream->setFlags(StreamFlag::External);
> }
>
> - ispOutputTotal_ = outStreams.size();
> -
> /*
> * If ISP::Output0 stream has not been configured by the application,
> * we must allow the hardware to generate an output so that the data
> @@ -625,8 +623,6 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
> return -EINVAL;
> }
>
> - ispOutputTotal_++;
> -
> LOG(RPI, Debug) << "Defaulting ISP Output0 format to "
> << format;
> }
> @@ -662,8 +658,6 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
> << ret;
> return -EINVAL;
> }
> -
> - ispOutputTotal_++;
> }
>
> /* ISP statistics output format. */
> @@ -676,8 +670,6 @@ int Vc4CameraData::platformConfigure(const RPi::RPiCameraConfiguration *rpiConfi
> return ret;
> }
>
> - ispOutputTotal_++;
> -
> /*
> * Configure the Unicam embedded data output format only if the sensor
> * supports it.
> @@ -843,12 +835,6 @@ void Vc4CameraData::ispOutputDequeue(FrameBuffer *buffer)
> handleStreamBuffer(buffer, stream);
> }
>
> - /*
> - * Increment the number of ISP outputs generated.
> - * This is needed to track dropped frames.
> - */
> - ispOutputCount_++;
> -
> handleState();
> }
>
> @@ -880,7 +866,6 @@ void Vc4CameraData::prepareIspComplete(const ipa::RPi::BufferIds &buffers,
> << ", timestamp: " << buffer->metadata().timestamp;
>
> isp_[Isp::Input].queueBuffer(buffer);
> - ispOutputCount_ = 0;
>
> if (sensorMetadata_ && embeddedId) {
> buffer = unicam_[Unicam::Embedded].getBuffers().at(embeddedId & RPi::MaskID).buffer;
> --
> 2.43.0
>
More information about the libcamera-devel
mailing list