[libcamera-devel,v7,00/14] Replace boost JSON parser with libyaml in Raspberry Pi IPA
mbox series

Message ID 20220727023816.30008-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • Replace boost JSON parser with libyaml in Raspberry Pi IPA
Related show

Message

Laurent Pinchart July 27, 2022, 2:38 a.m. UTC
Hello,

This patches series replaces the boost JSON parser with the YamlParser
implementation based on libyaml for the Raspberry Pi IPA module.

Compared to v6 (posted by Naush), the main changes are

- Rebase on top of "[PATCH 00/17] Raspberry Pi IPA code refactor"
- Addition of patch 01/14 that simplifies usage of the YamlObject::get()
  function
- Addition of patches 05/14 to 07/14 that prepare for error handling
  during tuning data read
- Propagation of errors in 08/14
- Addition of 13/14 and 14/14 (those are optional and could be merged
  separately)

Florian Sylvestre (1):
  libcamera: yaml_parser: Add getList() function

Laurent Pinchart (9):
  libcamera: yaml_parser: Replace ok flag to get() with std::optional
  test: yaml-parser: Test dictionary items ordering
  libcamera: yaml_parser: Preserve order of items in dictionary
  ipa: raspberrypi: Replace tabs with spaces in tuning data files
  ipa: raspberrypi: Return an error code from Algorithm::read()
  ipa: raspberrypi: Propagate errors from AGC metering tuning data read
  ipa: raspberrypi: Replace Fatal log by error propagation
  ipa: raspberrypi: Use YamlParser to replace dependency on boost
  ipa: raspberrypi: agc: Use YamlObject::getList()

Naushir Patuck (4):
  ipa: raspberrypi: Introduce version 2.0 format for the camera tuning
    file
  utils: raspberrypi: ctt: Output version 2.0 format tuning files
  utils: raspberrypi: Add tuning file conversion script
  ipa: raspberrypi: Convert existing cameara tuning files to version 2.0

 README.rst                                    |   6 -
 include/libcamera/internal/yaml_parser.h      |  62 +-
 src/ipa/raspberrypi/controller/algorithm.cpp  |   3 +-
 src/ipa/raspberrypi/controller/algorithm.h    |   6 +-
 src/ipa/raspberrypi/controller/controller.cpp |  79 +-
 src/ipa/raspberrypi/controller/controller.h   |   7 +-
 src/ipa/raspberrypi/controller/pwl.cpp        |  13 +-
 src/ipa/raspberrypi/controller/pwl.h          |   4 +-
 src/ipa/raspberrypi/controller/rpi/agc.cpp    | 220 +++--
 src/ipa/raspberrypi/controller/rpi/agc.h      |  10 +-
 src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 149 +--
 src/ipa/raspberrypi/controller/rpi/alsc.h     |   2 +-
 src/ipa/raspberrypi/controller/rpi/awb.cpp    | 171 ++--
 src/ipa/raspberrypi/controller/rpi/awb.h      |   8 +-
 .../controller/rpi/black_level.cpp            |  13 +-
 .../raspberrypi/controller/rpi/black_level.h  |   2 +-
 src/ipa/raspberrypi/controller/rpi/ccm.cpp    |  65 +-
 src/ipa/raspberrypi/controller/rpi/ccm.h      |   4 +-
 .../raspberrypi/controller/rpi/contrast.cpp   |  28 +-
 src/ipa/raspberrypi/controller/rpi/contrast.h |   2 +-
 src/ipa/raspberrypi/controller/rpi/dpc.cpp    |  12 +-
 src/ipa/raspberrypi/controller/rpi/dpc.h      |   2 +-
 src/ipa/raspberrypi/controller/rpi/geq.cpp    |  22 +-
 src/ipa/raspberrypi/controller/rpi/geq.h      |   2 +-
 src/ipa/raspberrypi/controller/rpi/lux.cpp    |  31 +-
 src/ipa/raspberrypi/controller/rpi/lux.h      |   2 +-
 src/ipa/raspberrypi/controller/rpi/noise.cpp  |  15 +-
 src/ipa/raspberrypi/controller/rpi/noise.h    |   2 +-
 src/ipa/raspberrypi/controller/rpi/sdn.cpp    |   7 +-
 src/ipa/raspberrypi/controller/rpi/sdn.h      |   2 +-
 .../raspberrypi/controller/rpi/sharpen.cpp    |   9 +-
 src/ipa/raspberrypi/controller/rpi/sharpen.h  |   2 +-
 src/ipa/raspberrypi/data/imx219.json          | 824 ++++++++--------
 src/ipa/raspberrypi/data/imx219_noir.json     | 686 +++++++-------
 src/ipa/raspberrypi/data/imx290.json          | 326 ++++---
 src/ipa/raspberrypi/data/imx296.json          | 369 ++++----
 src/ipa/raspberrypi/data/imx378.json          | 677 ++++++++------
 src/ipa/raspberrypi/data/imx477.json          | 881 ++++++++++--------
 src/ipa/raspberrypi/data/imx477_noir.json     | 734 ++++++++-------
 src/ipa/raspberrypi/data/imx519.json          | 677 ++++++++------
 src/ipa/raspberrypi/data/ov5647.json          | 824 ++++++++--------
 src/ipa/raspberrypi/data/ov5647_noir.json     | 686 +++++++-------
 src/ipa/raspberrypi/data/ov9281.json          | 195 ++--
 src/ipa/raspberrypi/data/se327m12.json        | 683 ++++++++------
 src/ipa/raspberrypi/data/uncalibrated.json    | 180 ++--
 src/ipa/raspberrypi/meson.build               |   1 -
 src/ipa/raspberrypi/raspberrypi.cpp           |  10 +-
 src/libcamera/yaml_parser.cpp                 | 228 +++--
 test/yaml-parser.cpp                          |  94 +-
 utils/raspberrypi/ctt/convert_tuning.py       |  46 +
 utils/raspberrypi/ctt/ctt.py                  |  18 +-
 .../raspberrypi/ctt/ctt_pretty_print_json.py  | 188 ++--
 52 files changed, 5246 insertions(+), 4043 deletions(-)
 create mode 100755 utils/raspberrypi/ctt/convert_tuning.py
 mode change 100644 => 100755 utils/raspberrypi/ctt/ctt_pretty_print_json.py

