[libcamera-devel] [PATCH v1 0/6] Raspberry Pi: Efficient start/stop/start sequences
Naushir Patuck
naush at raspberrypi.com
Mon Mar 7 13:46:27 CET 2022
Hi,
This series addresses a problem with the existing Raspberry Pi pipeline handler,
were we do not efficiently handle a camera start/stop/restart sequence. This is
because we de-allocate and re-allocate buffers on stop and start respectively.
However, since no camera configure has occurred, the re-allocation is unnecessary.
This series attempts to fix this by not de-allocating buffers on a stop, and
only re-allocating on start if a configure has been called in-between. We also
fix a small bug in the V4L2 buffer cache, which does not clear state on a stop
in all circumstances.
Thanks,
Naush
Naushir Patuck (6):
pipeline: raspberrypi: Avoid over-allocation for ISP Output 1
pipeline: raspberrypi: Move freeBuffers() to the RPiCameraData class
pipeline: raspberrypi: Free buffers in the RPiCamera destructor and
re-configure
pipeline: raspberrypi: Add a reconfigured flag
pipeline: raspberrypi: Repurpose RPi::Stream::reset()
libcamera: v4l2_videodevice: Empty the V4L2 buffer cache on
streamOff()
include/libcamera/internal/v4l2_videodevice.h | 1 +
.../pipeline/raspberrypi/raspberrypi.cpp | 54 ++++++++++++-------
.../pipeline/raspberrypi/rpi_stream.cpp | 11 ++--
src/libcamera/v4l2_videodevice.cpp | 16 ++++++
4 files changed, 56 insertions(+), 26 deletions(-)
--
2.25.1
More information about the libcamera-devel
mailing list