[{"id":35954,"web_url":"https://patchwork.libcamera.org/comment/35954/","msgid":"<CAEmqJPqNfeo2w8T=sFN5s2R+-Xx0dizZuaNiUqfeTJc2TPFeVw@mail.gmail.com>","date":"2025-09-23T14:13:34","subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Jai,\n\nSome updates for BCM2711 / 2712 marked below:\n\nOn Tue, 23 Sept 2025 at 13:51, Jai Luthra <jai.luthra@ideasonboard.com>\nwrote:\n\n> Add a new living document presenting a matrix of image processing\n> feature support across all currently supported platforms in libcamera.\n>\n> This will hopefuly help in answering questions like is HDR supported\n> with Software ISP or is Auto Focus supported on Raspberry Pi?\n>\n> This matrix will be regularly updated as new features and platforms are\n> added.\n>\n> Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> ---\n> This matrix is a WIP, as you may see with the number of \"?\" unknown\n> cells, thus marked this patch as an RFC, to get some early feedback.\n>\n> Also most users also care about if their particular sensor is well\n> supported (and tuned) by libcamera for a particular platform. That is\n> out-of-scope for this particular patch, but would be quite nice to have\n> at 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> diff --git a/Documentation/index.rst b/Documentation/index.rst\n> index 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>\n> diff --git a/Documentation/isp-feature-matrix.rst\n> b/Documentation/isp-feature-matrix.rst\n> new file mode 100644\n> index 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>\n\nShould be CDAF/PDAF for 2711 and 2712.  I would probably remove IMX708 from\nthis as well.\n\n\n> +     - ✅ (CDAF)\n> +     - 🚫\n> +     - ❓\n> +\n> +   * - HDR Stitching\n> +     - ✅\n> +     - ✅\n>\n\nFor 2711, this is strictly software only.\n\n\n> +     - ✅\n> +     - ❓\n> +     - 🛠️\n> +     - ❓\n> +\n> +   * - Companding\n> +     - ✅\n> +     - 🚫\n> +     - 🚫\n>\n\nShould be  ✅  for 2712.\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\nShould be  ✅  for 2711 and 2712.\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\nShould be  ✅  for 2712.\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\nShould be  ✅  for both 2711 and 2712.\n\n\n> +     - ❓\n> +     - ❓\n> +     - ❓\n> +\n> +   * - 3D Noise Filtering\n> +     - 🚫\n> +     - 🚫\n> +     - 🚫\n>\n\nShould be  ✅  for 2712.\n\nRegards,\nNaush\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\n> 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\n> platforms\n> +  without hardware ISP\n> +\n> +Contributing\n> +------------\n> +\n> +This feature matrix is maintained by the libcamera community and is\n> 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\n> update\n> +    this matrix as part of the same patch or series. Ensure that the\n> feature\n> +    support status for all relevant platforms reflects the changes\n> 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> --\n> 2.51.0\n>\n>","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 39B95C328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Sep 2025 14:14:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 349386B5A2;\n\tTue, 23 Sep 2025 16:14:08 +0200 (CEST)","from mail-vk1-xa2c.google.com (mail-vk1-xa2c.google.com\n\t[IPv6:2607:f8b0:4864:20::a2c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C9BD46B5A2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Sep 2025 16:14:05 +0200 (CEST)","by mail-vk1-xa2c.google.com with SMTP id\n\t71dfb90a1353d-54a8782167dso74569e0c.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Sep 2025 07:14:05 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"GYbVKtkd\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1758636844; x=1759241644;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=ouxv6NdGVSMZI27D/5yIJhq5b0AogjLbuLOJkcr3qwY=;\n\tb=GYbVKtkdZrcvIhsU0ujlkFgmvUmsmTgJxf2mS9F9kgytNaWaDrvu3UtARB+OhjNz7C\n\ta+T1wNSCyIWWnOg7mPVM/ko5vymv19fHlz9EkU7z/lj92wPDlhUFSncdcFHUv9VbiCKF\n\tPQnPOK80dj7Dx/l/zEyJuEZNDGyrFY6JsRmBubzxVdHlZKG5or83ymms1UfeqGInUWkh\n\tEJFHP1q1Gv7yCf153CJzaJD1UEtTw7rVjzRvILgCuHVTUk+xGn+xDd1k0vXThRTDDhT6\n\tQXGnuz53msdhiFRL6rCLTJShSVpbHG0cH5MBYAof6uW36KueD8NwNOxDoiUecFIAQLc0\n\tShww==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1758636844; x=1759241644;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=ouxv6NdGVSMZI27D/5yIJhq5b0AogjLbuLOJkcr3qwY=;\n\tb=En8JudgbsGf0UAKrAtKLA/E2klWmiJ9gpvKH0d1XnuKws84Z4BaDm7BJFNLtTHSja0\n\tIHB8UMWwAvUuInNrN+LgfOiXPILwb1BFaxT7Zf2kMoMKkpQqjUpOGaombroVZgdo+l62\n\tzReRLj3nGCoJMWAOj4X50OgwkfOvvHscgp+hiQ2r43+oVSBG6qIMffyKx/NInRGdganu\n\tn5uPOJvHwdzVdLp/w9nsksFcL0HSnfsg1GyQTKtXl7Z+bnf4WKfJaH3/gGAU2OZXd06B\n\tyfObYIy2oWjXy3kTuYXyNCxVVKhhD4TyKDpcSLeO+3gFSuyYdE6DNlekvAaWfweHxSYD\n\tl8VA==","X-Gm-Message-State":"AOJu0YxG3ppiTLvXK8WGjjiQgAeYIiqNaeKIhrjPlSMy9NC8Af2ZyPd+\n\thTh0SHVON/OmrH4L8LoyiOU3zJqPeEpvGaZyb7jZ32W/k2723m5AczJsxNTHqVWbyfr8GjnOiUS\n\tanduXWRCoP/Jjpe/oboZ014EUkMhYFWAub7sGtywuTjt57B1Ddo8RAWo=","X-Gm-Gg":"ASbGnctmjQNSLRxAbrEWp0RVFutfw+LbqpRzYRlCgg+HaNcQyCpkaAdSGFTk3r8ggMS\n\tw0LHbUrsLGtFpdTh+OeDOT9uxgZ+46y9wMNu8zB2fCU2tu0jmqQHnW4yf8xpYggpoQGjV7C2XWF\n\tCIbrXLEYKxzu+Ef9WRj6RwuW1JhZ0i1qB0OFz7vougNOCe313zYGnN2bPsNqtkIN6soWZEFcKRs\n\tYcSXPEUs/oXDsk+4kku041jhRfaOC5miaUUmg0=","X-Google-Smtp-Source":"AGHT+IEFVsyvSn03QKvi8rN4m5KRm72uBuBLYkgK6q8TjYAPFNMmpbBNyye1gGHXxaMV+3N1Jalx/Yd7d2AbWSR9Gmk=","X-Received":"by 2002:a05:6122:e0dc:b0:53b:174d:98f4 with SMTP id\n\t71dfb90a1353d-54bcadee788mr187362e0c.1.1758636844262; Tue, 23 Sep 2025\n\t07:14:04 -0700 (PDT)","MIME-Version":"1.0","References":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","In-Reply-To":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Tue, 23 Sep 2025 15:13:34 +0100","X-Gm-Features":"AS18NWA_2L-2Logqzt8XQ2EjqZTTk_w6W0y2IDpFA3nQxi7agJEbxpkP8-mOs7A","Message-ID":"<CAEmqJPqNfeo2w8T=sFN5s2R+-Xx0dizZuaNiUqfeTJc2TPFeVw@mail.gmail.com>","Subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","To":"Jai Luthra <jai.luthra@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"000000000000643d0e063f788c14\"","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>"}},{"id":35960,"web_url":"https://patchwork.libcamera.org/comment/35960/","msgid":"<175871050745.1246375.9974329222731661990@ping.linuxembedded.co.uk>","date":"2025-09-24T10:41:47","subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jai Luthra (2025-09-23 13:51:23)\n> Add a new living document presenting a matrix of image processing\n> feature support across all currently supported platforms in libcamera.\n> \n> This will hopefuly help in answering questions like is HDR supported\n> with Software ISP or is Auto Focus supported on Raspberry Pi?\n> \n> This matrix will be regularly updated as new features and platforms are\n> added.\n> \n> Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> ---\n> This matrix is a WIP, as you may see with the number of \"?\" unknown\n> cells, thus marked this patch as an RFC, to get some early feedback.\n> \n> Also most users also care about if their particular sensor is well\n> supported (and tuned) by libcamera for a particular platform. That is\n> out-of-scope for this particular patch, but would be quite nice to have\n> at some point.\n\nYes, I'd love to see the corresponding table get started for sensor\nmodules/types too!\n\nThanks for working on this.\n\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> diff --git a/Documentation/index.rst b/Documentation/index.rst\n> index 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>\n> diff --git a/Documentation/isp-feature-matrix.rst b/Documentation/isp-feature-matrix.rst\n> new file mode 100644\n> index 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\nI'm not sure we can call it the Rockchip ISP IP core integrated in the\nNXP SoC.\n\nRockchip's IP is not integrated in NXP - but the ISP8000Nano which has a\nshared heritage as the Rockchip ISP.\n\n--\nKieran\n\n\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> --\n> 2.51.0\n>","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 C188DBDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 24 Sep 2025 10:41:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5B39F6B5F3;\n\tWed, 24 Sep 2025 12:41:54 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DCF0B69367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 24 Sep 2025 12:41:49 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 24A75596;\n\tWed, 24 Sep 2025 12:40:26 +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=\"XbXhTYzd\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758710426;\n\tbh=2RnhrZY943nUGcRDecBzPSwvwXzFYqBaUF8uvTnHdug=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=XbXhTYzdcl1OQYtuHJswPu3zXjiopxtJidCaGRQoVQZmLWqCpMcy25GNHSmkfk3My\n\tg88ZT56r0bTvcO1kFmtfXJ3YpZSEbSRS45uQsQHyCKJKqy84utZweUpV+rRiCuJLRy\n\tk5Dj/IF0TcFmRpTnabLmhCI4Bx3Wsr/44cXMKBn0=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","References":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","Subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jai Luthra <jai.luthra@ideasonboard.com>","To":"Jai Luthra <jai.luthra@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 24 Sep 2025 11:41:47 +0100","Message-ID":"<175871050745.1246375.9974329222731661990@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}},{"id":35974,"web_url":"https://patchwork.libcamera.org/comment/35974/","msgid":"<b524bda9-591b-4120-8b3d-ac2270f73a6f@ideasonboard.com>","date":"2025-09-25T11:43:58","subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"Hi\n\n2025. 09. 23. 14:51 keltezéssel, Jai Luthra írta:\n> Add a new living document presenting a matrix of image processing\n> feature support across all currently supported platforms in libcamera.\n> \n> This will hopefuly help in answering questions like is HDR supported\n> with Software ISP or is Auto Focus supported on Raspberry Pi?\n> \n> This matrix will be regularly updated as new features and platforms are\n> added.\n> \n> Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> ---\n> This matrix is a WIP, as you may see with the number of \"?\" unknown\n> cells, thus marked this patch as an RFC, to get some early feedback.\n> \n> Also most users also care about if their particular sensor is well\n> supported (and tuned) by libcamera for a particular platform. That is\n> out-of-scope for this particular patch, but would be quite nice to have\n> at 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\nThis is missing an update to `Documentation/meson.build:docs_sources`.\nOtherwise I think the table looks good (looks-wise, I cannot say anything\nabout the content) both in light and dark themes; and even if the view port\nwidth is small, it can be scrolled vertically.\n\n\n> \n> diff --git a/Documentation/index.rst b/Documentation/index.rst\n> index 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>\n> diff --git a/Documentation/isp-feature-matrix.rst b/Documentation/isp-feature-matrix.rst\n> new file mode 100644\n> index 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\nI think I would omit the \"for platforms without hardware ISP\" part because it can also\nbe used if the ISP is just not supported, and even then, one can use it even if\nthe platform would otherwise be supported.\n\n\nRegards,\nBarnabás Pőcze\n\n\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> --\n> 2.51.0\n>","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 0AE81BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Sep 2025 11:44:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 81B616B5F3;\n\tThu, 25 Sep 2025 13:44:03 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C70B869318\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Sep 2025 13:44:01 +0200 (CEST)","from [192.168.33.22] (185.221.140.70.nat.pool.zt.hu\n\t[185.221.140.70])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EE5B6EAE;\n\tThu, 25 Sep 2025 13:42:36 +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=\"tbHpyvNA\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1758800557;\n\tbh=sLRHYfA4ffcf35gb0+mI9mifw7vE4f58lJpk6/icQ0M=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=tbHpyvNA8wn6OLtP3QoWiIq6RjAIjTkiJlN7REegI3g9Fje3tCwWxunk0+2jsnTUc\n\t81TgNj/wi4FK2n0O2YeIMUTaukOx8uDi4FD0LpLATUWku39H08EG6V6MSrDv3veBON\n\tQQpYi71V8gXNjsuDCe8Cgc9wfVLX0gPuuav8EEYY=","Message-ID":"<b524bda9-591b-4120-8b3d-ac2270f73a6f@ideasonboard.com>","Date":"Thu, 25 Sep 2025 13:43:58 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH] Documentation: Add ISP feature support matrix","To":"Jai Luthra <jai.luthra@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20250923125125.3452787-1-jai.luthra@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}}]