[libcamera-devel,v2,0/8] libcamera: v4l2_device buffer sharing
mbox series

Message ID 20190213151027.6376-1-kieran.bingham@ideasonboard.com
Headers show
Series
  • libcamera: v4l2_device buffer sharing
Related show

Message

Kieran Bingham Feb. 13, 2019, 3:10 p.m. UTC
Extend the V4L2Device to support buffers provided by other V4L2Devices and
externally provided BufferPools, as well as 

This update has highlighted that the exportBuffers function was being passed
the bufferCount redundantly as we expect the BufferPool to provide this sizing
information for us, and so it was simplified.

This series also converts the v4l2_device tests to use VIVID capture and output
devices, and the tests will be skipped if the vivid kernel module is not
loaded.

Kieran Bingham (8):
  test: v4l2_device: Use VIVID capture stream
  test: v4l2_device: capture_async: End test at 30 frames
  libcamera: v4l2_device: streamOff() when releasing buffers
  libcamera: v4l2_device: Support queueing buffers to an output device
  libcamera: v4l2_device: Use non-interlaced frames
  libcamera: v4l2_device: Simplify exportBuffers()
  libcamera: v4l2_device: importBuffers support
  test: v4l2_device: Provide buffer sharing test

 src/libcamera/include/v4l2_device.h   |   3 +-
 src/libcamera/pipeline/ipu3/ipu3.cpp  |   3 +-
 src/libcamera/pipeline/uvcvideo.cpp   |   2 +-
 src/libcamera/pipeline/vimc.cpp       |   2 +-
 src/libcamera/v4l2_device.cpp         |  84 ++++++++++--
 test/v4l2_device/buffer_sharing.cpp   | 179 ++++++++++++++++++++++++++
 test/v4l2_device/capture_async.cpp    |  11 +-
 test/v4l2_device/meson.build          |   1 +
 test/v4l2_device/request_buffers.cpp  |   4 +-
 test/v4l2_device/stream_on_off.cpp    |   4 +-
 test/v4l2_device/v4l2_device_test.cpp |  18 +--
 test/v4l2_device/v4l2_device_test.h   |   2 -
 12 files changed, 278 insertions(+), 35 deletions(-)
 create mode 100644 test/v4l2_device/buffer_sharing.cpp