Cover Letter Detail
Show a cover letter.
GET /api/covers/25075/?format=api
{ "id": 25075, "url": "https://patchwork.libcamera.org/api/covers/25075/?format=api", "web_url": "https://patchwork.libcamera.org/cover/25075/", "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": "<20251117080818.3009835-1-paul.elder@ideasonboard.com>", "date": "2025-11-17T08:08:13", "name": "[v6,0/2] Fix ControlSerializer deserializing array controls", "submitter": { "id": 17, "url": "https://patchwork.libcamera.org/api/people/17/?format=api", "name": "Paul Elder", "email": "paul.elder@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/25075/mbox/", "series": [ { "id": 5592, "url": "https://patchwork.libcamera.org/api/series/5592/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5592", "date": "2025-11-17T08:08:13", "name": "Fix ControlSerializer deserializing array controls", "version": 6, "mbox": "https://patchwork.libcamera.org/series/5592/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/25075/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 DE8DABD80A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 17 Nov 2025 08:08:43 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8F03460A8B;\n\tMon, 17 Nov 2025 09:08:42 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CA000606A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 17 Nov 2025 09:08:40 +0100 (CET)", "from neptunite.hamster-moth.ts.net (unknown\n\t[IPv6:2404:7a81:160:2100:e0cd:14aa:3681:9fc1])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id DF59EFE;\n\tMon, 17 Nov 2025 09:06:36 +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=\"kVfPc8vQ\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1763366797;\n\tbh=vmHNw7/n2sp81QYf39H663rURpt9R7BcLGJ75ofI4jQ=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=kVfPc8vQ2xqNBWQFOkSONUq2vEtlEX4aAT5lFA/F4L8dTRKEQRbN1w6hQvCdYI2Fz\n\ty5Ata0dYlcRCAJw6XHkpyTcPN7cAAC71cZ01mbdIs819Mpbem35/9VfbYWb7Xs3sCc\n\tks0PESp/1YoUJBOuMPYfyl/BtMFkti7/ufm+W/D0=", "From": "Paul Elder <paul.elder@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Paul Elder <paul.elder@ideasonboard.com>", "Subject": "[PATCH v6 0/2] Fix ControlSerializer deserializing array controls", "Date": "Mon, 17 Nov 2025 17:08:13 +0900", "Message-ID": "<20251117080818.3009835-1-paul.elder@ideasonboard.com>", "X-Mailer": "git-send-email 2.47.2", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "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 series fixes bug 285 [0] where running IPAs in isolation with array\ncontrols would cause the control deserialization to fail, since the\ndeserializer didn't properly deserialize array controls.\n\nThis is fixed by making the deserializer properly deserialize array\ncontrols, by adding all ControlValue metadata to the serialized form of\nControlInfoMap.\n\nv6 notably moves ipa_control_value_entry into ipa_control_info_entry, as\nopposed to serializing them in the same level like before.\n\nv5 contains minor cleanups.\n\nv4 notably cleans up unused fields in metatata structs, so it touches\nControlList as well.\n\nIn v3 we reuse struct ipa_control_value_entry to store the relevant\ninformation instead, and add them to the serialized form of\nControlInfoMap.\n\nIn v2 the arrayness and size are stored in the serialized form of\nControlValue instead of using the information registered in the\nControlId. This allows us to support variable-length arrays (which v1\ndidn't), and allows us to support both non-array and array types min/max\nControlValues in the ControlInfo, depending on which type of min/max\nvalue makes more sense for the specific control.\n\n[0] https://bugs.libcamera.org/show_bug.cgi?id=285\n\nPaul Elder (2):\n libcamera: control_serializer: Add array info to serialized\n ControlValue\n ipa: ipu3, mali-c55, rkisp1, rpi: Fix reporting non-scalar controls\n\n .../libcamera/internal/control_serializer.h | 8 +-\n include/libcamera/ipa/ipa_controls.h | 16 +-\n src/ipa/ipu3/ipu3.cpp | 4 +-\n src/ipa/mali-c55/mali-c55.cpp | 4 +-\n src/ipa/rkisp1/algorithms/awb.cpp | 4 +-\n src/ipa/rkisp1/rkisp1.cpp | 3 +-\n src/ipa/rpi/common/ipa_base.cpp | 7 +-\n src/libcamera/control_serializer.cpp | 106 +++++++----\n src/libcamera/ipa_controls.cpp | 178 ++++++++++--------\n 9 files changed, 197 insertions(+), 133 deletions(-)" }