[libcamera-devel] [PATCH v3 0/9] Virtual pipeline handler
Harvey Yang
chenghaoyang at chromium.org
Thu Jan 5 05:37:17 CET 2023
Hi all,
This is the third version of POC patches of the virtual/fake pipeline
handler. Thanks to Kieran's comments, I split the patches and added a
base class MediaDeviceBase. Still need to work on the buffer allocation,
virtual config file, and virtual video for testing.
Please take a look and let me know if the design makes sense.
BR,
Harvey
Harvey Yang (9):
libcamera: pipeline: Introduce skeleton Virtual Pipeline
libcamera: Add MediaDeviceBase
libcamera: Use MediaDeviceBase in base classes
libcamera: Add MediaDeviceVirtual
libcamera: pipeline: virtual: Add MediaDeviceVirtual
libcamera: pipeline: virtual: Create a Camera
libcamera: pipeline: virtual: Generate and validate
StreamConfigurations
libcamera: pipeline: virtual: Queue requests
libcamera: pipeline: virtual: Set camera properties & controls
.../libcamera/internal/device_enumerator.h | 12 +-
.../internal/device_enumerator_sysfs.h | 4 +-
.../internal/device_enumerator_udev.h | 8 +-
include/libcamera/internal/media_device.h | 35 +-
.../libcamera/internal/media_device_base.h | 68 ++++
.../libcamera/internal/media_device_virtual.h | 21 ++
include/libcamera/internal/meson.build | 2 +
include/libcamera/internal/pipeline_handler.h | 12 +-
meson_options.txt | 2 +-
src/libcamera/device_enumerator.cpp | 30 +-
src/libcamera/device_enumerator_sysfs.cpp | 4 +-
src/libcamera/device_enumerator_udev.cpp | 4 +-
src/libcamera/media_device.cpp | 97 +-----
src/libcamera/media_device_base.cpp | 140 ++++++++
src/libcamera/media_device_virtual.cpp | 22 ++
src/libcamera/meson.build | 2 +
src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 2 +-
src/libcamera/pipeline/ipu3/ipu3.cpp | 4 +-
.../pipeline/raspberrypi/raspberrypi.cpp | 4 +-
src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
src/libcamera/pipeline/simple/simple.cpp | 4 +-
src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +-
src/libcamera/pipeline/vimc/vimc.cpp | 2 +-
src/libcamera/pipeline/virtual/meson.build | 5 +
src/libcamera/pipeline/virtual/virtual.cpp | 301 ++++++++++++++++++
src/libcamera/pipeline_handler.cpp | 18 +-
26 files changed, 629 insertions(+), 178 deletions(-)
create mode 100644 include/libcamera/internal/media_device_base.h
create mode 100644 include/libcamera/internal/media_device_virtual.h
create mode 100644 src/libcamera/media_device_base.cpp
create mode 100644 src/libcamera/media_device_virtual.cpp
create mode 100644 src/libcamera/pipeline/virtual/meson.build
create mode 100644 src/libcamera/pipeline/virtual/virtual.cpp
--
2.39.0.314.g84b9a713c41-goog
More information about the libcamera-devel
mailing list