No subject
Harvey Yang
chenghaoyang at chromium.org
Fri Oct 4 11:59:13 CEST 2024
Subject: [PATCH 15 0/7] Add VirtualPipelineHandler
Hi all,
This series adds virtual pipeline handler, which doesn't depend on any
hardware, like camera sensor or ISP. Currently the configuration
supports test patterns and images.
It passed the gitlab pipeline:
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1283778
I've also checked that it works on qcam.
Updates in v15:
- Fixed single/multi-stream test with releasing `created_` when
destructed.
- Added FaceDetectMode support: Off.
Updates in v14:
- Refactored ImageFrames to keep a list of filepaths directly.
Updates in v13:
- Returned an errno in `FrameGenerete::generateFrame()`
Updates in v12:
- Added ImageFrameGenerator first, then add Parser.
- Removed ScaleMode argument, as only Fill is supported now.
- Fixed bug of Stream's configuration usage in configure().
Updates in v11:
- Allowed a single value in the config file's frame_rates field.
Updates in v10:
Apply fixes according to Jacopo's and Barnabás' comments.
- Split test_pattern and path fields in the yaml format.
- Let FrameGenerators control frameCount_.
- Fixed match() returning values.
Updates in v9: Allocate contiguous memory for planes in the same
FrameBuffer.
BR,
Harvey
Harvey Yang (6):
libcamera: add DmaBufAllocator::exportBuffers()
libcamera: Remove PipelineHandler Fatal check of non-empty
MediaDevices
libcamera: virtual: Add VirtualPipelineHandler
libcamera: virtual: Add ImageFrameGenerator
libcamera: virtual: Read config and register cameras based on the
config
libcamera: software_isp: Refactor SoftwareIsp to use
DmaBufAllocator::exportBuffers
Konami Shu (1):
libcamera: pipeline: Add test pattern for VirtualPipelineHandler
.../libcamera/internal/dma_buf_allocator.h | 13 +
meson.build | 1 +
meson_options.txt | 3 +-
src/android/meson.build | 19 -
src/libcamera/dma_buf_allocator.cpp | 57 +++
src/libcamera/pipeline/virtual/README.md | 65 +++
.../pipeline/virtual/config_parser.cpp | 263 ++++++++++++
.../pipeline/virtual/config_parser.h | 39 ++
.../pipeline/virtual/data/virtual.yaml | 36 ++
.../pipeline/virtual/frame_generator.h | 29 ++
.../virtual/image_frame_generator.cpp | 173 ++++++++
.../pipeline/virtual/image_frame_generator.h | 50 +++
src/libcamera/pipeline/virtual/meson.build | 13 +
.../virtual/test_pattern_generator.cpp | 137 ++++++
.../pipeline/virtual/test_pattern_generator.h | 53 +++
src/libcamera/pipeline/virtual/virtual.cpp | 398 ++++++++++++++++++
src/libcamera/pipeline/virtual/virtual.h | 61 +++
src/libcamera/pipeline_handler.cpp | 11 +-
src/libcamera/software_isp/software_isp.cpp | 20 +-
src/meson.build | 19 +
20 files changed, 1418 insertions(+), 42 deletions(-)
create mode 100644 src/libcamera/pipeline/virtual/README.md
create mode 100644 src/libcamera/pipeline/virtual/config_parser.cpp
create mode 100644 src/libcamera/pipeline/virtual/config_parser.h
create mode 100644 src/libcamera/pipeline/virtual/data/virtual.yaml
create mode 100644 src/libcamera/pipeline/virtual/frame_generator.h
create mode 100644 src/libcamera/pipeline/virtual/image_frame_generator.cpp
create mode 100644 src/libcamera/pipeline/virtual/image_frame_generator.h
create mode 100644 src/libcamera/pipeline/virtual/meson.build
create mode 100644 src/libcamera/pipeline/virtual/test_pattern_generator.cpp
create mode 100644 src/libcamera/pipeline/virtual/test_pattern_generator.h
create mode 100644 src/libcamera/pipeline/virtual/virtual.cpp
create mode 100644 src/libcamera/pipeline/virtual/virtual.h
--
2.47.0.rc0.187.ge670bccf7e-goog
More information about the libcamera-devel
mailing list