[libcamera-devel] [PATCH 00/27] Capture frames throught requests
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Feb 6 07:07:51 CET 2019
Hello,
This patch series implements support for capturing frames through
requests. This serves primarly as a sketch of the camera API exposed to
applications, and is still missing many features, but shows how the
libcamera API could be exercized.
All three pipeline handlers (UVC, IPU3 and VIMC) are implemented.
Jacopo Mondi (6):
libcamera: v4l2_device: Add comments to method parameters
libcamera: Add geometry.h
libcamera: Add V4L2Subdevice
libcamera: Provide a Request object
libcamera: pipeline: ipu3: Create video devices and subdevices
libcamera: pipeline: ipu3: Implement capture support
Kieran Bingham (10):
libcamera: Add Buffer Management
test: v4l2_device: Use DeviceEnumerator to find a UVCVideo
libcamera: v4l2_device: Request buffers from the device
test: v4l2_device: Add request_buffers test
libcamera: v4l2_device: Implement queue/dequeue operations
libcamera: v4l2_device: Implement stream{On,Off}
test: v4l2_device: Add StreamOn/StreamOff test
test: v4l2_device: Provide asynchronous capture test
libcamera: stream: Construct a stream
libcamera: pipeline: uvcvideo: Implement capture support
Niklas Söderlund (11):
libcamera: v4l2_device: Update dequeued buffer information
libcamera: stream: Add stream configuration to the stream object
libcamera: pipeline_handler: Extend the interface to support capture
libcamera: camera: Add helper to check for exclusive access
libcamera: camera: Cache the stream configuration in the stream object
libcamera: camera: Extend the interface to support capture
libcamera: pipeline: vimc: Set a default format
libcamera: pipeline: vimc: Implement capture support
cam: Add capture operation
cam: Add BufferWriter helper
cam: Add option to write raw frames to disk
include/libcamera/buffer.h | 82 ++++++
include/libcamera/camera.h | 15 +
include/libcamera/libcamera.h | 2 +
include/libcamera/meson.build | 2 +
include/libcamera/request.h | 44 +++
include/libcamera/stream.h | 22 +-
src/cam/buffer_writer.cpp | 63 +++++
src/cam/buffer_writer.h | 25 ++
src/cam/main.cpp | 162 +++++++++--
src/cam/meson.build | 1 +
src/libcamera/buffer.cpp | 279 +++++++++++++++++++
src/libcamera/camera.cpp | 181 +++++++++++-
src/libcamera/geometry.cpp | 49 ++++
src/libcamera/include/geometry.h | 22 ++
src/libcamera/include/pipeline_handler.h | 10 +
src/libcamera/include/v4l2_device.h | 33 ++-
src/libcamera/include/v4l2_subdevice.h | 51 ++++
src/libcamera/meson.build | 4 +
src/libcamera/pipeline/ipu3/ipu3.cpp | 227 ++++++++++++---
src/libcamera/pipeline/uvcvideo.cpp | 57 +++-
src/libcamera/pipeline/vimc.cpp | 63 ++++-
src/libcamera/pipeline_handler.cpp | 67 +++++
src/libcamera/request.cpp | 125 +++++++++
src/libcamera/stream.cpp | 60 ++--
src/libcamera/v4l2_device.cpp | 341 ++++++++++++++++++++++-
src/libcamera/v4l2_subdevice.cpp | 265 ++++++++++++++++++
test/v4l2_device/capture_async.cpp | 86 ++++++
test/v4l2_device/meson.build | 3 +
test/v4l2_device/request_buffers.cpp | 32 +++
test/v4l2_device/stream_on_off.cpp | 35 +++
test/v4l2_device/v4l2_device_test.cpp | 34 ++-
test/v4l2_device/v4l2_device_test.h | 14 +-
32 files changed, 2350 insertions(+), 106 deletions(-)
create mode 100644 include/libcamera/buffer.h
create mode 100644 include/libcamera/request.h
create mode 100644 src/cam/buffer_writer.cpp
create mode 100644 src/cam/buffer_writer.h
create mode 100644 src/libcamera/buffer.cpp
create mode 100644 src/libcamera/geometry.cpp
create mode 100644 src/libcamera/include/geometry.h
create mode 100644 src/libcamera/include/v4l2_subdevice.h
create mode 100644 src/libcamera/request.cpp
create mode 100644 src/libcamera/v4l2_subdevice.cpp
create mode 100644 test/v4l2_device/capture_async.cpp
create mode 100644 test/v4l2_device/request_buffers.cpp
create mode 100644 test/v4l2_device/stream_on_off.cpp
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list