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

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

Message

Naushir Patuck Dec. 9, 2022, 9 a.m. UTC
Hi,

As mentioned in another email, this version fixes a minor regression introduced
in version 3 where the delayed stream on for the ISP nodes causes some frame
drops.  This comes at the expense of allocating an additional buffer for the ISP
output when we have to drop frames for 3A convergence.

Thanks,
Naush

Naushir Patuck (12):
  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: 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      | 216 +++++++++++++++---
 src/libcamera/pipeline_handler.cpp            |  60 +++++
 src/libcamera/stream.cpp                      |  24 ++
 10 files changed, 352 insertions(+), 31 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

Comments

Naushir Patuck Jan. 10, 2023, 9:01 a.m. UTC | #1
Hi all,

Just a gentle ping to get some feedback on this series.

Many thanks,
Naush


On Fri, 9 Dec 2022 at 09:01, Naushir Patuck <naush@raspberrypi.com> wrote:

> Hi,
>
> As mentioned in another email, this version fixes a minor regression
> introduced
> in version 3 where the delayed stream on for the ISP nodes causes some
> frame
> drops.  This comes at the expense of allocating an additional buffer for
> the ISP
> output when we have to drop frames for 3A convergence.
>
> Thanks,
> Naush
>
> Naushir Patuck (12):
>   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: 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      | 216 +++++++++++++++---
>  src/libcamera/pipeline_handler.cpp            |  60 +++++
>  src/libcamera/stream.cpp                      |  24 ++
>  10 files changed, 352 insertions(+), 31 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
>
> --
> 2.25.1
>
>
Naushir Patuck Jan. 16, 2023, 9:10 a.m. UTC | #2
Another ping.  Anyone have time to provide some feedback?

Thanks,
Naush

On Tue, 10 Jan 2023 at 09:01, Naushir Patuck <naush@raspberrypi.com> wrote:

> Hi all,
>
> Just a gentle ping to get some feedback on this series.
>
> Many thanks,
> Naush
>
>
> On Fri, 9 Dec 2022 at 09:01, Naushir Patuck <naush@raspberrypi.com> wrote:
>
>> Hi,
>>
>> As mentioned in another email, this version fixes a minor regression
>> introduced
>> in version 3 where the delayed stream on for the ISP nodes causes some
>> frame
>> drops.  This comes at the expense of allocating an additional buffer for
>> the ISP
>> output when we have to drop frames for 3A convergence.
>>
>> Thanks,
>> Naush
>>
>> Naushir Patuck (12):
>>   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: 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      | 216 +++++++++++++++---
>>  src/libcamera/pipeline_handler.cpp            |  60 +++++
>>  src/libcamera/stream.cpp                      |  24 ++
>>  10 files changed, 352 insertions(+), 31 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
>>
>> --
>> 2.25.1
>>
>>