From patchwork Thu Dec 11 10:07:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jai Luthra X-Patchwork-Id: 25487 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id A3025BD1F1 for ; Thu, 11 Dec 2025 10:08:31 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 43624615A7; Thu, 11 Dec 2025 11:08:30 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="T+ntOEHZ"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 53562610A6 for ; Thu, 11 Dec 2025 11:08:29 +0100 (CET) Received: from mail.ideasonboard.com (unknown [223.190.81.120]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B20FE667; Thu, 11 Dec 2025 11:08:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765447707; bh=bGPVvj1vvDLApJQjmv9nZUmjwY42yS8Ox+334NQhqbs=; h=From:To:Cc:Subject:Date:From; b=T+ntOEHZORR9mBs+3XTvCZvw5y5yUUvNfAaeAAdYoJ0u/MsYAkAnlTaV8DvxNJlUo d4PeYXfeUr6mrt0KkNtMC+YHNtpg25AgOgEWOl6S0ZDmPKpBUpp/1zioM3jW3mpQyb AbVzjmVoOO32pRppgo4x8EwpBxPJWj9nfHQQYJog= From: Jai Luthra To: libcamera-devel@lists.libcamera.org Cc: Jai Luthra , Kieran Bingham , Stefan Klug Subject: [PATCH v6 1/2] Documentation: Add ISP feature support matrix Date: Thu, 11 Dec 2025 15:37:59 +0530 Message-ID: <20251211100802.757800-1-jai.luthra@ideasonboard.com> X-Mailer: git-send-email 2.52.0 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 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 Reviewed-by: Stefan Klug Signed-off-by: Jai Luthra --- Changes since v5: - Use footnote links as suggested by Barnabas --- 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.52.0 diff --git a/Documentation/index.rst b/Documentation/index.rst index febd4e13e..a74b8668b 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 000000000..3b101eb2f --- /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 fe53ebcf7..a84304dd8 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', From patchwork Thu Dec 11 10:08:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jai Luthra X-Patchwork-Id: 25488 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 0309BBD1F1 for ; Thu, 11 Dec 2025 10:08:44 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9FA4D615A7; Thu, 11 Dec 2025 11:08:44 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="OMEYw+Qz"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id BDF14610A6 for ; Thu, 11 Dec 2025 11:08:42 +0100 (CET) Received: from mail.ideasonboard.com (unknown [223.190.81.120]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 9347C667; Thu, 11 Dec 2025 11:08:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765447720; bh=EMZKH0kSIbbTw7m2i/qmJRKeyBds7/O/VmaoF++LJ4I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OMEYw+Qzr6YIKafqdplwECS8qwTjP43gAUrWdJ0hHaoKjFXx8nZv4DezsHBWPuJF6 Us2xMfPkOXWa7tcMpbf7Y1b18+FNhgig9oOAMbFIdd3otnDbhHEby9SA9qjbe+K9sK owEuer1rknHpBtCNqYzdNeZYk1JDa/IVblQJD3FE= From: Jai Luthra To: libcamera-devel@lists.libcamera.org Cc: Jai Luthra , Kieran Bingham Subject: [PATCH v6 2/2] Documentation: Add camera sensor support table Date: Thu, 11 Dec 2025 15:38:00 +0530 Message-ID: <20251211100802.757800-2-jai.luthra@ideasonboard.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251211100802.757800-1-jai.luthra@ideasonboard.com> References: <20251211100802.757800-1-jai.luthra@ideasonboard.com> MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a table with the list of camera sensors currently supported by libcamera. Similar to the ISP feature matrix, this too is a living document, and will be updated as support for more sensors is added. Reviewed-by: Kieran Bingham Signed-off-by: Jai Luthra --- Changes since v5: - Drop Mira220 as it is not yet in mainline - Reword the initial paragraph for better flow, also mention that sensors need linux kernel support - Add Kieran's R-by --- Documentation/index.rst | 1 + Documentation/meson.build | 1 + Documentation/sensor-support.rst | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 Documentation/sensor-support.rst -- 2.52.0 diff --git a/Documentation/index.rst b/Documentation/index.rst index a74b8668b..8109b4295 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -10,6 +10,7 @@ Feature Requirements Runtime configuration ISP feature support matrix + Camera Sensor support Application Writer's Guide Python Bindings Public API diff --git a/Documentation/meson.build b/Documentation/meson.build index a84304dd8..51899c19c 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -172,6 +172,7 @@ if sphinx.found() 'python-bindings.rst', 'runtime_configuration.rst', 'sensor_driver_requirements.rst', + 'sensor-support.rst', 'software-isp-benchmarking.rst', '../README.rst', ] diff --git a/Documentation/sensor-support.rst b/Documentation/sensor-support.rst new file mode 100644 index 000000000..9d71f3db6 --- /dev/null +++ b/Documentation/sensor-support.rst @@ -0,0 +1,32 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +Camera Sensor Support +===================== + +Support for camera sensors in libcamera continues to grow and can be easily +extended to any sensor supported by the Linux kernel, as well as to custom +devices or configurations. + +While some integration effort may be necessary, any supported camera can be +used on any supported platform, as long as the required physical hardware +connections are properly handled. + +Existing support includes the following camera sensors: + +.. list-table:: + :header-rows: 1 + + * - Vendor + - Models + * - Sony + - IMX214, IMX219, IMX258, IMX283, IMX290, IMX296, IMX327, IMX335, IMX415, + IMX462, IMX477, IMX519, IMX708 + * - Omnivision + - OV2685, OV2740, OV4689, OV5640, OV5647, OV5670, OV5675, OV5693, OV7251, + OV8858, OV8865, OV9281, OV13858, OV64A40 + * - On-Semi + - AR0144, AR0521 + * - ST-Microelectronics + - VD56G3 + * - Galaxy Core + - GC05A2, GC08A3