[PATCH v16 0/7] Add VirtualPipelineHandler

Cheng-Hao Yang chenghaoyang at chromium.org
Thu Oct 31 08:17:55 CET 2024


Friendly ping: As all patches are reviewed, can we merge this series recently?

Thanks :)
Harvey

On Tue, Oct 22, 2024 at 3:45 PM Harvey Yang <chenghaoyang at chromium.org> wrote:
>
> 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/1294884
>
> Updates in v16:
> - Updates location in config with `properties::LocationNameValueMap`.
>
> Updates in v15:
> - Fixed multi_stream_test with `PipelineHandler::match()`.
>
> 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 (7):
>   libcamera: add DmaBufAllocator::exportBuffers()
>   libcamera: Remove PipelineHandler Fatal check of non-empty
>     MediaDevices
>   libcamera: virtual: Add VirtualPipelineHandler
>   libcamera: pipeline: Add test pattern for 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
>
>  .../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        | 260 ++++++++++++
>  .../pipeline/virtual/config_parser.h          |  39 ++
>  .../pipeline/virtual/data/virtual.yaml        |  36 ++
>  .../pipeline/virtual/frame_generator.h        |  29 ++
>  .../virtual/image_frame_generator.cpp         | 172 ++++++++
>  .../pipeline/virtual/image_frame_generator.h  |  49 +++
>  src/libcamera/pipeline/virtual/meson.build    |  13 +
>  .../virtual/test_pattern_generator.cpp        | 136 ++++++
>  .../pipeline/virtual/test_pattern_generator.h |  52 +++
>  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, 1411 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.105.g07ac214952-goog
>


More information about the libcamera-devel mailing list