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 Feature Requirements Runtime configuration + ISP feature support matrix Application Writer's Guide Python Bindings Public API diff --git a/Documentation/isp-feature-matrix.rst b/Documentation/isp-feature-matrix.rst new file mode 100644 index 00000000..3b101eb2 --- /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 [#renesas_v2]_ | Software ISP (CPU) [#softisp]_ | + +=============================================+===========+================+====================+================+==========================+================================+================================+ + | 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 | 🚫 | 🚫 | 🛠️ | 🛠️ | ❓ | 🛠️ | ❓ | + +---------------------------------------------+-----------+----------------+--------------------+----------------+--------------------------+--------------------------------+--------------------------------+ + + +.. rubric:: Note + +.. [#renesas_v2] Based on ARM's Mali C55 ISP, therefore easily extendable to + other SoCs that integrate that ISP. + +.. [#softisp] 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',