From patchwork Thu Dec 11 07:03:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jai Luthra X-Patchwork-Id: 25478 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 8FD4EBD1F1 for ; Thu, 11 Dec 2025 07:05:32 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C072C61507; Thu, 11 Dec 2025 08:05:31 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="OWQv+0I0"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 275AC606D5 for ; Thu, 11 Dec 2025 08:05:30 +0100 (CET) Received: from mail.ideasonboard.com (unknown [223.190.81.120]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CE176667; Thu, 11 Dec 2025 08:05:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765436728; bh=Cp3bA5MGUB4GAARQWOshpQbpNn9brx0t7c3KBOgO/Cs=; h=From:To:Cc:Subject:Date:From; b=OWQv+0I0NlqViKjIzy+AI6LUuF53YW1Rz6aSQdwnJBMV57a7Q6Qojrlh1/o02PLEx nCAAsthZACCiCHb5QS0B87nGSM13+FBo5u3pQx1XbjXpwq3n+1QWrQWjmIlym95Q5p ynF4MeP2B1ungwMhoysdwyq3DAR52sHUXQrwaiws= From: Jai Luthra To: libcamera-devel@lists.libcamera.org Cc: Jai Luthra , Kieran Bingham , Stefan Klug Subject: [PATCH v5 1/2] Documentation: Add ISP feature support matrix Date: Thu, 11 Dec 2025 12:33:04 +0530 Message-ID: <20251211070309.391314-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 --- No changes since v4. --- 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..7f3657f95 --- /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 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 07:03:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jai Luthra X-Patchwork-Id: 25479 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 80EF3BD1F1 for ; Thu, 11 Dec 2025 07:05:49 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4AF5D61518; Thu, 11 Dec 2025 08:05:49 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="PrUbsx/c"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3EAF9606D5 for ; Thu, 11 Dec 2025 08:05:47 +0100 (CET) Received: from mail.ideasonboard.com (unknown [223.190.81.120]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 2D768667; Thu, 11 Dec 2025 08:05:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1765436745; bh=e50th6A+PUbNQ3db+00dT+IMsl6iu4jvQk2D3uJrqxo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PrUbsx/cMEtBhCT2k2l8iivZU001binsnvzP2zc0JkIuVolgr2z4ecq/jsWFf3q/P SD0zmEfFs2nysTKfSPgWRPwHLqV37jEL8M81/epIXx1NTEbMqpS/eIngVXIwg+8PbG UDy29zyjvaUgKB+CTvImG+YszH5rmyW+HXjOWqpg= From: Jai Luthra To: libcamera-devel@lists.libcamera.org Cc: Jai Luthra Subject: [PATCH v5 2/2] Documentation: Add camera sensor support table Date: Thu, 11 Dec 2025 12:33:05 +0530 Message-ID: <20251211070309.391314-2-jai.luthra@ideasonboard.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251211070309.391314-1-jai.luthra@ideasonboard.com> References: <20251211070309.391314-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. Signed-off-by: Jai Luthra Reviewed-by: Kieran Bingham --- New patch in v5. --- Documentation/index.rst | 1 + Documentation/meson.build | 1 + Documentation/sensor-support.rst | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 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..14b62fd22 --- /dev/null +++ b/Documentation/sensor-support.rst @@ -0,0 +1,31 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +Camera Sensor Support +===================== + +The Camera Sensor support for libcamera continually grows and can always be +extended to support custom devices or configurations. Although some integration +work may be required, all supported cameras can be used on all supported +platforms with corresponding physical hardware connections correctly managed. + +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 + * - ams-OSRAM + - Mira220