[{"id":23819,"web_url":"https://patchwork.libcamera.org/comment/23819/","msgid":"<YsyFhEdyoBeojaHx@pendragon.ideasonboard.com>","date":"2022-07-11T20:18:12","subject":"Re: [libcamera-devel] [RFC PATCH v3 0/4] Replace boost JSON parser\n\twith libyaml in Raspberry Pi IPA","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Naush,\n\nWould you be able to review this ? And could I volunteer you to handle\nthe items listed below to make this a non-RFC series ? :-) That would be\n\n- Adding support for a new tuning data format that doesn't rely on YAML\n  mapping ordering (it's really just about turning the mapping into a\n  list of single-entry mappings, and while at it, adding a top-level\n  version number element).\n\n- Update ctt to generate the new format.\n\n- Add a tool (Python seems to be the best option) to convert tuning\n  files from the existing format to the new format.\n\nOn Thu, Jun 16, 2022 at 06:05:31PM +0300, Laurent Pinchart via libcamera-devel wrote:\n> Hello,\n> \n> As mentioned in the subject, this patch series replaces the boost JSON\n> parser with the YamlParser implementation based on libyaml for the\n> Raspberry Pi IPA module.\n> \n> Compared to v2, the base work that introduces the iterator API has been\n> sent separately in \"[PATCH 0/7] libcamera: yaml_parser: Add iterator\n> API\". This series then addresses the specific needs of the Raspberry Pi\n> IPA module.\n> \n> The Raspberry Pi IPA tuning data contains a list of algorithms stored in\n> a mapping. Both the JSON and the YAML specifications explicitly state\n> that mappings are not ordered, but the IPA relies on the JSON data order\n> being preserved by the parser. This is an implementation-specific\n> behaviour that happens to be match the boost JSON parser implementation,\n> but not the YamlParser class.\n> \n> While in a perfect world we would update the tuning data format to avoid\n> this problem, we don't want to break every tuning file out there, and\n> thus need to ensure backward compatibility. This is why patches 1/4 and\n> 2/4 update the parser and iterator implementation to preserve the data\n> order, and patches 3/4 and 4/4 then move the Raspberry Pi IPA from boost\n> to YamlParser.\n> \n> If this approach is deemed reasonable, then the next non-RFC version of\n> the series should also include a new format for the Raspberry Pi IPA\n> tuning data that would be compliant with the JSON specification, an\n> update to the camera tuning tool to generate tuning files in that\n> format, and possibly a Python script to convert existing files to the\n> new format.\n> \n> Laurent Pinchart (4):\n>   test: yaml-parser: Test dictionary items ordering\n>   libcamera: yaml_parser: Preserve order of items in dictionary\n>   ipa: raspberrypi: Replace tabs with spaces in tuning data files\n>   ipa: raspberrypi: Use YamlParser to replace dependency on boost\n> \n>  README.rst                                    |  6 --\n>  include/libcamera/internal/yaml_parser.h      | 37 +++++---\n>  src/ipa/raspberrypi/controller/algorithm.cpp  |  2 +-\n>  src/ipa/raspberrypi/controller/algorithm.hpp  |  6 +-\n>  src/ipa/raspberrypi/controller/controller.cpp | 27 ++++--\n>  src/ipa/raspberrypi/controller/pwl.cpp        | 12 ++-\n>  src/ipa/raspberrypi/controller/pwl.hpp        |  5 +-\n>  src/ipa/raspberrypi/controller/rpi/agc.cpp    | 94 +++++++++----------\n>  src/ipa/raspberrypi/controller/rpi/agc.hpp    | 10 +-\n>  src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 94 +++++++++----------\n>  src/ipa/raspberrypi/controller/rpi/alsc.hpp   |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/awb.cpp    | 89 +++++++++---------\n>  src/ipa/raspberrypi/controller/rpi/awb.hpp    |  8 +-\n>  .../controller/rpi/black_level.cpp            | 12 +--\n>  .../controller/rpi/black_level.hpp            |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/ccm.cpp    | 28 +++---\n>  src/ipa/raspberrypi/controller/rpi/ccm.hpp    |  4 +-\n>  .../raspberrypi/controller/rpi/contrast.cpp   | 18 ++--\n>  .../raspberrypi/controller/rpi/contrast.hpp   |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/dpc.cpp    |  4 +-\n>  src/ipa/raspberrypi/controller/rpi/dpc.hpp    |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/geq.cpp    | 10 +-\n>  src/ipa/raspberrypi/controller/rpi/geq.hpp    |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/lux.cpp    | 12 +--\n>  src/ipa/raspberrypi/controller/rpi/lux.hpp    |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/noise.cpp  |  6 +-\n>  src/ipa/raspberrypi/controller/rpi/noise.hpp  |  2 +-\n>  src/ipa/raspberrypi/controller/rpi/sdn.cpp    |  6 +-\n>  src/ipa/raspberrypi/controller/rpi/sdn.hpp    |  2 +-\n>  .../raspberrypi/controller/rpi/sharpen.cpp    |  8 +-\n>  .../raspberrypi/controller/rpi/sharpen.hpp    |  2 +-\n>  src/ipa/raspberrypi/data/imx219.json          |  8 +-\n>  src/ipa/raspberrypi/data/imx219_noir.json     | 10 +-\n>  src/ipa/raspberrypi/data/imx290.json          | 18 ++--\n>  src/ipa/raspberrypi/data/imx477.json          |  8 +-\n>  src/ipa/raspberrypi/data/imx477_noir.json     | 10 +-\n>  src/ipa/raspberrypi/data/ov5647.json          | 10 +-\n>  src/ipa/raspberrypi/data/ov5647_noir.json     | 12 +--\n>  src/ipa/raspberrypi/data/se327m12.json        |  6 +-\n>  src/ipa/raspberrypi/meson.build               |  1 -\n>  src/ipa/raspberrypi/raspberrypi.cpp           |  1 +\n>  src/libcamera/yaml_parser.cpp                 | 35 ++++---\n>  test/yaml-parser.cpp                          | 17 ++--\n>  43 files changed, 334 insertions(+), 318 deletions(-)\n> \n> \n> base-commit: c5ab0f3b64280733a10b2da39e522fe87d0d51f0\n> -- \n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 88361BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 11 Jul 2022 20:18:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A764263312;\n\tMon, 11 Jul 2022 22:18:42 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8D5C060401\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 11 Jul 2022 22:18:40 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 00262440;\n\tMon, 11 Jul 2022 22:18:39 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657570722;\n\tbh=CogzgaW5UzptfiqwZqxAeNrjoR95JFixPSlD9fRjU04=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=zSJzjcS3TE4rCXRBDIIs6Js04xlp9/HKScoTDtLRjriYEv7iF11Ee3b3+jrlBTtrp\n\tyGC8lU9EaDflP7czU3PhH8JQ6iePhQf/gGa9bLUqUUb0LO0xBpP1KE2iLu+Mfjuh9V\n\tEOMiKH5b1VUaGRrp2d8KXe6pVs54nYwUyZAK2HDITdLkAKY/ehMccyzk4g5RH1jeL1\n\tPOHFek88gHt2wqjUDxdQt/gbc9uFshts8lTR0AtqcuW/bB+y8/n/F4i8w70fV4ebQA\n\tBIriWj4qZ8hZLyz+8sBuoj/eIUORFv575EDUjCbDy9qlWprzTGiOFcj+2ycNAFc66F\n\tQcqwL320Jcq7A==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1657570720;\n\tbh=CogzgaW5UzptfiqwZqxAeNrjoR95JFixPSlD9fRjU04=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=NzseX4OcsrJW++wCmK7klbfSqt37ookFqAdCl1f/QgsQCaQgCWNjxIzVrE6nZLndY\n\t0eYHvUJtKfN7C+//gGbCBExUlzDhhsXuSOOrG7hwtwIW8BzQ957v1dh19Rn4RGqvvd\n\t3cRYZmvvd+clUym1K1tmoVieQ9dRvyh9go+shEW4="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"NzseX4Oc\"; dkim-atps=neutral","Date":"Mon, 11 Jul 2022 23:18:12 +0300","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<YsyFhEdyoBeojaHx@pendragon.ideasonboard.com>","References":"<20220616150535.21742-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220616150535.21742-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [RFC PATCH v3 0/4] Replace boost JSON parser\n\twith libyaml in Raspberry Pi IPA","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":23829,"web_url":"https://patchwork.libcamera.org/comment/23829/","msgid":"<CAEmqJPo6CyhDF9bBGAwjBqnPfza+C2yv__iF4rDAhRJmNF1LQw@mail.gmail.com>","date":"2022-07-12T08:16:01","subject":"Re: [libcamera-devel] [RFC PATCH v3 0/4] Replace boost JSON parser\n\twith libyaml in Raspberry Pi IPA","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Laurent,\n\n\nOn Mon, 11 Jul 2022 at 21:18, Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> Hi Naush,\n>\n> Would you be able to review this ? And could I volunteer you to handle\n> the items listed below to make this a non-RFC series ? :-) That would be\n>\n> - Adding support for a new tuning data format that doesn't rely on YAML\n>   mapping ordering (it's really just about turning the mapping into a\n>   list of single-entry mappings, and while at it, adding a top-level\n>   version number element).\n>\n> - Update ctt to generate the new format.\n>\n> - Add a tool (Python seems to be the best option) to convert tuning\n>   files from the existing format to the new format.\n>\n\nSure, I'll get to that as soon as I can.\n\nRegards,\nNaush\n\n\n>\n> On Thu, Jun 16, 2022 at 06:05:31PM +0300, Laurent Pinchart via\n> libcamera-devel wrote:\n> > Hello,\n> >\n> > As mentioned in the subject, this patch series replaces the boost JSON\n> > parser with the YamlParser implementation based on libyaml for the\n> > Raspberry Pi IPA module.\n> >\n> > Compared to v2, the base work that introduces the iterator API has been\n> > sent separately in \"[PATCH 0/7] libcamera: yaml_parser: Add iterator\n> > API\". This series then addresses the specific needs of the Raspberry Pi\n> > IPA module.\n> >\n> > The Raspberry Pi IPA tuning data contains a list of algorithms stored in\n> > a mapping. Both the JSON and the YAML specifications explicitly state\n> > that mappings are not ordered, but the IPA relies on the JSON data order\n> > being preserved by the parser. This is an implementation-specific\n> > behaviour that happens to be match the boost JSON parser implementation,\n> > but not the YamlParser class.\n> >\n> > While in a perfect world we would update the tuning data format to avoid\n> > this problem, we don't want to break every tuning file out there, and\n> > thus need to ensure backward compatibility. This is why patches 1/4 and\n> > 2/4 update the parser and iterator implementation to preserve the data\n> > order, and patches 3/4 and 4/4 then move the Raspberry Pi IPA from boost\n> > to YamlParser.\n> >\n> > If this approach is deemed reasonable, then the next non-RFC version of\n> > the series should also include a new format for the Raspberry Pi IPA\n> > tuning data that would be compliant with the JSON specification, an\n> > update to the camera tuning tool to generate tuning files in that\n> > format, and possibly a Python script to convert existing files to the\n> > new format.\n> >\n> > Laurent Pinchart (4):\n> >   test: yaml-parser: Test dictionary items ordering\n> >   libcamera: yaml_parser: Preserve order of items in dictionary\n> >   ipa: raspberrypi: Replace tabs with spaces in tuning data files\n> >   ipa: raspberrypi: Use YamlParser to replace dependency on boost\n> >\n> >  README.rst                                    |  6 --\n> >  include/libcamera/internal/yaml_parser.h      | 37 +++++---\n> >  src/ipa/raspberrypi/controller/algorithm.cpp  |  2 +-\n> >  src/ipa/raspberrypi/controller/algorithm.hpp  |  6 +-\n> >  src/ipa/raspberrypi/controller/controller.cpp | 27 ++++--\n> >  src/ipa/raspberrypi/controller/pwl.cpp        | 12 ++-\n> >  src/ipa/raspberrypi/controller/pwl.hpp        |  5 +-\n> >  src/ipa/raspberrypi/controller/rpi/agc.cpp    | 94 +++++++++----------\n> >  src/ipa/raspberrypi/controller/rpi/agc.hpp    | 10 +-\n> >  src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 94 +++++++++----------\n> >  src/ipa/raspberrypi/controller/rpi/alsc.hpp   |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/awb.cpp    | 89 +++++++++---------\n> >  src/ipa/raspberrypi/controller/rpi/awb.hpp    |  8 +-\n> >  .../controller/rpi/black_level.cpp            | 12 +--\n> >  .../controller/rpi/black_level.hpp            |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/ccm.cpp    | 28 +++---\n> >  src/ipa/raspberrypi/controller/rpi/ccm.hpp    |  4 +-\n> >  .../raspberrypi/controller/rpi/contrast.cpp   | 18 ++--\n> >  .../raspberrypi/controller/rpi/contrast.hpp   |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/dpc.cpp    |  4 +-\n> >  src/ipa/raspberrypi/controller/rpi/dpc.hpp    |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/geq.cpp    | 10 +-\n> >  src/ipa/raspberrypi/controller/rpi/geq.hpp    |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/lux.cpp    | 12 +--\n> >  src/ipa/raspberrypi/controller/rpi/lux.hpp    |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/noise.cpp  |  6 +-\n> >  src/ipa/raspberrypi/controller/rpi/noise.hpp  |  2 +-\n> >  src/ipa/raspberrypi/controller/rpi/sdn.cpp    |  6 +-\n> >  src/ipa/raspberrypi/controller/rpi/sdn.hpp    |  2 +-\n> >  .../raspberrypi/controller/rpi/sharpen.cpp    |  8 +-\n> >  .../raspberrypi/controller/rpi/sharpen.hpp    |  2 +-\n> >  src/ipa/raspberrypi/data/imx219.json          |  8 +-\n> >  src/ipa/raspberrypi/data/imx219_noir.json     | 10 +-\n> >  src/ipa/raspberrypi/data/imx290.json          | 18 ++--\n> >  src/ipa/raspberrypi/data/imx477.json          |  8 +-\n> >  src/ipa/raspberrypi/data/imx477_noir.json     | 10 +-\n> >  src/ipa/raspberrypi/data/ov5647.json          | 10 +-\n> >  src/ipa/raspberrypi/data/ov5647_noir.json     | 12 +--\n> >  src/ipa/raspberrypi/data/se327m12.json        |  6 +-\n> >  src/ipa/raspberrypi/meson.build               |  1 -\n> >  src/ipa/raspberrypi/raspberrypi.cpp           |  1 +\n> >  src/libcamera/yaml_parser.cpp                 | 35 ++++---\n> >  test/yaml-parser.cpp                          | 17 ++--\n> >  43 files changed, 334 insertions(+), 318 deletions(-)\n> >\n> >\n> > base-commit: c5ab0f3b64280733a10b2da39e522fe87d0d51f0\n> > --\n> > Regards,\n> >\n> > Laurent Pinchart\n> >\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 4FEEABD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 12 Jul 2022 08:16:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A8F286330F;\n\tTue, 12 Jul 2022 10:16:12 +0200 (CEST)","from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com\n\t[IPv6:2a00:1450:4864:20::12b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 48AE36330E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 10:16:10 +0200 (CEST)","by mail-lf1-x12b.google.com with SMTP id t1so9127481lft.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 12 Jul 2022 01:16:10 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1657613772;\n\tbh=zOh+hAJsSc33NLr63OvqibQX1l4XV5cl9DFEQy3jXi0=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=Lxc915U0f2kS2myJWP0ELus+vJI0g8xZqnWWmZGYZ9Lfz1yTbAK3JPA4vvjMuUpMs\n\tcA2yOce4qyPmDfSjyHsS3M/05532eH3C69Mj/XDcBVY/2ahzazs9CG9IBYTanUvf83\n\t1Lnq1emL7iUfO1PiCyVAjTzvPAWbg0tGHSMDCBKK+KAoD9KV7RJsqKgAXVC7gBIMp7\n\tz/zgv+miPiYrK8XhMJj44u8Xo1SxAxuBtjmz/lEweyq/oW4r/8NWsPnAAO9wq9Ei+X\n\tNTAqSpJUFFtVsf9PeXG8lEwAL8/KH9h+sEufciA178X6YjnSR8JtJi4o2l2AFRJrOS\n\tZTVOEcZBNwW8w==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=ct/yVZocwdpTJU56ojg8lJECVkEwVOJBiRrlueWOdxQ=;\n\tb=Qh1eEoCVblFvNelF8GHs5lO7hgntfkf4vtC9dOYINbL16C3NZBv1tcwuHpH4XpkMUU\n\t3Jplw+upqz3x1ppoxhfM2EdEzI5UYkEFzAUuhJjX6m7KYJGye5WMrorVjXUL50JEQcnu\n\tkuRmFsZNZRA5NBKzN3NboAheyogVUuvDRdbc9NjG67xwGZ1wGYuco08sMdm0xweJ5jZ1\n\tepZo5W1nT6tRBuc5QtEtooSk65YA2DkTlC12oB31tzmxqgu2Wm9RE82hZhUQEwRgxwhp\n\tBVFhHp0Uk0H6FdPo5Zq+/K2YN9sAsFKJdiz+lIVJcl6YaW5wPbElIx5o27J96fHIsMgE\n\tq92Q=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"Qh1eEoCV\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=ct/yVZocwdpTJU56ojg8lJECVkEwVOJBiRrlueWOdxQ=;\n\tb=IfAFRo1BlO032NHnmSJ9XUnuwAMqV820yV8nn9UGwGNvRHlUHE2n/YJ9EBVqwU3U9N\n\taq1sB766yw6okQDTbZLnDMpHW4A8nIy7wvWOK94jV70oCpZfHtqh+nRSi+GzzoTpSzGy\n\tqhEvEvf2tdWoh/u+j4XoOYLKe80/8wb1q8A4FYjGSn5S4fR+zHOoADapw0/NagaUFvIv\n\thtoo0qvJOmjsLFz8PcjUhy7rkBRIb8t9qaTUYMobPx/kUhEyq2Oy7tjVLsq4ogS2nBmC\n\t+gnxcM+z5XQXSox0mpFNaT19GiJOSfFHqEOHpeY4zOUQptEScHT5i/ZbwEOl+bOyOVWX\n\twncA==","X-Gm-Message-State":"AJIora9PLuf2yWdN7o25Va2JL+oikrAhDFhdElvAxzgGko/7msIaMQrL\n\tK0B89VVvtNmfmegGC+e+aQnkZTBtUXLxta7hFI0wyQ==","X-Google-Smtp-Source":"AGRyM1sDqkp6i5wX7eW+lc+DosEvT1dg49qxzXWzvUBo3V0LkFxCyg0ON7+5YkT+HVsKG0O1CAReVzdB5e45KL91MSk=","X-Received":"by 2002:a05:6512:39cd:b0:489:c7a5:7a46 with SMTP id\n\tk13-20020a05651239cd00b00489c7a57a46mr11541839lfu.142.1657613769411;\n\tTue, 12 Jul 2022 01:16:09 -0700 (PDT)","MIME-Version":"1.0","References":"<20220616150535.21742-1-laurent.pinchart@ideasonboard.com>\n\t<YsyFhEdyoBeojaHx@pendragon.ideasonboard.com>","In-Reply-To":"<YsyFhEdyoBeojaHx@pendragon.ideasonboard.com>","Date":"Tue, 12 Jul 2022 09:16:01 +0100","Message-ID":"<CAEmqJPo6CyhDF9bBGAwjBqnPfza+C2yv__iF4rDAhRJmNF1LQw@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000e6a10b05e39747e2\"","Subject":"Re: [libcamera-devel] [RFC PATCH v3 0/4] Replace boost JSON parser\n\twith libyaml in Raspberry Pi IPA","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]