Show a cover letter.

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

{
    "id": 12442,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/12442/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/12442/",
    "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": "<20210527084540.9983-1-david.plowman@raspberrypi.com>",
    "date": "2021-05-27T08:45:38",
    "name": "[libcamera-devel,0/2] Raspberrypi: support per-mode camera sensitivities",
    "submitter": {
        "id": 42,
        "url": "https://patchwork.libcamera.org/api/1.1/people/42/?format=api",
        "name": "David Plowman",
        "email": "david.plowman@raspberrypi.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/12442/mbox/",
    "series": [
        {
            "id": 2083,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2083/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2083",
            "date": "2021-05-27T08:45:38",
            "name": "Raspberrypi: support per-mode camera sensitivities",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/2083/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/12442/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 10ADDBDB80\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 May 2021 08:45:50 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 23A2168927;\n\tThu, 27 May 2021 10:45:49 +0200 (CEST)",
            "from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com\n\t[IPv6:2a00:1450:4864:20::32f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B81A9602AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 May 2021 10:45:46 +0200 (CEST)",
            "by mail-wm1-x32f.google.com with SMTP id\n\tf75-20020a1c1f4e0000b0290171001e7329so2011870wmf.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 May 2021 01:45:46 -0700 (PDT)",
            "from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72])\n\tby smtp.gmail.com with ESMTPSA id\n\tq11sm2325553wrx.80.2021.05.27.01.45.45\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 27 May 2021 01:45:45 -0700 (PDT)"
        ],
        "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=\"K/6QZSZr\"; 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=RCI3hhF/EoJAco3nftLQ9AcYiWBuuPTIAtAYs593new=;\n\tb=K/6QZSZrAqewhQUodA5PmVhOncUoooLWH6jFfnVrbi4XOz5BUrJks6XRKBek//r6JN\n\t5pYi8PD4H2MaykDyEvq6K872/sRet9At/8FuH9GlwimHA0C9e5LmhSOaBYzIATSSqnf+\n\t9Vypp2Ne10TxPqO80EoFmTe2jwJEjBO7pCR+qskSXLzaRw2U3cKUxxcHTzcsvnL3BM5g\n\tTFrs5dMkG6ijNgatUVIL//+OolMMRn4PBE65Io0IYi9FSNTsM0JL5g6QTwY6/ZUS3gP1\n\tYR4Gr7hu0ERF76nLLKrmvc/G5W2/VweFBqqzLKJxF15V6V3Ry7AFmTQwHA54m5hiyWbX\n\tu9NQ==",
        "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=RCI3hhF/EoJAco3nftLQ9AcYiWBuuPTIAtAYs593new=;\n\tb=i+SD1dYErYBlqPgoQ29CQ0zBanawa5N67jvHQxkqyCMgfAOyrArejmquh4NZmAwppi\n\tJlLRojUqHlGZbpodeFLF+1YLnC6zE2BN3Y2YuExdkjmBmmRDxwUh1f5/i/dn11WwIpve\n\t3UeTM519z/6U6Y0qQ2+oVbpKLZyMrhKe8TJ0RJlfN6MhA3LLvd+hQ4nWdxJd3oRb2FHp\n\tedXav0pFMY3dS4e4h9LT5E4NE+1WhD0V8mQgq7PQXIRoNS5X0MxXV66IlLesztdy+1W2\n\tgzzGPuxRE+02YRgvLb9i6TcwRheCSt7dRlq4RIdHr+tz5c7rah07klDlw7OaIuzpJY5O\n\tZYDA==",
        "X-Gm-Message-State": "AOAM533PGJNs+TjIWjD5nlVxMBd5TFTUYPbCy8IMPfLvSf59tzXWrQg0\n\tXa/dJPuGCmOzbYXSnXXHdYXu0youcOOEvA==",
        "X-Google-Smtp-Source": "ABdhPJxdTGfsKOL4sqyqDmY4lw0eMoril/tnqItk0pQHMY5DAGqjqZNZnmLln9d8ZnoP0QAy4fmPZg==",
        "X-Received": "by 2002:a05:600c:35c3:: with SMTP id\n\tr3mr7191755wmq.63.1622105145969; \n\tThu, 27 May 2021 01:45:45 -0700 (PDT)",
        "From": "David Plowman <david.plowman@raspberrypi.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 27 May 2021 09:45:38 +0100",
        "Message-Id": "<20210527084540.9983-1-david.plowman@raspberrypi.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 0/2] Raspberrypi: support per-mode camera\n\tsensitivities",
        "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": "Hi\n\nHere's an implementation of \"per-mode camera sensitivities\", following\non from a recent discussion email. This is taking the \"don't lie, even\na little\" approach, which I am inclined to prefer. There are two\npatches as follows, though still some outstanding questions.\n\n1. The first patch adds a \"sensitivity\" field to our camera mode\nstructure. The main question here is how to set this value correctly.\n\n- For now, I've just used a virtual function in the CamHelper. This is\n  dead simple and it works. (Though the sensor that needs this\n  function is still unreleased.)\n\n- But should I be using the sensor database? I'd have to add fields\n  for \"full resolution sensitivity\", \"2x2 binned sensitivity\" as a\n  minimum, though why stop there? There could be many different\n  binning modes! Also, I'd have to get this through to the IPA. Would\n  that mean writing a serialiser/deserialiser? Some clues on how to do\n  that would be helpful, I looked at ipa_data_serializer.cpp but it\n  was quite intimidating...\n\n- Or would we be better getting the value from the driver? That might\n  need a new read-only V4L2 control. And how would we pass that to the\n  IPA, in the IPACameraSensorInfo? It already has mode-dependent\n  fields...\n\n2. The second patch takes care of the changing sensitivity in the\nAEC/AGC, when the SwitchMode method is called.\n\nFinally, I think there's still a problem with this approach. Suppose\nyou wanted to run preview, then do a capture with the same output\nbrightness, but selecting the exposure and gain explicitly for\nyourself. You simply can't do this without knowing the sensitivity of\nthe camera modes. So how could we report this? Note that signalling it\nin metadata with completed requests is too late - the typical pattern\nwould be:\n\nStop camera -> Reconfigure camera -> Recalculate exposure/gain ->\nStart camera\n\nOpinions both sought and appreciated!\n\nBest regards\nDavid\n\nDavid Plowman (2):\n  ipa: raspberrypi: Add sensitivity field to camera mode\n  ipa: raspberrypi: AGC: handle modes with different sensitivities\n\n src/ipa/raspberrypi/cam_helper.cpp           |  5 ++++\n src/ipa/raspberrypi/cam_helper.hpp           |  3 +++\n src/ipa/raspberrypi/controller/camera_mode.h |  2 ++\n src/ipa/raspberrypi/controller/rpi/agc.cpp   | 25 ++++++++++++++++----\n src/ipa/raspberrypi/controller/rpi/agc.hpp   |  1 +\n src/ipa/raspberrypi/raspberrypi.cpp          | 12 ++++++++++\n 6 files changed, 43 insertions(+), 5 deletions(-)"
}