[v4] Documentation: Add ISP feature support matrix
diff mbox series

Message ID 20251202083627.3513891-1-jai.luthra@ideasonboard.com
State New
Headers show
Series
  • [v4] Documentation: Add ISP feature support matrix
Related show

Commit Message

Jai Luthra Dec. 2, 2025, 8:36 a.m. UTC
Add a new living document presenting a matrix of image processing
feature support across all currently supported platforms in libcamera.

This will hopefuly help in answering questions like is HDR supported
with Software ISP or is Auto Focus supported on Raspberry Pi?

This matrix will be regularly updated as new features and platforms are
added.

Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com>
Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>
---
Changes since v3:
- Add Stefan's suggestions along with his R-by.
- Add Dan's suggestions
- Update IPU3's global tone mapping and gamma support
- Clean up grammar in the notes section below the table
- Link to v3: https://patchwork.libcamera.org/patch/25213/
---
 Documentation/index.rst              |   1 +
 Documentation/isp-feature-matrix.rst | 103 +++++++++++++++++++++++++++
 Documentation/meson.build            |   1 +
 3 files changed, 105 insertions(+)
 create mode 100644 Documentation/isp-feature-matrix.rst

--
2.51.1

Patch
diff mbox series

diff --git a/Documentation/index.rst b/Documentation/index.rst
index febd4e13..a74b8668 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -9,6 +9,7 @@ 
    Introduction <self>
    Feature Requirements <feature_requirements>
    Runtime configuration <runtime_configuration>
+   ISP feature support matrix <isp-feature-matrix>
    Application Writer's Guide <guides/application-developer>
    Python Bindings <python-bindings>
    Public API <public-api/index>
diff --git a/Documentation/isp-feature-matrix.rst b/Documentation/isp-feature-matrix.rst
new file mode 100644
index 00000000..7f3657f9
--- /dev/null
+++ b/Documentation/isp-feature-matrix.rst
@@ -0,0 +1,103 @@ 
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+libcamera ISP Feature Support Matrix
+====================================
+
+The following table shows the current status of ISP feature support across
+different platforms in libcamera.
+
+.. table:: ISP Feature Support by Platform
+
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Feature                                     | i.MX8MP   | RK3399, RK3288 | Raspberry Pi 4     | Raspberry Pi 5 | Intel 6th/7th Gen (IPU3) | Renesas V2H/V2N* | Software ISP (CPU)** |
+   +=============================================+===========+================+====================+================+==========================+==================+======================+
+   | Auto Gain Control Stats (AGC)               | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Auto Focus (AF)                             | 🛠️ (CDAF) | 🛠️ (CDAF)      | ✅ (CDAF/PDAF)     | ✅ (CDAF/PDAF) | ✅ (CDAF)                | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | HDR Stitching                               | ✅        | 🚫             | ✅ (Software only) | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Companding                                  | ✅        | 🚫             | 🚫                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Black Level Subtraction (BLS)               | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Lens Shading Correction (LSC)               | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Auto Whitebalance (AWB)                     | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Defective Pixel Correction (DPC)            | ✅        | ✅             | ✅                 | ✅             | 🚫                       | ✅               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | 2D Noise Filtering                          | ✅        | ✅             | ✅                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Local Tone Mapping                          | 🛠️        | 🛠️             | 🚫                 | ✅             | 🚫                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Demosaicing                                 | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Chromatic Aberration Correction (CAC)       | 🛠️        | 🛠️             | 🚫                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Sharpening                                  | ✅        | ✅             | ✅                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Chroma Noise Reduction                      | 🚫        | 🚫             | ✅                 | ✅             | ❓                       | ❓               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | 3D Noise Filtering                          | 🚫        | 🚫             | 🚫                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Color Correction Matrix (CCM)               | ✅        | ✅             | ✅                 | ✅             | ✅                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Global Tone Mapping                         | ✅        | ❓             | ✅                 | ✅             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Gamma Correction                            | ✅        | ✅             | ✅                 | ✅             | 🛠️                       | 🛠️               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Color Space Conversion                      | ✅        | ✅             | ✅                 | ✅             | ❓                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Image Stabilization                         | 🛠️        | 🛠️             | ❓                 | ❓             | ❓                       | ❓               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Downscaling                                 | ✅        | ✅             | ✅                 | ✅             | ❓                       | ✅               | ✅                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+   | Multi-context                               | 🚫        | 🚫             | 🛠️                 | 🛠️             | ❓                       | 🛠️               | ❓                   |
+   +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+------------------+----------------------+
+
+
+.. note::
+
+    **\*** Based on ARM's Mali C55 ISP, therefore easily extendable to other
+    SoCs that integrate that ISP
+
+    **\*\*** CPU-based image processing, therefore extendable to any platform.
+    Currently the following are supported:
+
+    * Intel 11th-14th Gen (IPU6)
+    * Intel 15th Gen (IPU7)
+    * Texas Instruments J7x/AM6x
+    * Qualcomm Snapdragon (CamSS)
+
+Status Definitions
+------------------
+
+✅ **Supported**
+    Feature is fully implemented and working in libcamera.
+
+🛠️ **Needs Development**
+    Feature is planned or being developed and may have partial or no
+    functionality.
+
+🚫 **No Hardware**
+    The underlying hardware does not support this feature.
+
+❓ **Unknown**
+    Support status is unclear or has not been determined yet.
+
+Contributing
+------------
+
+This feature matrix is maintained by the libcamera community and is updated as
+new features are implemented or new platforms are supported.
+
+**Updating the Matrix**
+    When adding support for a new ISP feature or platform (SoC), please update
+    this matrix as part of the same patch or series. Ensure that the feature
+    support status for all relevant platforms reflects the changes introduced.
+
+**Reporting Updates**
+    If you notice any inaccuracies or outdated information in this matrix,
+    please open an issue or submit a patch. Refer to the contributing
+    guidelines in the :doc:`contributing` guide.
diff --git a/Documentation/meson.build b/Documentation/meson.build
index fe53ebcf..a84304dd 100644
--- a/Documentation/meson.build
+++ b/Documentation/meson.build
@@ -164,6 +164,7 @@  if sphinx.found()
         'index.rst',
         'internal-api/index.rst',
         'introduction.rst',
+        'isp-feature-matrix.rst',
         'lens_driver_requirements.rst',
         'libcamera_architecture.rst',
         'mali-c55.dot',