Comments

Naushir Patuck July 27, 2022, 1:37 p.m. UTC | #1
Hi Laurent,

Additionally for this series:
Tested-by: Naushir Patuck <naush@raspberrypi.com>

Naush


On Wed, 27 Jul 2022 at 03:38, Laurent Pinchart <
laurent.pinchart@ideasonboard.com> wrote:

> Hello,
>
> This patches series replaces the boost JSON parser with the YamlParser
> implementation based on libyaml for the Raspberry Pi IPA module.
>
> Compared to v6 (posted by Naush), the main changes are
>
> - Rebase on top of "[PATCH 00/17] Raspberry Pi IPA code refactor"
> - Addition of patch 01/14 that simplifies usage of the YamlObject::get()
>   function
> - Addition of patches 05/14 to 07/14 that prepare for error handling
>   during tuning data read
> - Propagation of errors in 08/14
> - Addition of 13/14 and 14/14 (those are optional and could be merged
>   separately)
>
> Florian Sylvestre (1):
>   libcamera: yaml_parser: Add getList() function
>
> Laurent Pinchart (9):
>   libcamera: yaml_parser: Replace ok flag to get() with std::optional
>   test: yaml-parser: Test dictionary items ordering
>   libcamera: yaml_parser: Preserve order of items in dictionary
>   ipa: raspberrypi: Replace tabs with spaces in tuning data files
>   ipa: raspberrypi: Return an error code from Algorithm::read()
>   ipa: raspberrypi: Propagate errors from AGC metering tuning data read
>   ipa: raspberrypi: Replace Fatal log by error propagation
>   ipa: raspberrypi: Use YamlParser to replace dependency on boost
>   ipa: raspberrypi: agc: Use YamlObject::getList()
>
> Naushir Patuck (4):
>   ipa: raspberrypi: Introduce version 2.0 format for the camera tuning
>     file
>   utils: raspberrypi: ctt: Output version 2.0 format tuning files
>   utils: raspberrypi: Add tuning file conversion script
>   ipa: raspberrypi: Convert existing cameara tuning files to version 2.0
>
>  README.rst                                    |   6 -
>  include/libcamera/internal/yaml_parser.h      |  62 +-
>  src/ipa/raspberrypi/controller/algorithm.cpp  |   3 +-
>  src/ipa/raspberrypi/controller/algorithm.h    |   6 +-
>  src/ipa/raspberrypi/controller/controller.cpp |  79 +-
>  src/ipa/raspberrypi/controller/controller.h   |   7 +-
>  src/ipa/raspberrypi/controller/pwl.cpp        |  13 +-
>  src/ipa/raspberrypi/controller/pwl.h          |   4 +-
>  src/ipa/raspberrypi/controller/rpi/agc.cpp    | 220 +++--
>  src/ipa/raspberrypi/controller/rpi/agc.h      |  10 +-
>  src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 149 +--
>  src/ipa/raspberrypi/controller/rpi/alsc.h     |   2 +-
>  src/ipa/raspberrypi/controller/rpi/awb.cpp    | 171 ++--
>  src/ipa/raspberrypi/controller/rpi/awb.h      |   8 +-
>  .../controller/rpi/black_level.cpp            |  13 +-
>  .../raspberrypi/controller/rpi/black_level.h  |   2 +-
>  src/ipa/raspberrypi/controller/rpi/ccm.cpp    |  65 +-
>  src/ipa/raspberrypi/controller/rpi/ccm.h      |   4 +-
>  .../raspberrypi/controller/rpi/contrast.cpp   |  28 +-
>  src/ipa/raspberrypi/controller/rpi/contrast.h |   2 +-
>  src/ipa/raspberrypi/controller/rpi/dpc.cpp    |  12 +-
>  src/ipa/raspberrypi/controller/rpi/dpc.h      |   2 +-
>  src/ipa/raspberrypi/controller/rpi/geq.cpp    |  22 +-
>  src/ipa/raspberrypi/controller/rpi/geq.h      |   2 +-
>  src/ipa/raspberrypi/controller/rpi/lux.cpp    |  31 +-
>  src/ipa/raspberrypi/controller/rpi/lux.h      |   2 +-
>  src/ipa/raspberrypi/controller/rpi/noise.cpp  |  15 +-
>  src/ipa/raspberrypi/controller/rpi/noise.h    |   2 +-
>  src/ipa/raspberrypi/controller/rpi/sdn.cpp    |   7 +-
>  src/ipa/raspberrypi/controller/rpi/sdn.h      |   2 +-
>  .../raspberrypi/controller/rpi/sharpen.cpp    |   9 +-
>  src/ipa/raspberrypi/controller/rpi/sharpen.h  |   2 +-
>  src/ipa/raspberrypi/data/imx219.json          | 824 ++++++++--------
>  src/ipa/raspberrypi/data/imx219_noir.json     | 686 +++++++-------
>  src/ipa/raspberrypi/data/imx290.json          | 326 ++++---
>  src/ipa/raspberrypi/data/imx296.json          | 369 ++++----
>  src/ipa/raspberrypi/data/imx378.json          | 677 ++++++++------
>  src/ipa/raspberrypi/data/imx477.json          | 881 ++++++++++--------
>  src/ipa/raspberrypi/data/imx477_noir.json     | 734 ++++++++-------
>  src/ipa/raspberrypi/data/imx519.json          | 677 ++++++++------
>  src/ipa/raspberrypi/data/ov5647.json          | 824 ++++++++--------
>  src/ipa/raspberrypi/data/ov5647_noir.json     | 686 +++++++-------
>  src/ipa/raspberrypi/data/ov9281.json          | 195 ++--
>  src/ipa/raspberrypi/data/se327m12.json        | 683 ++++++++------
>  src/ipa/raspberrypi/data/uncalibrated.json    | 180 ++--
>  src/ipa/raspberrypi/meson.build               |   1 -
>  src/ipa/raspberrypi/raspberrypi.cpp           |  10 +-
>  src/libcamera/yaml_parser.cpp                 | 228 +++--
>  test/yaml-parser.cpp                          |  94 +-
>  utils/raspberrypi/ctt/convert_tuning.py       |  46 +
>  utils/raspberrypi/ctt/ctt.py                  |  18 +-
>  .../raspberrypi/ctt/ctt_pretty_print_json.py  | 188 ++--
>  52 files changed, 5246 insertions(+), 4043 deletions(-)
>  create mode 100755 utils/raspberrypi/ctt/convert_tuning.py
>  mode change 100644 => 100755
> utils/raspberrypi/ctt/ctt_pretty_print_json.py
>
> --
> Regards,
>
> Laurent Pinchart
>
>