[libcamera-devel] [PATCH v6 0/5] V4L2 compatibility layer
Paul Elder
paul.elder at ideasonboard.com
Sat Jan 4 01:14:08 CET 2020
Implement the initial version of the V4L2 compatibility layer.
Patch 1/5 (new addition) implements strlcpy that we use in the V4L2
compability later implementation instead of memcpying char arrays.
Patch 3/5 implements the infrastructure for the pipeline handler to
optionally assign a device number to each camera that it adds to the
camera manager, to allow the V4L2 comptibility layer to map device nodes
to libcamera cameras. Patch 4/5 implements the mapping assignment for the
uvcvideo pipeline handler.
Patch 5/5 is the complete implementation of the V4L2 compatibility
layer.
v6 is mostly cosmetic changes and minor fixes.
6th time's a charm :)
Paul Elder (5):
libcamera: utils: Add strlcpy
libcamera: v4l2_device, v4l2_videodevice: call open system call
directly
libcamera: camera_manager, pipeline_handler: allow retrieving cameras
by device numbers
libcamera: pipeline_handler: uvcvideo: register all Cameras along with
a devnum
v4l2: v4l2_compat: Add V4L2 compatibility layer
include/libcamera/camera_manager.h | 6 +-
meson_options.txt | 5 +
src/libcamera/camera_manager.cpp | 61 ++-
src/libcamera/include/pipeline_handler.h | 3 +-
src/libcamera/include/utils.h | 3 +
src/libcamera/pipeline/uvcvideo.cpp | 5 +-
src/libcamera/pipeline_handler.cpp | 13 +-
src/libcamera/utils.cpp | 19 +
src/libcamera/v4l2_device.cpp | 3 +-
src/libcamera/v4l2_videodevice.cpp | 4 +-
src/meson.build | 4 +
src/v4l2/meson.build | 31 ++
src/v4l2/v4l2_camera.cpp | 224 ++++++++
src/v4l2/v4l2_camera.h | 85 +++
src/v4l2/v4l2_camera_proxy.cpp | 644 +++++++++++++++++++++++
src/v4l2/v4l2_camera_proxy.h | 81 +++
src/v4l2/v4l2_compat.cpp | 85 +++
src/v4l2/v4l2_compat_manager.cpp | 250 +++++++++
src/v4l2/v4l2_compat_manager.h | 77 +++
19 files changed, 1586 insertions(+), 17 deletions(-)
create mode 100644 src/v4l2/meson.build
create mode 100644 src/v4l2/v4l2_camera.cpp
create mode 100644 src/v4l2/v4l2_camera.h
create mode 100644 src/v4l2/v4l2_camera_proxy.cpp
create mode 100644 src/v4l2/v4l2_camera_proxy.h
create mode 100644 src/v4l2/v4l2_compat.cpp
create mode 100644 src/v4l2/v4l2_compat_manager.cpp
create mode 100644 src/v4l2/v4l2_compat_manager.h
--
More information about the libcamera-devel
mailing list