Show a cover letter.

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

{
    "id": 14054,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/14054/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/14054/",
    "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": "<20211006140041.964542-1-jeanmichel.hautbois@ideasonboard.com>",
    "date": "2021-10-06T14:00:30",
    "name": "[libcamera-devel,v3,00/12] Improve ImgU statistics usage",
    "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/14054/mbox/",
    "series": [
        {
            "id": 2605,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2605/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2605",
            "date": "2021-10-06T14:00:30",
            "name": "Improve ImgU statistics usage",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/2605/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/14054/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 5EA52C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  6 Oct 2021 14:01:03 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E00C8691B6;\n\tWed,  6 Oct 2021 16:01:01 +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 7161C6023D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  6 Oct 2021 16:01:00 +0200 (CEST)",
            "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:843b:c831:54de:6e8c])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 124DCFFD;\n\tWed,  6 Oct 2021 16:01:00 +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=\"otsK2Fqc\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1633528860;\n\tbh=wp2mtBkCWJ/KMsIULlgdp8anEXDjtWDqXmTYVyimxeM=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=otsK2Fqc+ENgxcvFlVHvDlS8U/5AGvHYQmGQwq7Hj1yjN/4Si1x2WX8HsRguqfFJ2\n\tqKcGbZLpNAhHivlILey8Utyhs8g/qqAwW4X6S9F+BPUGd6FSPjLZGYnvVkRGrA89FD\n\tHR87BIpDvPgpnInD9dgZVDmoRAXF7zh49fPTC5Hg=",
        "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed,  6 Oct 2021 16:00:30 +0200",
        "Message-Id": "<20211006140041.964542-1-jeanmichel.hautbois@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 00/12] Improve ImgU statistics usage",
        "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 everybody !\n\nHere is a series, solving quite a few issues and clarifying most of the\nImgU statistics format.\n\nChanges in v3:\n- renamed black_correction into blc and the class is now named\n  BlackLevelCorrection\n- small comments adressed\n- Updated kernel patch in 12/12\n\nin v2:\n- stride is now a IPASessionConfiguration parameter\n- Optical Black Correction is an algorithm\n\nThe first part has already been sent before and was titled \"Move and\nimprove AWB structures\" and those did not change since the latest v8 of\nit:\n- Patch 1/12 moves the AWB structures to be able to use those from the\nipa::ipu3::algorithms namespace (by AGC at least).\n- Patch 2/12 renames the stats region structure to make it clear it is an\naccumulator structure.\n- Patch 3/12 is improving the Accumulator structure to have the same layout\nas the IPAFrameContext::awb structure.\n- Patch 4/12 is now only focusing on AWB name usage.\n\nWe worked, together with Laurent (thanks !) on the AWB grid limits, and\nImgU statistics format. There was differences between public API [0] and\nthe kernel doc which needed clarifications (who is correct ?). After\nquite a few investigations, we discovered a bug in the kernel, for low\nresolutions [1] and this leads to patches 5/12 and 6/12, the latest\nreusing the proposal from Laurent in \"ipa: ipu3: Split width and height\nloops in calculateBdsGrid()\" but adapting it to the limit names.\n\nNext patches are here to solve bugs in AWB by configuring the proportion\nof unsaturated zones (7/12), using the right gain multipliers (8/12) and\ntaking care of padding in the AWB loop (9/12).\n\nAs we are improving AWB, I cherry-picked patch 10/12 from another branch\nalready proposed before to use the black level correction in the ImgU\nwith default values (probably good enough for now).\n\nNext, as AGC is using the AWB statistics for its algorithm, rewrite the\nloop to simplify it and take care of padding too (11/12).\n\nAnd we can finally move the Ipu3AwbCell out from the Awb class, to use\nit with the (yet to be in v2) patch from the kernel [2].\n\n[0] https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/refs/heads/master/hal/intel/include/ia_imaging/awb_public.h\n[1] https://lore.kernel.org/linux-media/20210916172504.677919-1-jeanmichel.hautbois@ideasonboard.com/\n[2] https://lore.kernel.org/linux-media/20210831185140.77400-1-jeanmichel.hautbois@ideasonboard.com/\n\nJean-Michel Hautbois (12):\n  ipa: ipu3: Move the AWB stats structures\n  ipa: ipu3: Rename IspStatsRegion to Accumulator\n  ipa: ipu3: Change Accumulator structure layout\n  ipa: ipu3: awb: Make the naming consistent\n  ipa: ipu3: Change the limits of the AWB stats\n  ipa: ipu3: Change limits and split loops in calculateBdsGrid()\n  ipa: ipu3: awb: Correct the relevant zones proportion\n  ipa: ipu3: awb: Correct the gain multipliers\n  ipa: ipu3: awb: Use the line stride for the stats\n  ipa: ipu3: awb: Introduce Black Level Correction\n  ipa: ipu3: agc: Rewrite and simplify the brightness loop\n  ipa: ipu3: Replace ipa::ipu3::algorithms::Ipu3AwbCell\n\n include/linux/intel-ipu3.h          |  32 ++++-\n src/ipa/ipu3/algorithms/agc.cpp     |  52 +++-----\n src/ipa/ipu3/algorithms/agc.h       |   2 +\n src/ipa/ipu3/algorithms/awb.cpp     | 199 ++++++++++++++++------------\n src/ipa/ipu3/algorithms/awb.h       |  42 +++---\n src/ipa/ipu3/algorithms/blc.cpp     |  66 +++++++++\n src/ipa/ipu3/algorithms/blc.h       |  28 ++++\n src/ipa/ipu3/algorithms/meson.build |   1 +\n src/ipa/ipu3/ipa_context.h          |   1 +\n src/ipa/ipu3/ipu3.cpp               |  78 +++++++----\n 10 files changed, 330 insertions(+), 171 deletions(-)\n create mode 100644 src/ipa/ipu3/algorithms/blc.cpp\n create mode 100644 src/ipa/ipu3/algorithms/blc.h"
}