Show a cover letter.

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

{
    "id": 16812,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/16812/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/16812/",
    "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": "<20220727023816.30008-1-laurent.pinchart@ideasonboard.com>",
    "date": "2022-07-27T02:38:02",
    "name": "[libcamera-devel,v7,00/14] 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/16812/mbox/",
    "series": [
        {
            "id": 3331,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3331/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3331",
            "date": "2022-07-27T02:38:02",
            "name": "Replace boost JSON parser with libyaml in Raspberry Pi IPA",
            "version": 7,
            "mbox": "https://patchwork.libcamera.org/series/3331/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/16812/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 30AF1BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Jul 2022 02:38:20 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7AB8863312;\n\tWed, 27 Jul 2022 04:38:19 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2523F603E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Jul 2022 04:38:18 +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 9811B56D;\n\tWed, 27 Jul 2022 04:38:17 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658889499;\n\tbh=RpGPyZDPBp7vjN58R9DpaHciA9xUZbkvfZp2LsvBpAU=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=lCwm6YN2SxBHcKJqrOD/ScpnpB0GHi2oHfJ6e4OCk+EcXlc4b7tTTkhd3CtObyNZE\n\tytP2U5oTFBR2iCVmdWmirSQ2VDn1vTpFbbVtkWurnxfwBZK6Qi8HeYhEAJ7nuXSWla\n\tRRs6u3XugMEEvxwQC2KcVN3XwWC3aVGqY0We46HRJYOYL5sNIhZidVBpbkiKwMZNkA\n\tvO6mpdl/HXOowT7+i0ZdfwVRHCnC4Q/4NwFzABgCluU+K4Pv5cpEk2fXgdvK69Qukg\n\t3chN9Ih1+ZCMsYV5fGMb6lZiNhuoGyfzG78opWDfqMGTm9S077antIa7YNdq9EJe4k\n\tFgeagBy9LVcPw==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1658889497;\n\tbh=RpGPyZDPBp7vjN58R9DpaHciA9xUZbkvfZp2LsvBpAU=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=j/jUTX6iRXv4R8bpsQ52Y/6kfLklLbZHSCbGMkzHMN3DL8c+ZH1PG0DxQXadPKeEt\n\tKdP6VqwgGmLIhTeB0ePQQ+6YJl1be//FUgmnMGpBdf2XshvjF3bBtbKm842bvB9q2V\n\tlsKg0akpyAdCBMN23TWAqZxhGW3a8NF1F10zwoJ8="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"j/jUTX6i\"; dkim-atps=neutral",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed, 27 Jul 2022 05:38:02 +0300",
        "Message-Id": "<20220727023816.30008-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.35.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v7 00/14] 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\nThis patches series replaces the boost JSON parser with the YamlParser\nimplementation based on libyaml for the Raspberry Pi IPA module.\n\nCompared to v6 (posted by Naush), the main changes are\n\n- Rebase on top of \"[PATCH 00/17] Raspberry Pi IPA code refactor\"\n- Addition of patch 01/14 that simplifies usage of the YamlObject::get()\n  function\n- Addition of patches 05/14 to 07/14 that prepare for error handling\n  during tuning data read\n- Propagation of errors in 08/14\n- Addition of 13/14 and 14/14 (those are optional and could be merged\n  separately)\n\nFlorian Sylvestre (1):\n  libcamera: yaml_parser: Add getList() function\n\nLaurent Pinchart (9):\n  libcamera: yaml_parser: Replace ok flag to get() with std::optional\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: Return an error code from Algorithm::read()\n  ipa: raspberrypi: Propagate errors from AGC metering tuning data read\n  ipa: raspberrypi: Replace Fatal log by error propagation\n  ipa: raspberrypi: Use YamlParser to replace dependency on boost\n  ipa: raspberrypi: agc: Use YamlObject::getList()\n\nNaushir Patuck (4):\n  ipa: raspberrypi: Introduce version 2.0 format for the camera tuning\n    file\n  utils: raspberrypi: ctt: Output version 2.0 format tuning files\n  utils: raspberrypi: Add tuning file conversion script\n  ipa: raspberrypi: Convert existing cameara tuning files to version 2.0\n\n README.rst                                    |   6 -\n include/libcamera/internal/yaml_parser.h      |  62 +-\n src/ipa/raspberrypi/controller/algorithm.cpp  |   3 +-\n src/ipa/raspberrypi/controller/algorithm.h    |   6 +-\n src/ipa/raspberrypi/controller/controller.cpp |  79 +-\n src/ipa/raspberrypi/controller/controller.h   |   7 +-\n src/ipa/raspberrypi/controller/pwl.cpp        |  13 +-\n src/ipa/raspberrypi/controller/pwl.h          |   4 +-\n src/ipa/raspberrypi/controller/rpi/agc.cpp    | 220 +++--\n src/ipa/raspberrypi/controller/rpi/agc.h      |  10 +-\n src/ipa/raspberrypi/controller/rpi/alsc.cpp   | 149 +--\n src/ipa/raspberrypi/controller/rpi/alsc.h     |   2 +-\n src/ipa/raspberrypi/controller/rpi/awb.cpp    | 171 ++--\n src/ipa/raspberrypi/controller/rpi/awb.h      |   8 +-\n .../controller/rpi/black_level.cpp            |  13 +-\n .../raspberrypi/controller/rpi/black_level.h  |   2 +-\n src/ipa/raspberrypi/controller/rpi/ccm.cpp    |  65 +-\n src/ipa/raspberrypi/controller/rpi/ccm.h      |   4 +-\n .../raspberrypi/controller/rpi/contrast.cpp   |  28 +-\n src/ipa/raspberrypi/controller/rpi/contrast.h |   2 +-\n src/ipa/raspberrypi/controller/rpi/dpc.cpp    |  12 +-\n src/ipa/raspberrypi/controller/rpi/dpc.h      |   2 +-\n src/ipa/raspberrypi/controller/rpi/geq.cpp    |  22 +-\n src/ipa/raspberrypi/controller/rpi/geq.h      |   2 +-\n src/ipa/raspberrypi/controller/rpi/lux.cpp    |  31 +-\n src/ipa/raspberrypi/controller/rpi/lux.h      |   2 +-\n src/ipa/raspberrypi/controller/rpi/noise.cpp  |  15 +-\n src/ipa/raspberrypi/controller/rpi/noise.h    |   2 +-\n src/ipa/raspberrypi/controller/rpi/sdn.cpp    |   7 +-\n src/ipa/raspberrypi/controller/rpi/sdn.h      |   2 +-\n .../raspberrypi/controller/rpi/sharpen.cpp    |   9 +-\n src/ipa/raspberrypi/controller/rpi/sharpen.h  |   2 +-\n src/ipa/raspberrypi/data/imx219.json          | 824 ++++++++--------\n src/ipa/raspberrypi/data/imx219_noir.json     | 686 +++++++-------\n src/ipa/raspberrypi/data/imx290.json          | 326 ++++---\n src/ipa/raspberrypi/data/imx296.json          | 369 ++++----\n src/ipa/raspberrypi/data/imx378.json          | 677 ++++++++------\n src/ipa/raspberrypi/data/imx477.json          | 881 ++++++++++--------\n src/ipa/raspberrypi/data/imx477_noir.json     | 734 ++++++++-------\n src/ipa/raspberrypi/data/imx519.json          | 677 ++++++++------\n src/ipa/raspberrypi/data/ov5647.json          | 824 ++++++++--------\n src/ipa/raspberrypi/data/ov5647_noir.json     | 686 +++++++-------\n src/ipa/raspberrypi/data/ov9281.json          | 195 ++--\n src/ipa/raspberrypi/data/se327m12.json        | 683 ++++++++------\n src/ipa/raspberrypi/data/uncalibrated.json    | 180 ++--\n src/ipa/raspberrypi/meson.build               |   1 -\n src/ipa/raspberrypi/raspberrypi.cpp           |  10 +-\n src/libcamera/yaml_parser.cpp                 | 228 +++--\n test/yaml-parser.cpp                          |  94 +-\n utils/raspberrypi/ctt/convert_tuning.py       |  46 +\n utils/raspberrypi/ctt/ctt.py                  |  18 +-\n .../raspberrypi/ctt/ctt_pretty_print_json.py  | 188 ++--\n 52 files changed, 5246 insertions(+), 4043 deletions(-)\n create mode 100755 utils/raspberrypi/ctt/convert_tuning.py\n mode change 100644 => 100755 utils/raspberrypi/ctt/ctt_pretty_print_json.py"
}