[libcamera-devel] [PATCH v6 00/12] Zero-copy RAW stream work

Niklas Söderlund niklas.soderlund at ragnatech.se
Sun Aug 30 10:22:08 CEST 2020


Hi Naushir,

On 2020-08-27 09:29:43 +0100, Naushir Patuck wrote:
> Hi,
> 
> Sorry to pester again, but could I get a review for this patch set
> please?  Particularly patches 10-12/12 which are new additions.

Sorry for taking so long thinking about this series.

After rereading it a few times the past week I still think we need to
scale the scope back a bit. Would it be possible to restructure it to
only deal with RAW buffers? I know it's possible to expose the statistic
and sensor embedded data buffers using the same structure, but this is a
problem we overall have not thought about yet. I fear taking this step
in the RPi pipeline now could be premature and introduce regressions
when we attack this issue on a project level.

One thing that worries with the current implementation is how the
statistic and embedded data buffers are mapped in the IPA on each
request. I think this is something we can't really do and something else
is needed. What I'm not sure yet.

I'm sorry I was unable to communicate this fear in v5. I was hoping an
integration of zero-copy raw would split these two issues naturally. So
to be able to move both features forward could this series be split in
two, one series intended to go in as soon as possible with the minimum
to get zero-copy raw working and one on-top of that with a possible
solution for exposing statistics and embedded data to applications? I
feel with such a solution we could close the RAW topic and get the fixes
in this series in while creating a good start of discussion for how to
expose new type of information to applications.

> 
> Thanks,
> Naush
> 
> On Tue, 4 Aug 2020 at 10:58, Naushir Patuck <naush at raspberrypi.com> wrote:
> >
> > Hi,
> >
> > Here is the next version of the zero-copy function patchset for the Raspberry Pi
> > platform.  Patches 01-09/12 are identical to the previous patchset, and patches
> > 10-12/12 add functionality to support any external buffer allocation to be used
> > for stream captures.
> >
> > Regards,
> > Naush
> >
> > Naushir Patuck (12):
> >   libcamera: pipeline: raspberrypi: Move RPiStream into a separate file
> >   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: ipa: raspberrypi: Remove use of FrameBuffer
> >     cookie
> >   pipeline: raspberrypi: Use an unordered_map for the stream buffer list
> >   pipeline: raspberrypi: Use an unordered_set to store IPA buffer ids
> >   pipeline: ipa: raspberrypi: Handle any externally allocated
> >     FrameBuffer
> >
> >  include/libcamera/ipa/raspberrypi.h           |  13 +-
> >  src/ipa/raspberrypi/raspberrypi.cpp           |  26 +-
> >  .../pipeline/raspberrypi/meson.build          |   1 +
> >  .../pipeline/raspberrypi/raspberrypi.cpp      | 587 ++++++++----------
> >  .../pipeline/raspberrypi/rpi_stream.cpp       | 244 ++++++++
> >  .../pipeline/raspberrypi/rpi_stream.h         | 140 +++++
> >  6 files changed, 662 insertions(+), 349 deletions(-)
> >  create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.cpp
> >  create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.h
> >
> > --
> > 2.25.1
> >
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list