Show a cover letter.

GET /api/1.1/covers/16244/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 16244,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/16244/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/16244/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20220616150535.21742-1-laurent.pinchart@ideasonboard.com>",
    "date": "2022-06-16T15:05:31",
    "name": "[libcamera-devel,RFC,v3,0/4] Replace boost JSON parser with libyaml in Raspberry Pi IPA",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/16244/mbox/",
    "series": [
        {
            "id": 3182,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3182/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3182",
            "date": "2022-06-16T15:05:31",
            "name": "Replace boost JSON parser with libyaml in Raspberry Pi IPA",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/3182/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/16244/comments/",
    "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 D97BFBD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 16 Jun 2022 15:05:51 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E84806563A;\n\tThu, 16 Jun 2022 17:05:50 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5F104600F0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 16 Jun 2022 17:05:49 +0200 (CEST)",
            "from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8C273415;\n\tThu, 16 Jun 2022 17:05:48 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1655391951;\n\tbh=m+XyrJG+euflFIWqM8ffd6Z6za3DtbqJeXv8dR+2OdI=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=n62OEHY7p7JaTpCFctqkorPZJsJ2OCsq5mfKjzmUISEqi84BDH050csXqnX1NoE9D\n\tgdG2uQJRooRHv+dHwBPOPLi6l2cPCqfD0EA8Sd137DXmb+UilvI/UNM8vyj859flJJ\n\t/eyhTLcYTAmssriXXK52IomJOSi/tQQpvqBYob5lp8/Kb5EuXbRrbnVxz9+cuc36nm\n\tGEmjq9ULCuUDSeHpTBElM49susVTS78r5g7fcO2XerGNbNJiBrgvAeBwPOfKupwJun\n\tX/vQfCGNWiHUKT7hmR3JkJZLQMlt6ZUX2L224lGkUWxqRCp+i9AnbJX7qpP+7JYB2f\n\tV6jUm8+sgwbEA==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1655391949;\n\tbh=m+XyrJG+euflFIWqM8ffd6Z6za3DtbqJeXv8dR+2OdI=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=XCa0UgjaqZHkxqHrDRQQo9E+kDGFDfdGc5eBhwxVNtrBsH7eN5IrL4Q0dXAFG8ME5\n\t12npPPscijhEBVx6p9djlGjxxRxLWYGitXaAdjw2o6L87MD2ole51oBxFcvpL1gruu\n\tyjHUk98f3SLnEvHz6lV4nZGSKDZsaqLDJaho0xi0="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"XCa0Ugja\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 16 Jun 2022 18:05:31 +0300",
        "Message-Id": "<20220616150535.21742-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.35.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [RFC PATCH v3 0/4] Replace boost JSON parser with\n\tlibyaml 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>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hello,\n\nAs mentioned in the subject, this patch series replaces the boost JSON\nparser with the YamlParser implementation based on libyaml for the\nRaspberry Pi IPA module.\n\nCompared to v2, the base work that introduces the iterator API has been\nsent separately in \"[PATCH 0/7] libcamera: yaml_parser: Add iterator\nAPI\". This series then addresses the specific needs of the Raspberry Pi\nIPA module.\n\nThe Raspberry Pi IPA tuning data contains a list of algorithms stored in\na mapping. Both the JSON and the YAML specifications explicitly state\nthat mappings are not ordered, but the IPA relies on the JSON data order\nbeing preserved by the parser. This is an implementation-specific\nbehaviour that happens to be match the boost JSON parser implementation,\nbut not the YamlParser class.\n\nWhile in a perfect world we would update the tuning data format to avoid\nthis problem, we don't want to break every tuning file out there, and\nthus need to ensure backward compatibility. This is why patches 1/4 and\n2/4 update the parser and iterator implementation to preserve the data\norder, and patches 3/4 and 4/4 then move the Raspberry Pi IPA from boost\nto YamlParser.\n\nIf this approach is deemed reasonable, then the next non-RFC version of\nthe series should also include a new format for the Raspberry Pi IPA\ntuning data that would be compliant with the JSON specification, an\nupdate to the camera tuning tool to generate tuning files in that\nformat, and possibly a Python script to convert existing files to the\nnew format.\n\nLaurent 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\nbase-commit: c5ab0f3b64280733a10b2da39e522fe87d0d51f0"
}