[PATCH v6 0/7] Add VirtualPipelineHandler

Harvey Yang chenghaoyang at chromium.org
Fri Jul 26 11:54:21 CEST 2024


Hi folks,

Sorry for the super late update. It's been a while since the last series
of patches, as we were busy with mtkisp7's bringup & migration.

Thanks to Hans de Goede's work on DmaBufAllocator, the prerequisites of
VirtualPipelineHandler are almost landed. Only a helper function added
in the first patch.

Konami, our intern in 2023, helped to add test patterns and real image
loading into VirtualPipelineHandler.

I tried to address the previous comments, while it's very likely that I
left some behind. Please leave the comments again if I do. Many thanks!


BR,
Harvey

Harvey Yang (3):
  Add a helper function exportFrameBuffers in DmaBufAllocator to make it
    easier to use.
  The Fatal check of having at least one MediaDevice was to prevent
    pipeline handler implementations searching and owning media devices
    with custom conventions, instead of using the base function
    |acquireMediaDevice|. It also has the assumption that there's at
    least one media device to make a camera work.
  libcamera: pipeline: Add VirtualPipelineHandler

Konami Shu (4):
  libcamera: pipeline: Add test pattern for VirtualPipelineHandler
  libcamera: pipeline: Read config and register cameras based on the
    config
  libcamera: pipeline: Shift test pattern by 1 pixel left every frame
  libcamera: pipeline: Load images

 .../libcamera/internal/dma_buf_allocator.h    |  10 +
 meson.build                                   |   1 +
 meson_options.txt                             |   3 +-
 src/libcamera/dma_buf_allocator.cpp           |  57 +++-
 src/libcamera/pipeline/virtual/README.md      |  76 +++++
 .../pipeline/virtual/common_functions.cpp     |  27 ++
 .../pipeline/virtual/common_functions.h       |  18 ++
 .../pipeline/virtual/data/virtual.yaml        |  51 ++++
 .../pipeline/virtual/frame_generator.h        |  33 +++
 .../virtual/image_frame_generator.cpp         | 154 ++++++++++
 .../pipeline/virtual/image_frame_generator.h  |  65 ++++
 src/libcamera/pipeline/virtual/meson.build    |  32 ++
 src/libcamera/pipeline/virtual/parser.cpp     | 243 +++++++++++++++
 src/libcamera/pipeline/virtual/parser.h       |  48 +++
 .../virtual/test_pattern_generator.cpp        | 148 ++++++++++
 .../pipeline/virtual/test_pattern_generator.h |  58 ++++
 src/libcamera/pipeline/virtual/virtual.cpp    | 279 ++++++++++++++++++
 src/libcamera/pipeline/virtual/virtual.h      |  96 ++++++
 src/libcamera/pipeline_handler.cpp            |  11 +-
 19 files changed, 1404 insertions(+), 6 deletions(-)
 create mode 100644 src/libcamera/pipeline/virtual/README.md
 create mode 100644 src/libcamera/pipeline/virtual/common_functions.cpp
 create mode 100644 src/libcamera/pipeline/virtual/common_functions.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/parser.cpp
 create mode 100644 src/libcamera/pipeline/virtual/parser.h
 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.46.0.rc1.232.g9752f9e123-goog



More information about the libcamera-devel mailing list