Show a cover letter.

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

{
    "id": 14236,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/14236/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/14236/",
    "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": "<20211022073249.35084-1-jeanmichel.hautbois@ideasonboard.com>",
    "date": "2021-10-22T07:32:35",
    "name": "[libcamera-devel,v4,00/14] ipa: ipu3: Fix AGC bugs",
    "submitter": {
        "id": 75,
        "url": "https://patchwork.libcamera.org/api/1.1/people/75/?format=api",
        "name": "Jean-Michel Hautbois",
        "email": "jeanmichel.hautbois@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/14236/mbox/",
    "series": [
        {
            "id": 2647,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2647/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2647",
            "date": "2021-10-22T07:32:35",
            "name": "ipa: ipu3: Fix AGC bugs",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/2647/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/14236/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 527BABF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 22 Oct 2021 07:32:57 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1858968F62;\n\tFri, 22 Oct 2021 09:32:56 +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 41B3360128\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 22 Oct 2021 09:32:54 +0200 (CEST)",
            "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:22cc:3af6:5ccb:8367])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C37DD51D;\n\tFri, 22 Oct 2021 09:32:53 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"B/lQ3OA6\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1634887973;\n\tbh=3JDNiRlG7kW16Xoaxo9IKKpVWcjDA7twkJUuks0VxHU=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=B/lQ3OA6lhAlV2c23qFXP30zDhB6knt0m6KM2orKF5PI0yMJ9FG7z+yVp4CwB2SUH\n\tQDnExHasXmXS1lDK6SUH87w2HT/fPSjQIPBDCr35LwQv03ltlcOc6925kcrk6a8mSI\n\tpDXUTYw1by/JSOaqTbfN6Lzu0/zLqQB0sFd7actw=",
        "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Fri, 22 Oct 2021 09:32:35 +0200",
        "Message-Id": "<20211022073249.35084-1-jeanmichel.hautbois@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.32.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v4 00/14] ipa: ipu3: Fix AGC bugs",
        "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>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hello,\n\nI did not know how to title this series, so I have decided to make it\nappealing somehow . There will probably be another patch series on\ntop to remove all the exposure in a number of lines and use only time\nvalues in AGC, and it should include the usage of VBLANK too, as we are\nnow limiting the exposure time to the current VBLANK and not modifying\nit at all.\n\nChanges:\nv4:\n- Change variable names as asked in v2 for patch 3/14 (saturation under\n  90%)\n- Adress comments in some patches\n- Correct a bug in \"[12/14] ipa: ipu3: agc: Refactor condition on\n  exposure correction\" and reword the LOG message instead of removing\n  it.\n\nv3:\n- Patch 11/13 => keep the test on the small exposure/gain change\n- split simplification of the division for exposure/gains with a separat\n  patch to apply filtered values first\n- mostly comments adressed\n\nv2:\n- using a structure in IPASessionConfiguration to store the\n  sensor limits and pass those to the AGC\n- most of the corrections asked are applied, including the nicer\n  division between exposure and gain proposal from Laurent \n- the analogue gain set in the driver might be off the limits we would\n  expect (minimum of 0 or more than 16 for instance) so it is clamped.\n\n\nThere are multiple things here. First, we want to use the saturation\nratio included in the AWB statistics. To make it relevant, we need to\nset a threshold to decide what is a saturated cell (patch 1/14) and use\nthis ratio to avoid including too much saturated cells in the Grey World\ncomputation (3/14).\n\nWhile debugging it, it appeared we are not setting the frameContext\nvariables before IPAIPU3::start() is called, while we are setting\ncontrols in it which use the frameContext (2/14).\n\nWe have a small patch 4/14 which is here to lower the limit under which\nwe are not calculating the red and blue gains for white balance.\n\nThen, from patch 5/14 to 14/14 it is multiple fixes like renaming\nvariables, changing the way the exposure and gains are calculated, etc.\n\nAll of those should make the algorithm easier to follow, and the\ndocumentation should be added on top of that, in the coming shortly v2\nof \"Document IPU3 IPA\".\n\nJean-Michel Hautbois (14):\n  ipa: ipu3: awb: Set a threshold for the green saturation\n  ipa: ipu3: set frameContext before controls\n  ipa: ipu3: awb: Use saturation under 90%\n  ipa: ipu3: awb: Change minimal green threshold value\n  ipa: ipu3: agc: Rename exposure values properly\n  ipa: ipu3: agc: Change exposure limits\n  ipa: ipu3: agc: Change analogue gain limits\n  ipa: ipu3: agc: Use filtered exposure values\n  ipa: ipu3: agc: Simplify division of exposure/gain\n  ipa: ipu3: agc: Rename gains properly\n  ipa: ipu3: agc: Introduce previous exposure value\n  ipa: ipu3: agc: Refactor condition on exposure correction\n  ipa: ipu3: agc: Remove unused variables\n  ipa: ipu3: Use sensor limits for analogue gain\n\n src/ipa/ipu3/algorithms/agc.cpp | 152 ++++++++++++++++++--------------\n src/ipa/ipu3/algorithms/agc.h   |  11 ++-\n src/ipa/ipu3/algorithms/awb.cpp |  64 ++++++++++++--\n src/ipa/ipu3/algorithms/awb.h   |   1 +\n src/ipa/ipu3/ipa_context.h      |   9 ++\n src/ipa/ipu3/ipu3.cpp           |  64 ++++++++++++--\n 6 files changed, 213 insertions(+), 88 deletions(-)"
}