Show a cover letter.

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

{
    "id": 17273,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/17273/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/17273/",
    "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": "<20220902120808.842-1-naush@raspberrypi.com>",
    "date": "2022-09-02T12:08:02",
    "name": "[libcamera-devel,v1,0/6] Raspberry Pi AGC digial gain fixes",
    "submitter": {
        "id": 34,
        "url": "https://patchwork.libcamera.org/api/1.1/people/34/?format=api",
        "name": "Naushir Patuck",
        "email": "naush@raspberrypi.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/17273/mbox/",
    "series": [
        {
            "id": 3459,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3459/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3459",
            "date": "2022-09-02T12:08:02",
            "name": "Raspberry Pi AGC digial gain fixes",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3459/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/17273/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 ACD5CC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  2 Sep 2022 12:08:18 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F01F361FE1;\n\tFri,  2 Sep 2022 14:08:17 +0200 (CEST)",
            "from mail-wm1-x335.google.com (mail-wm1-x335.google.com\n\t[IPv6:2a00:1450:4864:20::335])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0449F603E1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  2 Sep 2022 14:08:15 +0200 (CEST)",
            "by mail-wm1-x335.google.com with SMTP id\n\tbd26-20020a05600c1f1a00b003a5e82a6474so1285846wmb.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 02 Sep 2022 05:08:15 -0700 (PDT)",
            "from naush-laptop.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\th2-20020a5d4302000000b0021e51c039c5sm1397809wrq.80.2022.09.02.05.08.14\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 02 Sep 2022 05:08:14 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1662120498;\n\tbh=sHi8aZz3YXKmLxjh3OqAnmD4nhOaI14BlruJr0I0ntY=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=ODv5zaS86IkjyAgYFEJMAvydF5vLlVKRPSzkMCAUEf1i1kp2FsjvA1QsgoHULxCcA\n\tBF/FSzDly5dBAsHZYC4+9gqTdyuH84XOa+1rSjzqZOUz+HLrftb9NPDch+D/4Yd2M1\n\tw1bYoCFeFqGsOlMZa9l/QD0ZDpYoqfijlx6+DAv84ZreIt3os9JorCoC8hj2yK5ixi\n\tdeC82VsdquHLmVb40rLJwz81Wjkqq8nj5AfeXuLVhOdQeGdk+guJlg/3t5/HYYEmRa\n\tfxeaDPcG8jB99nW9GNZHEr9ftVPJTpNng/WJiGR7XT+yrGAN3Qc50uu9ameWFCq4Uf\n\tbNO+de6S2efGQ==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date;\n\tbh=T8GPIOxc//1yT8fMqVO0yVQusAzxt1IN5nyvtIQFuA4=;\n\tb=pgK7lTSW9SB0+//Xqg8bvwVWnClrKnDlDjrwW4mJpm19U10iAsF2zA97kfgM8rg3BG\n\t7EauLZ8lSqxDXiOiEpMCJ7XnDaCA48v1K7XNiMje3Z/8ZUfDsA4ot++440s2dsB40j/S\n\tA1egFxhdoY8xOoV0N9MSk04cbCnfCyNqn5FFclwaHpgoLSh7OojN/WSTgJpSZHKBsN+8\n\t4qHK4G3bSZVBZo63h6eJO5AZphnvrSGTDfyWNQlV9tuClZ6w1gkEoXmDqHmM4bwM6lvO\n\tF/wwdR7k0kkRAwKmgMdqL8pgmGNvWA7M8IsaQeI72BJX+Rk4q4TpMMD7qLJVKa+WeUmf\n\tMX5w=="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"pgK7lTSW\"; dkim-atps=neutral",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date;\n\tbh=T8GPIOxc//1yT8fMqVO0yVQusAzxt1IN5nyvtIQFuA4=;\n\tb=6JQ4DQ3q4zMl0drdQVrqWmraETp/lWKxLtIXMox7qHgF95pMKJ7GcWnXXS9c6gvbsu\n\tB08zVhpH/ly635suFLIYFRcEI1MzBN1Jt+Fe1B8zBeoXBsT5lKFN1kA7y4uUkpKOeaQe\n\t7wPyzlhUGYEZ/OQrh0tzBS1e4OgQa6bXFGWBZdDW5tiI6tRoTLNLapt3UrbunU0tlpuv\n\tklfQ9uuR2f802CraHD/FtkUCbZ1uaJztejncbhWBuvLtwSdDJMqizIKDmMk9i7cqgNZP\n\tyDCD4RTXrngGZOnxVS41vk1T8MpIRuDay0pJN/NOK9Zl1SjSBpE4mH+qb46NEqrX38S7\n\tLtIA==",
        "X-Gm-Message-State": "ACgBeo2EQVh2SqRglQOpmAT/WVqoGrIzVkpC4N+BTdPKHkXYflzCx+0/\n\tiL4v6ZdDBWYS4GJmFq+jEXtaAP8XzwdoRUrb",
        "X-Google-Smtp-Source": "AA6agR4gqw2ue93btV4Q98OVVOuSDTB9uVgHkXcSa8wWdKgnBv2c9iB3eh9502qXxTJ8SkgfViDY9g==",
        "X-Received": "by 2002:a05:600c:3d93:b0:3a6:1ac3:adf8 with SMTP id\n\tbi19-20020a05600c3d9300b003a61ac3adf8mr2525139wmb.125.1662120495234; \n\tFri, 02 Sep 2022 05:08:15 -0700 (PDT)",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Fri,  2 Sep 2022 13:08:02 +0100",
        "Message-Id": "<20220902120808.842-1-naush@raspberrypi.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v1 0/6] Raspberry Pi AGC digial gain fixes",
        "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": "Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Naushir Patuck <naush@raspberrypi.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Hi,\n\nThis patch series fixes a long standing problem with our AGC where when using\nmanual controls, the digital gain applied to the frame is not calculated correctly.\nThe reason for this is that the AGC needs to know the state of the algorithm when\nit sent the manual shutter/gain to the sensor, and not use the state information\nwhen the frame eventually turns up.\n\nThis series fixes the issue by having the IPA maintain an array of RPiController::Metadata\nobjects that get cycled through every frame.  So historical metadata objects that\nhold the algorithm state are available to inspect when needed.  This is a bit similar\nto the ongoing work that is going on for IPA frame context queues.\n\nPatches 1, 2, 3 update DelayedControls to take and return a user cookie when setting a ControlList.\nPatches 4 and 5 pass the context index between the pipeline handler and IPA.\nPatch 6 uses the historical AGC state to correctly calculate the digital gain.\n\nThanks,\nNaush\n\nNaushir Patuck (6):\n  delayed_controls: Template the ControlRingBuffer class\n  delayed_controls: Add user cookie to DelayedControls\n  tests: delayed_controls: Add cookie value test\n  ipa: raspberrypi: Use an array of RPiController::Metadata objects\n  pipeline: ipa: raspberrypi: Use IPA cookies\n  ipa: raspberrypi: agc: Fix digital gain calculation for manual mode\n\n include/libcamera/internal/delayed_controls.h | 21 +++--\n include/libcamera/ipa/raspberrypi.mojom       |  3 +-\n src/ipa/raspberrypi/controller/rpi/agc.cpp    | 10 ++-\n src/ipa/raspberrypi/raspberrypi.cpp           | 82 ++++++++++++-------\n src/libcamera/delayed_controls.cpp            | 17 ++--\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  3 +-\n .../pipeline/raspberrypi/raspberrypi.cpp      | 12 +--\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  3 +-\n test/delayed_controls.cpp                     | 52 +++++++++++-\n 9 files changed, 144 insertions(+), 59 deletions(-)"
}