[libcamera-devel] [PATCH 0/6] V4L2 M2M Support (+RPi PoC)

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Aug 8 17:12:15 CEST 2019


The RaspberryPi pipeline handler will require a Memory2Memory device to support
it's ISP processing. An initial RFC of this has been posted some time ago.

This series improves upon the V4L2M2MDevice RFC that was posted and promotes it
to it's own class.

Support for opening a device for two streams is added by extending the
V4L2VideoDevice::open() call to allow optional parameters to be provided for
the fd and stream type.

An initial test using the V4L2M2MDevice on the VIM2M virtual M2M driver is also
provided.

Along side all of this there are a couple of small independent fixup patches
(Fix the ordering of a debug statement, and remove an unused function) and my
current state of the RaspberryPi Pipeline handler.


 * Please Note *

The PipelineHandlerRPi requires out of tree kernel drivers to operate.  These
are available publically on the RaspberryPi foundation's linux tree, however I
have added further patches on top of those.

A branch containing the drivers for the RPi with my patches on top is at:

   https://github.com/kbingham/linux-rpi.git rpi-4.19.y-libcamera


Kieran Bingham (6):
  libcamera: v4l2_device: Add setFd()
  libcamera: v4l2_videodevice: Fix ordering of debug statement
  libcamera: v4l2_videodevice: Support M2M devices
  test: v4l2_videodevice: Add M2M device test
  test: v4l2_device: Remove unused function
  [PoC/RFC] libcamera: pipeline: Add RaspberryPi handler

 src/libcamera/include/v4l2_device.h           |   1 +
 src/libcamera/include/v4l2_videodevice.h      |  26 +-
 src/libcamera/pipeline/meson.build            |   1 +
 src/libcamera/pipeline/raspberrypi.cpp        | 425 ++++++++++++++++++
 src/libcamera/v4l2_device.cpp                 |  19 +
 src/libcamera/v4l2_videodevice.cpp            | 208 +++++++--
 test/v4l2_videodevice/meson.build             |   1 +
 test/v4l2_videodevice/v4l2_m2mdevice.cpp      | 210 +++++++++
 .../v4l2_videodevice_test.cpp                 |  11 -
 9 files changed, 862 insertions(+), 40 deletions(-)
 create mode 100644 src/libcamera/pipeline/raspberrypi.cpp
 create mode 100644 test/v4l2_videodevice/v4l2_m2mdevice.cpp

-- 
2.20.1



More information about the libcamera-devel mailing list