[libcamera-devel] [WIP PATCH 0/9] Zero-copy RAW stream work
Naushir Patuck
naush at raspberrypi.com
Mon Jul 13 10:47:18 CEST 2020
Hi,
Here is a preliminary set of patches to rework the Raspberry Pi stream handling to
support zero-copy captures. The biggest change here is that we now export/import
buffers for all our streams, instead of v4l2_videodevice::allocate(). This will
allow any stream buffer to be returned to the application without a copy step.
This includes the statistics buffer (once we have a mechanism for requesting it).
This is still a work in progress, and in particular, patch 2 needs to be reworked
once Laurent's change for passing IPA configuration parameters is merged. However,
everything else is in a more-or-less finished state, so I would appreciate any
comments.
Regards,
Naush
Naushir Patuck (9):
libcamera: pipeline: raspberrypi: Move RPiStream into a separate
header
libcamera: pipeline: ipa: raspberrypi: Rework drop frame signalling
libcamera: pipeline: raspberrypi: Add some debug logging
libcamera: pipeline: raspberrypi: Increase the number of RAW buffers
libcamera: pipeline: raspberrypi: Remove const qualifier from
RPiStream
libcamera: pipeline: raspberrypi: Rework stream buffer logic for
zero-copy
libcamera: pipeline: raspberrypi: Fix bug in passing configuration to
IPA
libcamera: pipeline: raspberrypi: Add more robust stream buffer logic
libcamera: pipeline: raspberrypi: Move RPiStream methods to a cpp file
include/libcamera/ipa/raspberrypi.h | 2 +-
src/ipa/raspberrypi/raspberrypi.cpp | 21 +-
.../pipeline/raspberrypi/meson.build | 1 +
.../pipeline/raspberrypi/raspberrypi.cpp | 415 ++++++------------
.../pipeline/raspberrypi/rpi_stream.cpp | 167 +++++++
.../pipeline/raspberrypi/rpi_stream.h | 154 +++++++
6 files changed, 464 insertions(+), 296 deletions(-)
create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.cpp
create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.h
--
2.25.1
More information about the libcamera-devel
mailing list