Show a cover letter.

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

{
    "id": 10429,
    "url": "https://patchwork.libcamera.org/api/covers/10429/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/10429/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20201116164918.2055-1-david.plowman@raspberrypi.com>",
    "date": "2020-11-16T16:49:08",
    "name": "[libcamera-devel,00/10] Raspberry Pi AGC",
    "submitter": {
        "id": 42,
        "url": "https://patchwork.libcamera.org/api/people/42/?format=api",
        "name": "David Plowman",
        "email": "david.plowman@raspberrypi.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/10429/mbox/",
    "series": [
        {
            "id": 1464,
            "url": "https://patchwork.libcamera.org/api/series/1464/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1464",
            "date": "2020-11-16T16:49:08",
            "name": "Raspberry Pi AGC",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/1464/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/10429/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 CC02EBE082\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Nov 2020 16:49:26 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3B319632C7;\n\tMon, 16 Nov 2020 17:49:26 +0100 (CET)",
            "from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com\n\t[IPv6:2a00:1450:4864:20::42a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 31770632C6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Nov 2020 17:49:24 +0100 (CET)",
            "by mail-wr1-x42a.google.com with SMTP id b6so19422298wrt.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Nov 2020 08:49:24 -0800 (PST)",
            "from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72])\n\tby smtp.gmail.com with ESMTPSA id\n\tq16sm23716973wrn.13.2020.11.16.08.49.22\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 16 Nov 2020 08:49:22 -0800 (PST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"qRizhGUr\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=uFYiUjN/HID7GcpXCxF0e+/BP8r8o1fnU+IpSLLopdU=;\n\tb=qRizhGUrEPLcXx3IjsbkGRBoInQQHuslH5XQygZdcZDZ/uUoHrNoHwbqAii2gqqifL\n\tNa2TsWotYWXCwxQq+GdkHAMzMyQ5agkBYyylyw1B6A7OMj6FE0/jqydEGK38w25Wsz9A\n\tNhed6AEE5V2Ha8qQR8LM0FpbDc/RaiO/vigjsy4+FDG6dnB5ZumnOrBcqCN9pdDpubYh\n\tBkjozm1uV4dvKqPh4QeUnNC2Rsom/+Eytk9TgJMY9iOVI6qPyL4Kv3aVOSpyzYlrk8jl\n\t9gE4eOJddFQLOWdy2P18R8tPnfwDRIlHl8BflW0nYCnkdoEN2EDzHt1QUuJpCXyFZySA\n\tHtEA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version\n\t:content-transfer-encoding;\n\tbh=uFYiUjN/HID7GcpXCxF0e+/BP8r8o1fnU+IpSLLopdU=;\n\tb=ChdkEoxUHp/RXBe7Hwz+jljt0Peca0RRvXlevvj0TuLdvMeu38S8Q7mcETrXhi/na7\n\tdW2soUAF+Z3ZwsxF9wyDsxtPyiSVrcWVnZ52I506x6r8MSt1RjLswFNm1phE5ViLnJZT\n\t6ks4vvnMt331k5RT+AE0Mx/q1QFmYYX/5Ox3nBDMf93yLHDymHA4/fSQMbPvxU9WVFgN\n\t646dxtl3JOKj3qtv5+3A3maD8NGX9mkbOx26LdYHsxlFVm19sTA/unuio2iH1qIzpyKL\n\tpLZTjAxqt+wQI3HraROIuTIGfTMq50CC7o7W8/1hGDPDBmSrNYnLD+2nqSV4wiyXUTAN\n\tyVhg==",
        "X-Gm-Message-State": "AOAM533nk8mmApWnSEo1xq7WSKXYadbrkQOh9pxAwW5qTPaFXAYJ5v8O\n\tKpcngur8aT2ixiu18kcyfALpVBVuZMuprg==",
        "X-Google-Smtp-Source": "ABdhPJy0ICQ2Gt4zqwiW3JUKnPFQd/MkdHDuCZAmDxvwSF0ZPYXDWQtXB/SaLC3Vn8I/F6Jxlyg7mQ==",
        "X-Received": "by 2002:adf:d84e:: with SMTP id k14mr9517571wrl.34.1605545363448;\n\tMon, 16 Nov 2020 08:49:23 -0800 (PST)",
        "From": "David Plowman <david.plowman@raspberrypi.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Mon, 16 Nov 2020 16:49:08 +0000",
        "Message-Id": "<20201116164918.2055-1-david.plowman@raspberrypi.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH 00/10] Raspberry Pi AGC",
        "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>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hi everyone\n\nSome time ago I had said I was doing some maintanence on the Raspberry\nPi AGC algorithm, so here it all is (finally). Some of the changes are\njust for tidying, but others do also make it work better (even\ncorrectly). Some of the changes are in particular designed to go with\nNaush's patch set that allows exposure/gain to be set before the\ncamera starts, though they all function in their own right too.\n\nThese are the last substantial set of changes I have before we can\npublish our libcamera apps, though I think Naush still has more. (I am\ndoing work on some of the other algorithms, but these are not on the\ncritical path and can be added later.)\n\nLet me summarise all the individual patches here:\n\n#1. Replace Raspberry Pi debug with libcamera debug.\n\n#2. Code simplification. A number of copies and mutexes are\n unnecessary on the libcamera/vc4 platform. Not really a functional\n change though it does happen to fix a bug (where the AeLocked status\n was never correctly passed out in the AgcStatus).\n\n#3. Function renamed to be clearer!\n\n#4. An improvement in the way average Y values are calculated. This\n does actually change the AGC behaviour, making it less fiercely\n centre-weighted.\n\n#5. Code that fetches the AwbStatus from the metadata is factored out,\n so that we don't keep doing it all over the place. No functional\n difference.\n\n#6. An update to the AWB so that it gives us its up-to-date values\n when a camera mode switch happens. There's actually quite a lot of\n tidying to do to the AWB, but I'd like to save that for when I have\n more substantial changes there (and don't worry, they will come!).\n\n#7. This passes out correct gain/exposure values when the camera\n changes mode (or starts). This is the one most important to Naush.\n\n#8. Clear up some uninitialised variables. This is Tomi's patch from a\n little while back.\n\n#9. A small improvement to the gain update calculation. It's worth\n working a little harder with the statistics that we have to save\n having to wait for more frames.\n\n#10. Improvements to the \"AE locked\" logic. Previously it could fail\n ever to \"lock\" in some circumstances; now it will always do so once\n the AGC is steady.\n\nSorry there's quite such a lot of stuff here. Please let me know if it\nmight be better broken up into a few smaller patch sets.\n\nThanks and best regards\nDavid\n\nDavid Plowman (10):\n  libcamera: ipa: raspberrypi: agc: Use libcamera debug\n  libcamera: ipa: raspberrypi: agc: Remove unnecessary locking\n  libcamera: ipa: raspberrypi: agc: Rename method to divideUpExposure\n  libcamera: ipa: raspberrypi: agc: Improve centre-weighted luminance\n    calucation\n  libcamera: ipa: raspberrypi: agc: Fetch AWB status only once\n  libcamera: ipa: raspberrypi: awb: Add SwitchMode method to output AWB\n    status\n  libcamera: ipa: raspberrypi: agc: Report fixed exposure/gain values\n    during SwitchMode\n  libcamera: src: ipa: raspberrypi: agc: Fix uninitialised members in\n    status_\n  libcamera: src: ipa: raspberrypi: agc: Improve gain update calculation\n    for partly saturated images\n  libcamera: src: ipa: raspberrypi: agc: Improve AE locked logic\n\n src/ipa/raspberrypi/controller/rpi/agc.cpp | 393 ++++++++++++---------\n src/ipa/raspberrypi/controller/rpi/agc.hpp |  17 +-\n src/ipa/raspberrypi/controller/rpi/awb.cpp |  14 +\n src/ipa/raspberrypi/controller/rpi/awb.hpp |   1 +\n 4 files changed, 248 insertions(+), 177 deletions(-)"
}