Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/22547/?format=api
{ "id": 22547, "url": "https://patchwork.libcamera.org/api/1.1/covers/22547/?format=api", "web_url": "https://patchwork.libcamera.org/cover/22547/", "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": "<20250113215946.1033762-1-paul.elder@ideasonboard.com>", "date": "2025-01-13T21:59:34", "name": "[v8,00/12] 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/22547/mbox/", "series": [ { "id": 4949, "url": "https://patchwork.libcamera.org/api/1.1/series/4949/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4949", "date": "2025-01-13T21:59:34", "name": "AEGC controls", "version": 8, "mbox": "https://patchwork.libcamera.org/series/4949/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/22547/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 3E54ABD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 13 Jan 2025 22:02:08 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 79C1E6851D;\n\tMon, 13 Jan 2025 23:02:07 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 096CE684E7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 13 Jan 2025 23:02:06 +0100 (CET)", "from pyrite.hamster-moth.ts.net (unknown [173.16.167.215])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9862E9FF;\n\tMon, 13 Jan 2025 23:01:07 +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=\"Ay3Km2x2\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1736805669;\n\tbh=FpPx1z//irK/zTeV0nIZ2pbdkiFXMuKaqDQZUpwIClQ=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=Ay3Km2x2NaEqVYAKrSL0oB8KNkQ+xhPW4ADAT0fAIuu9VwPoTQX5pD2Smb9yburBo\n\t4Ij3TmZceHMo0++Es6R4+xTiI2VsUc4aLnT3jw+onK2SbABb8/QAXVEe+5C5OsltFs\n\tSoDXj6CWWZAW1qHmJFhpHMKosBIe6EmdM1+hP1kc=", "From": "Paul Elder <paul.elder@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Paul Elder <paul.elder@ideasonboard.com>,\n\tlaurent.pinchart@ideasonboard.com, stefan.klug@ideasonboard.com,\n\tdavid.plowman@raspberrypi.com, naush@raspberrypi.com", "Subject": "[PATCH v8 00/12] AEGC controls", "Date": "Mon, 13 Jan 2025 15:59:34 -0600", "Message-Id": "<20250113215946.1033762-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\nv5 is mostly minor wording changes, plus a fix to the rkisp1 aegc\nimplementation to support mixed manual-auto ae modes (aka \"shutter\npriority\" / \"gain priority\").\n\nv6 notably re-introduces the AeEnable control, as it was deemed\nnecessary (see the relevant patches for details). Instead of re-writing\nthe previous patches, it is tacked on in the last 4 patches of the\nseries (with a trivial modification to the 8th patch).\n\nv7 is mainly minor wording changes.\n\nv8 adds auto to the default control values, as well as some todos for\nRaspberry Pi.\n\nOn that note, Naush and David, could you please review (or ack) patches\n5 and 12?\n\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 AeLocked\n\nPaul Elder (8):\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 controls: Redefine AeEnable\n libcamera: camera: Pre-process AeEnable control\n ipa: rkisp1: agc: Report new AeEnable control as available\n ipa: raspberry: Report new AeEnable control as available\n\n Documentation/design/ae.rst | 331 ++++++++++++++++++\n Documentation/index.rst | 4 +-\n Documentation/meson.build | 1 +\n src/ipa/rkisp1/algorithms/agc.cpp | 133 +++++--\n src/ipa/rkisp1/ipa_context.cpp | 24 +-\n src/ipa/rkisp1/ipa_context.h | 8 +-\n src/ipa/rpi/common/ipa_base.cpp | 86 ++++-\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/camera.cpp | 20 ++\n src/libcamera/control_ids_core.yaml | 279 +++++++++++++--\n src/libcamera/control_ids_draft.yaml | 30 --\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 53 ++-\n .../ipa_data_serializer_test.cpp | 2 +-\n utils/codegen/gen-gst-controls.py | 5 +-\n 18 files changed, 953 insertions(+), 123 deletions(-)\n create mode 100644 Documentation/design/ae.rst" }