[PATCH 0/4] MediaPipeline: Complex input device support
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Sep 16 16:02:37 CEST 2024
The input pipelines for cameras on small board platforms can be widely
varied and may incorporate video multiplexors feeding multiple cameras
into a single CSI2 receiver.
Such devices are already supported in the Simple Pipeline handler with
it's graph management code.
This series proposes a new class 'MediaPipeline' which takes the
implementation details of handling multiple cameras and the routing
involved in selecting and configuring the links and pads of those
routes.
The series then adds this helper to the RKISP1 pipeline handler to
facilitate multiple cameras connected to a single CSI2 receiver. One
example of this could be making use of the Arducam 4 camera multiplexor
[0] connected to the Debix Model A which we have used for testing this.
[0] https://www.arducam.com/product/multi-camera-v2-1-adapter-raspberry-pi/
This series converts only the RkISP1 for now, but I could anticipate
either an additional series, or a later iteration of this series would
also convert the Simple Pipeline Handler to make use of this new helper
class.
Kieran Bingham (4):
libcamera: media_device: Add helper to return matching entities
libcamera: pipeline: rkisp1: Fix typo in todo task
libcamera: internal: Add MediaPipeline helper
libcamera: pipeline: rkisp1: Convert to use MediaPipeline
include/libcamera/internal/media_device.h | 2 +
include/libcamera/internal/media_pipeline.h | 60 ++++
include/libcamera/internal/meson.build | 1 +
src/libcamera/media_device.cpp | 24 +-
src/libcamera/media_pipeline.cpp | 301 ++++++++++++++++++++
src/libcamera/meson.build | 1 +
src/libcamera/pipeline/rkisp1/rkisp1.cpp | 67 +++--
7 files changed, 421 insertions(+), 35 deletions(-)
create mode 100644 include/libcamera/internal/media_pipeline.h
create mode 100644 src/libcamera/media_pipeline.cpp
--
2.46.0
More information about the libcamera-devel
mailing list