Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/25690/?format=api
{ "id": 25690, "url": "https://patchwork.libcamera.org/api/1.1/covers/25690/?format=api", "web_url": "https://patchwork.libcamera.org/cover/25690/", "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": "<20260108-sklug-lsc-resampling-v2-dev-v2-0-e682ec4b9893@ideasonboard.com>", "date": "2026-01-08T16:05:43", "name": "[v2,00/15] Add resampling support for polynomial LSC data", "submitter": { "id": 184, "url": "https://patchwork.libcamera.org/api/1.1/people/184/?format=api", "name": "Stefan Klug", "email": "stefan.klug@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/25690/mbox/", "series": [ { "id": 5697, "url": "https://patchwork.libcamera.org/api/1.1/series/5697/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5697", "date": "2026-01-08T16:05:43", "name": "Add resampling support for polynomial LSC data", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5697/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/25690/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 CB1D5BE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 8 Jan 2026 16:06:27 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 190C061FA0;\n\tThu, 8 Jan 2026 17:06:27 +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 8C3F7615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 8 Jan 2026 17:06:25 +0100 (CET)", "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:90af:8957:b721:10d4])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id D7523192C; \n\tThu, 8 Jan 2026 17:06:02 +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=\"gNGH9M+I\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1767888362;\n\tbh=y9mwLGsvQJ/9a9h2yLm04/CngSsUplnNo+YRim05XaM=;\n\th=From:Subject:Date:To:Cc:From;\n\tb=gNGH9M+IHVm+03JzTT4sxHKgku855DB8zg7dypiv9mBYF69ll26vnBX0cD86EjYCk\n\t67wF2kN1f/JlixTxUihCmQKpPNnxYRSlB5hk9laqFAneg4h8eLsAiR8taRXm2jdkCZ\n\toLG9R4r4WkAMIO+IlbzYIj6l3beZ8SwQ4rZ4FNps=", "From": "Stefan Klug <stefan.klug@ideasonboard.com>", "Subject": "[PATCH v2 00/15] Add resampling support for polynomial LSC data", "Date": "Thu, 08 Jan 2026 17:05:43 +0100", "Message-Id": "<20260108-sklug-lsc-resampling-v2-dev-v2-0-e682ec4b9893@ideasonboard.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-B4-Tracking": "v=1; b=H4sIANfVX2kC/x3MQQqAIBAAwK/EnlswqYS+Eh0qN1syC5ckiP6ed\n\tJzLPCAUmQS64oFIiYWPkKHLAuZ1DI6QbTZopVtVKYOy+cuhlxkjybifnoPDpNFSQmtMU6upMq0\n\tlyMMZaeH73/vhfT+uSY8dbQAAAA==", "X-Change-ID": "20260107-sklug-lsc-resampling-v2-dev-d77540b176de", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_P?=\n\t=?utf-8?b?xZFjemU=?= <barnabas.pocze@ideasonboard.com>,\n\tRui Wang <rui.wang@ideasonboard.com>, Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>, Jacopo Mondi <jacopo@jmondi.org>", "X-Mailer": "b4 0.14.2", "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": "In [1] support for polynomial lens shading tables was implement up to\nthe same feature level of grid based lens shading tables. However\nresampling the LSC table for a given analog crop rectangle was never\nimplemented.\n\nThis series partially fixes that by implementing resampling for\npolynomial LSC data. Resampling for tabular LSC data is left open for\nimplementation if need arises.\n\nPatches 1-7 apply some code cleanup that got mentioned on the last\nseries after it was merged.\n\nPatches 8-10 apply further cleanup and are new in v2 of the series.\n\nPatches 11-13 implement the actual resampling.\n\nPatches 14-15 implement a LensShadingCorrectionEnable control that is\nnecessary to assess the effect of LSC in practice. Patch 14 resurrects\nan old patch from Jacopo [2]. These last two patches could be stripped\noff the series if needed.\n\nBest regards,\nStefan\n\n[1] https://patchwork.libcamera.org/project/libcamera/list/?series=4609&archive=both&state=*\n[2] https://patchwork.libcamera.org/project/libcamera/list/?series=3795&archive=both&state=*\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n---\nChanges in v2:\n- Collected tags\n- Applied small fixes from review\n- Additional cleanup by patches 8-10 to improve the prepare() function\n- A bit more rework on the resampling patches due to preceding changes\n\n---\nStefan Klug (15):\n ipa: rkisp1: lsc: Drop unused member variable\n ipa: rkisp1: lsc: Drop unused function declaration\n ipa: rkisp1: lsc: Replace assert with ASSERT\n ipa: rkisp1: lsc: Rename res to positions\n ipa: rkisp1: lsc: Rename res to ret\n ipa: rkisp1: lsc: Rename res to samples\n ipa: rksip1: lsc: Move function definitions out of class\n ipa: rkisp1: lsc: Move local types into anonymous namespace\n ipa: rkisp1: lsc: Handle quantization locally\n ipa: libipa: interpolator: Drop key quantization\n ipa: rkisp1: lsc: Pass sampling positions into samplePolynomial\n ipa: rkisp1: lsc: Pass crop rectangle as parameter\n ipa: rkisp1: lsc: Resample polynomial lens shading tables at configure time\n libcamera: control_ids: Introduce LensShadingCorrectionEnable\n ipa: rkisp1: Implement LensShadingCorrectionEnable control\n\n src/android/camera_capabilities.cpp | 11 +-\n src/ipa/libipa/interpolator.cpp | 25 +-\n src/ipa/libipa/interpolator.h | 14 +-\n src/ipa/rkisp1/algorithms/dpf.cpp | 2 +-\n src/ipa/rkisp1/algorithms/lsc.cpp | 491 ++++++++++++++++++++++-------------\n src/ipa/rkisp1/algorithms/lsc.h | 20 +-\n src/ipa/rkisp1/ipa_context.h | 13 +-\n src/libcamera/control_ids_core.yaml | 9 +\n src/libcamera/control_ids_draft.yaml | 14 -\n test/ipa/libipa/interpolator.cpp | 7 -\n 10 files changed, 346 insertions(+), 260 deletions(-)\n---\nbase-commit: c63f2c72cd7b278584dcc70b8294063e89b01ca1\nchange-id: 20260107-sklug-lsc-resampling-v2-dev-d77540b176de\n\nBest regards," }