Show a cover letter.

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

{
    "id": 22172,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/22172/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/22172/",
    "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": "<20241205112241.641964-1-paul.elder@ideasonboard.com>",
    "date": "2024-12-05T11:22:33",
    "name": "[v4,0/8] AEGC controls",
    "submitter": {
        "id": 17,
        "url": "https://patchwork.libcamera.org/api/1.1/people/17/?format=api",
        "name": "Paul Elder",
        "email": "paul.elder@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/22172/mbox/",
    "series": [
        {
            "id": 4849,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4849/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4849",
            "date": "2024-12-05T11:22:33",
            "name": "AEGC controls",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/4849/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/22172/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 24ED2C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  5 Dec 2024 11:22:53 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 56B8E660EA;\n\tThu,  5 Dec 2024 12:22:52 +0100 (CET)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8F1B96608C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  5 Dec 2024 12:22:51 +0100 (CET)",
            "from neptunite.flets-east.jp (unknown\n\t[IPv6:2404:7a81:160:2100:9fc8:318e:a239:9653])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id CC0852B3;\n\tThu,  5 Dec 2024 12:22:21 +0100 (CET)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"L2X/v9iV\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1733397742;\n\tbh=de91ZqBOrZaAmL3w7PRteNGBABx8QMoQE5ankhFPpvw=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=L2X/v9iVRuQXlRXDw9ViOsXwZOGH3vVUX5yZDfcTlLbD2Of0QVs5w9ugsVmSHw4wx\n\tUE+AFbcihKmPjs7s7UZ98X24ACrsbeN46/fescQPJoQdbLTocgoUgZ6fSzchZfe8Bc\n\ttcTCpkb6sXLcn1RsX7mBi5QUcEagVS3uwn6FSj+U=",
        "From": "Paul Elder <paul.elder@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Paul Elder <paul.elder@ideasonboard.com>",
        "Subject": "[PATCH v4 0/8] AEGC controls",
        "Date": "Thu,  5 Dec 2024 20:22:33 +0900",
        "Message-Id": "<20241205112241.641964-1-paul.elder@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.39.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "This patch series introduces a new set of AEGC controls that allow:\n- flicker avoidance when switching from auto to manual\n- shutter priority / gain priority\n\nTo achieve this, we remove the existing AeEnable control and add two\nseparate controls that control enabling/disabling auto-exposure and\nauto-gain. The definition of AeState is also made more concrete. The\nfirst two patches add the new controls, as well as documentation and\ndesign rationale.\n\nThe rest of the patches naturally update the existing users of AeEnable,\nbefore finally removing the control altogether.\n\nv4 mainly improves documentation and implements the proper behavior when\ntransitioning between auto and manual modes for the rkisp1.\n\nThanks,\n\nPaul\n\nJacopo Mondi (4):\n  libcamera: uvcvideo: Register ExposureTimeMode control\n  test: ipa_data_serialization: Use DebugMetadataEnable\n  ipa: raspberry: Port to the new AEGC controls\n  controls: Remove AeEnable and AeLocked\n\nPaul Elder (4):\n  controls: Introduce AEGC-related controls\n  Documentation: design: ae: Document the design for AE controls\n  ipa: rkisp1: Port to the new AEGC controls\n  gstreamer: Generate the new AEGC controls\n\n Documentation/design/ae.rst                   | 320 ++++++++++++++++++\n Documentation/index.rst                       |   4 +-\n Documentation/meson.build                     |   1 +\n src/ipa/rkisp1/algorithms/agc.cpp             | 102 +++++-\n src/ipa/rkisp1/ipa_context.cpp                |  22 +-\n src/ipa/rkisp1/ipa_context.h                  |   8 +-\n src/ipa/rpi/common/ipa_base.cpp               |  74 +++-\n src/ipa/rpi/controller/agc_algorithm.h        |   8 +-\n src/ipa/rpi/controller/rpi/agc.cpp            |  52 ++-\n src/ipa/rpi/controller/rpi/agc.h              |   8 +-\n src/ipa/rpi/controller/rpi/agc_channel.cpp    |  24 +-\n src/ipa/rpi/controller/rpi/agc_channel.h      |   8 +-\n src/libcamera/control_ids_core.yaml           | 286 +++++++++++++---\n src/libcamera/control_ids_draft.yaml          |  29 --\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |  54 ++-\n .../ipa_data_serializer_test.cpp              |   2 +-\n utils/codegen/gen-gst-controls.py             |   5 +-\n 17 files changed, 885 insertions(+), 122 deletions(-)\n create mode 100644 Documentation/design/ae.rst"
}