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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Jul 27 04:38:02 CEST 2022


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



More information about the libcamera-devel mailing list