{"id":24438,"url":"https://patchwork.libcamera.org/api/1.1/patches/24438/?format=json","web_url":"https://patchwork.libcamera.org/patch/24438/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","date":"2025-09-23T12:51:23","name":"[RFC] Documentation: Add ISP feature support matrix","commit_ref":null,"pull_url":null,"state":"superseded","archived":true,"hash":"90df98ed13c89f2651d6c6842cb034d272e2ff16","submitter":{"id":223,"url":"https://patchwork.libcamera.org/api/1.1/people/223/?format=json","name":"Jai Luthra","email":"jai.luthra@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/24438/mbox/","series":[{"id":5454,"url":"https://patchwork.libcamera.org/api/1.1/series/5454/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5454","date":"2025-09-23T12:51:23","name":"[RFC] Documentation: Add ISP feature support matrix","version":1,"mbox":"https://patchwork.libcamera.org/series/5454/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24438/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24438/checks/","tags":{},"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 1812ABDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Sep 2025 12:51:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D52B06B5F9;\n\tTue, 23 Sep 2025 14:51:52 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E73E06B5A2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Sep 2025 14:51:49 +0200 (CEST)","from mail.ideasonboard.com (unknown\n\t[IPv6:2401:4900:1c67:734b:c03:1342:d84:1f8c])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B0A394C7;\n\tTue, 23 Sep 2025 14:50:25 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"eXhmGlV2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758631826;\n\tbh=5+CQJQPT/hCeAPC+C6N9iPMqcU1O6hjTYUj9ILo5A8U=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=eXhmGlV2eleCTeFVgLXoNkKfeZoCey1O11tL/ln3ogtBSpQXHIHi6slJDC270q4qz\n\tDuNPzic+gIDSi5GzA4rzhurS8HwYJJ44ifh6Riy3Jj8gQkhZs5HiVcG5cpvKkebrTO\n\tx1ouuB7Xay3J7ThRIwj0n/wNEgfWozc8C0nKkogo=","From":"Jai Luthra <jai.luthra@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Jai Luthra <jai.luthra@ideasonboard.com>","Subject":"[RFC PATCH] Documentation: Add ISP feature support matrix","Date":"Tue, 23 Sep 2025 18:21:23 +0530","Message-ID":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","X-Mailer":"git-send-email 2.51.0","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":"Add a new living document presenting a matrix of image processing\nfeature support across all currently supported platforms in libcamera.\n\nThis will hopefuly help in answering questions like is HDR supported\nwith Software ISP or is Auto Focus supported on Raspberry Pi?\n\nThis matrix will be regularly updated as new features and platforms are\nadded.\n\nSigned-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n---\nThis matrix is a WIP, as you may see with the number of \"?\" unknown\ncells, thus marked this patch as an RFC, to get some early feedback.\n\nAlso most users also care about if their particular sensor is well\nsupported (and tuned) by libcamera for a particular platform. That is\nout-of-scope for this particular patch, but would be quite nice to have\nat some point.\n---\n Documentation/index.rst              |   1 +\n Documentation/isp-feature-matrix.rst | 238 +++++++++++++++++++++++++++\n 2 files changed, 239 insertions(+)\n create mode 100644 Documentation/isp-feature-matrix.rst\n\n--\n2.51.0","diff":"diff --git a/Documentation/index.rst b/Documentation/index.rst\nindex febd4e13..a74b8668 100644\n--- a/Documentation/index.rst\n+++ b/Documentation/index.rst\n@@ -9,6 +9,7 @@\n    Introduction <self>\n    Feature Requirements <feature_requirements>\n    Runtime configuration <runtime_configuration>\n+   ISP feature support matrix <isp-feature-matrix>\n    Application Writer's Guide <guides/application-developer>\n    Python Bindings <python-bindings>\n    Public API <public-api/index>\ndiff --git a/Documentation/isp-feature-matrix.rst b/Documentation/isp-feature-matrix.rst\nnew file mode 100644\nindex 00000000..ca0a67bd\n--- /dev/null\n+++ b/Documentation/isp-feature-matrix.rst\n@@ -0,0 +1,238 @@\n+.. SPDX-License-Identifier: CC-BY-SA-4.0\n+\n+libcamera ISP Feature Support Matrix\n+=====================================\n+\n+The following table shows the current status of ISP feature support across\n+different platforms in libcamera.\n+\n+.. list-table:: ISP Feature Support by Platform\n+   :header-rows: 1\n+   :stub-columns: 1\n+\n+   * - Feature\n+     - i.MX8MP (RKISP)\n+     - BCM2711 (Raspberry Pi 4)\n+     - BCM2712 (Raspberry Pi 5)\n+     - Intel IPU3\n+     - Mali C55\n+     - Software ISP (CPU)\n+\n+   * - Auto Gain Control Stats (AGC)\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+\n+   * - Auto Focus (AF)\n+     - 🛠️ (CDAF)\n+     - ✅ (PDAF with IMX708)\n+     - ✅ (PDAF with IMX708)\n+     - ✅ (CDAF)\n+     - 🚫\n+     - ❓\n+\n+   * - HDR Stitching\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+   * - Companding\n+     - ✅\n+     - 🚫\n+     - 🚫\n+     - ❓\n+     - ❓\n+     - ❓\n+\n+   * - Black Level Subtraction (BLS)\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+\n+   * - Lens Shading Correction (LSC)\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+\n+   * - Auto Whitebalance (AWB)\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+\n+   * - Defective Pixel Correction (DPC)\n+     - ✅\n+     - ❓\n+     - ✅\n+     - 🚫\n+     - ✅\n+     - ❓\n+\n+   * - 2D Noise Filtering\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+   * - Local Tone Mapping\n+     - 🛠️\n+     - 🚫\n+     - 🚫\n+     - 🚫\n+     - 🚫\n+     - ❓\n+\n+   * - Demosaicing\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+\n+   * - Chromatic Aberration Correction (CAC)\n+     - 🛠️\n+     - 🚫\n+     - ✅\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+   * - Sharpening\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+   * - Chroma Noise Reduction\n+     - 🚫\n+     - ❓\n+     - ❓\n+     - ❓\n+     - ❓\n+     - ❓\n+\n+   * - 3D Noise Filtering\n+     - 🚫\n+     - 🚫\n+     - 🚫\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+   * - Color Correction Matrix (CCM)\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ✅\n+\n+   * - Global Tone Mapping\n+     - 🛠️\n+     - ✅\n+     - ✅\n+     - ✅\n+     - 🛠️\n+     - ❓\n+\n+   * - Gamma Correction\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - 🛠️\n+     - ✅\n+\n+   * - Color Space Conversion\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - ❓\n+     - ✅\n+\n+   * - Image Stabilization\n+     - 🛠️\n+     - ❓\n+     - ❓\n+     - ❓\n+     - ❓\n+     - ❓\n+\n+   * - Scaling\n+     - ✅\n+     - ✅\n+     - ✅\n+     - ❓\n+     - ✅\n+     - ✅\n+\n+   * - Multi-context\n+     - 🚫\n+     - 🛠️\n+     - 🛠️\n+     - ❓\n+     - 🛠️\n+     - ❓\n+\n+Status Definitions\n+------------------\n+\n+✅ **Supported**\n+    Feature is fully implemented and working in libcamera.\n+\n+🛠️ **Needs Development**\n+    Feature is planned or being developed and may have partial or no\n+    functionality.\n+\n+🚫 **No Hardware**\n+    The underlying hardware does not support this feature.\n+\n+❓ **Unknown**\n+    Support status is unclear or has not been determined yet.\n+\n+Platform Notes\n+--------------\n+\n+* **i.MX8MP (RKISP)**: Uses the Rockchip ISP IP core integrated in the NXP\n+  i.MX8MP SoC\n+* **BCM2711/BCM2712**: Broadcom SoCs used in Raspberry Pi 4 and 5 respectively\n+* **Intel IPU3**: Intel Image Processing Unit version 3\n+* **Mali C55**: ARM's camera ISP IP core\n+* **Software ISP (CPU)**: CPU-based image processing pipeline for platforms\n+  without hardware ISP\n+\n+Contributing\n+------------\n+\n+This feature matrix is maintained by the libcamera community and is updated as\n+new features are implemented or new platforms are supported.\n+\n+**Updating the Matrix**\n+    When adding support for a new ISP feature or platform (SoC), please update\n+    this matrix as part of the same patch or series. Ensure that the feature\n+    support status for all relevant platforms reflects the changes introduced.\n+\n+**Reporting Updates**\n+    If you notice any inaccuracies or outdated information in this matrix,\n+    please open an issue or submit a patch. Refer to the contributing\n+    guidelines in the :doc:`contributing` guide.\n","prefixes":["RFC"]}