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

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Aug 13 16:44:05 CEST 2019


Thanks,

This series is now pushed to master excluding the 6/6 proof of concept.

--
Kieran


On 13/08/2019 10:40, Kieran Bingham wrote:
> 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 overloading the
> V4L2VideoDevice::open() call to allow a second implemention to provide the
> the fd and stream type, rather than opening the node and guessing the 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
> 
> 
> v3:
>  - Moved location of setFd within V4L2Device
>  - Fixed documentation 
>  - Close newFd in V4L2VideoDevice::open(handle, type) error path
> 
> v2:
>  - M2M device now has its own open()/close() calls
>  - Return codes are not lost in PipelineHandlerRPi::freeBuffers()
>  - unicam node added to device match.
>  - Test code executes in the run() rather than the init()
> 
> *** BLURB HERE ***
> 
> 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      |  25 +
>  src/libcamera/pipeline/meson.build            |   1 +
>  src/libcamera/pipeline/raspberrypi.cpp        | 453 ++++++++++++++++++
>  src/libcamera/v4l2_device.cpp                 |  26 +
>  src/libcamera/v4l2_videodevice.cpp            | 202 +++++++-
>  test/v4l2_videodevice/meson.build             |   1 +
>  test/v4l2_videodevice/v4l2_m2mdevice.cpp      | 212 ++++++++
>  .../v4l2_videodevice_test.cpp                 |  11 -
>  9 files changed, 916 insertions(+), 16 deletions(-)
>  create mode 100644 src/libcamera/pipeline/raspberrypi.cpp
>  create mode 100644 test/v4l2_videodevice/v4l2_m2mdevice.cpp
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list