[libcamera-devel,v3,00/13] Raspberry Pi: Platform configuration and buffer allocation improvements
mbox series

Message ID 20221206135459.25521-1-naush@raspberrypi.com
Headers show
Series
  • Raspberry Pi: Platform configuration and buffer allocation improvements
Related show

Message

Naushir Patuck Dec. 6, 2022, 1:54 p.m. UTC
Hi,

Quite a few changes in version 3 of this series! I've addressed all of Laurent's
and David's comments from version 2.  Additionally, some of the major changes in
this version include:

- Adding a hints flag to StreamConfiguration.  This allows us to remove the
"num_output0_buffers" configuration option.  This also required changes to the
config validation, and buffer count calculations.
- Reorder some of the commits to make more logical sense.
- Switch to using *.yaml for the config files.  Note that the format is still
JSON based to be consistent with our tuning file.
- Remove default.json.  If no config file is provdied in the env variable, we
simply use const defaults that match default.json from v2.
- We no longer need rpi_apps.yaml.  This will be handled by the application
setting up the appropriate hint flag.

Thanks,
Naush

Naushir Patuck (13):
  libcamera: stream: Add stream hints to StreamConfiguration
  libcamera: pipeline: Add a platform configuration file helper
  pipeline: raspberrypi: Add a pipeline config structure
  pipeline: raspberrypi: Reorder startup drop frame initialisation
  pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for Unicam
    Image
  libcamera: pipeline: build: Add pipeline_data_dir variable
  pipeline: raspberrypi: Read config parameters from a file
  pipeline: raspberrypi: Disable StreamOn for ISP Output0/1 when
    dropping frames
  pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for ISP
    Output0
  pipeline: raspberrypi: Validate MandatoryRequestBuffer in
    queueRequestDevice()
  pipeline: raspberrypi: Add a parameter to disable startup drop frames
  pipeline: raspberrypi: Allow pipeline handler to always use the newest
    frame
  pipeline: raspberrypi: Add minimal memory usage config file

 include/libcamera/internal/pipeline_handler.h |   3 +
 include/libcamera/stream.h                    |   8 +
 src/libcamera/pipeline/meson.build            |   3 +
 .../pipeline/raspberrypi/data/example.yaml    |  29 ++
 .../pipeline/raspberrypi/data/meson.build     |   9 +
 .../raspberrypi/data/minimal_mem.yaml         |  29 ++
 .../pipeline/raspberrypi/meson.build          |   2 +
 .../pipeline/raspberrypi/raspberrypi.cpp      | 252 +++++++++++++++---
 src/libcamera/pipeline_handler.cpp            |  60 +++++
 src/libcamera/stream.cpp                      |  24 ++
 10 files changed, 384 insertions(+), 35 deletions(-)
 create mode 100644 src/libcamera/pipeline/raspberrypi/data/example.yaml
 create mode 100644 src/libcamera/pipeline/raspberrypi/data/meson.build
 create mode 100644 src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml