[PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo

Jacopo Mondi jacopo.mondi at ideasonboard.com
Mon Mar 11 13:32:28 CET 2024


v1->v2:
- Squash patches 2 and 3 in a single one
- Maintain the existing behaviour for queueing RAW frames to the RkISP1 IPA
- Minor changes to the IPU3 patch as suggested by Dan

Pipeline:
https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1124683

The RkISP1 and IPU3 pipeline have custom classes that provide the
following features:

- Associate a stat, params and (optionally) a raw buffer with the id used
  to communicate between the pipeline handler and the IPA
- Associate a completed buffer with the Request it belongs to

The same functionalities can be obtained by extending the Request::Private
class with a per-pipeline derived implementation that tracks buffers and ids
reducing code duplications.

Jacopo Mondi (4):
  libcamera: Allow pipeline to provide a Private request
  libcamera: rkisp1: Replace usage of RkISP1FrameInfo
  libcamera: ipu3: Replace IPU3FrameInfo
  libcamera: ipu3: Return Raw buffers on error

 include/libcamera/internal/pipeline_handler.h |   5 +-
 include/libcamera/request.h                   |   3 +-
 src/libcamera/camera.cpp                      |   8 +-
 src/libcamera/pipeline/ipu3/frames.cpp        | 143 -------
 src/libcamera/pipeline/ipu3/frames.h          |  67 ----
 src/libcamera/pipeline/ipu3/ipu3.cpp          | 215 +++++++----
 src/libcamera/pipeline/ipu3/meson.build       |   1 -
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 359 +++++++-----------
 src/libcamera/pipeline_handler.cpp            |  38 +-
 src/libcamera/request.cpp                     |  15 +-
 test/camera/statemachine.cpp                  |  12 -
 11 files changed, 328 insertions(+), 538 deletions(-)
 delete mode 100644 src/libcamera/pipeline/ipu3/frames.cpp
 delete mode 100644 src/libcamera/pipeline/ipu3/frames.h

--
2.43.2



More information about the libcamera-devel mailing list