From patchwork Wed Aug 19 14:15:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 27847 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by patchwork.libcamera.org (Postfix) with ESMTPS id C4CA4C3308 for ; Thu, 20 Aug 2026 10:50:11 +0000 (UTC) Received: from monstersaurus.ideasonboard.com (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 667308FD for ; Thu, 20 Aug 2026 12:48:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1787222930; bh=D4XqFsu0QOWZZiDkb5QffHp+JefIrdJ9HBCl6xaygtA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=QgGvAXrTjXulD/I5qIOrXUWqpwdwd3kqNWYecSZLMmDtVjptVnRfRieXQo9+CQNEG KIo5D777093SumFShzMGkXvJRJelOtmADfD/JroCABxkZ3tuIyWEUpyKqdgaNsbIDy /mBHw94ZQ67ZHAVvGdIrGoqFFDD4iF22MF76p/Ns= Received: by monstersaurus.ideasonboard.com (sSMTP sendmail emulation); Thu, 20 Aug 2026 11:50:10 +0100 Delivered-To: kbingham@ideasonboard.com Received: from perceval.ideasonboard.com by perceval.ideasonboard.com with LMTP id +E5ZBU26hWpsaBYA4E0KoQ (envelope-from ) for ; Wed, 19 Aug 2026 16:14:37 +0200 Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by perceval.ideasonboard.com (Postfix) with ESMTPS id E67BBA25; Wed, 19 Aug 2026 16:14:36 +0200 (CEST) Authentication-Results: perceval.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.a=rsa-sha256 header.s=mail header.b=Vlu04yUv; dkim-atps=neutral Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C90F66831C; Wed, 19 Aug 2026 16:15:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Vlu04yUv"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5F3B46831A for ; Wed, 19 Aug 2026 16:15:55 +0200 (CEST) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:84bc:8eb1:e39f:793f]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 806FDA25; Wed, 19 Aug 2026 16:14:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1787148874; bh=D4XqFsu0QOWZZiDkb5QffHp+JefIrdJ9HBCl6xaygtA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vlu04yUvKAR5bAvLEfX8wAhh6a73F+GrKP4nJITthshALvNpAcpzL7mIeXeIgx2yU 4za6U6qHf4SXz6AuYtVUP4BaxcLFL/nI8ODQUrFmW0DJ/mKtebPfgaLE10tlNpiyWa zEsBrQuxWxPfj1NgBkyN967odt1+m4UdpVt2bcoY= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH v2 3/3] libcamera: ipa: core: Add IPACameraSensorInfo::pixelArraySize property Date: Wed, 19 Aug 2026 16:15:16 +0200 Message-ID: <20260819141541.221617-4-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260819141541.221617-1-stefan.klug@ideasonboard.com> References: <20260819141541.221617-1-stefan.klug@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" X-TUID: gdZMIaVvpbQT Add a IPACameraSensorInfo::pixelArraySize property to communicate the full size of the pixel array to the IPA. This property is not used today but will be useful to do sanity checks on coordinates handled in the algorithms. Signed-off-by: Stefan Klug Reviewed-by: Jacopo Mondi --- include/libcamera/ipa/core.mojom | 6 ++++++ src/libcamera/sensor/camera_sensor_legacy.cpp | 1 + src/libcamera/sensor/camera_sensor_raw.cpp | 1 + 3 files changed, 8 insertions(+) diff --git a/include/libcamera/ipa/core.mojom b/include/libcamera/ipa/core.mojom index d3375333baa0..8c0fc2165baa 100644 --- a/include/libcamera/ipa/core.mojom +++ b/include/libcamera/ipa/core.mojom @@ -152,6 +152,11 @@ module libcamera; * RGB for sensors that don't have a CFA. */ +/** + * \var IPACameraSensorInfo::pixelArraySize + * \brief The size of the physical pixel array of the sensor in pixels + */ + /** * \var IPACameraSensorInfo::activeArea * \brief The active pixel area of the sensor, relative to the physical pixel @@ -250,6 +255,7 @@ struct IPACameraSensorInfo { uint32 bitsPerPixel; uint32 cfaPattern; + Size pixelArraySize; Rectangle activeArea; Rectangle analogCrop; Size outputSize; diff --git a/src/libcamera/sensor/camera_sensor_legacy.cpp b/src/libcamera/sensor/camera_sensor_legacy.cpp index 9e32f798c2dd..18941666fb4c 100644 --- a/src/libcamera/sensor/camera_sensor_legacy.cpp +++ b/src/libcamera/sensor/camera_sensor_legacy.cpp @@ -881,6 +881,7 @@ int CameraSensorLegacy::sensorInfo(IPACameraSensorInfo *info) const return -EINVAL; info->model = model(); + info->pixelArraySize = pixelArraySize_; /* * The active area is a static property, while the crop rectangle needs diff --git a/src/libcamera/sensor/camera_sensor_raw.cpp b/src/libcamera/sensor/camera_sensor_raw.cpp index a1f48b5ff557..4b0b8ff6fc2b 100644 --- a/src/libcamera/sensor/camera_sensor_raw.cpp +++ b/src/libcamera/sensor/camera_sensor_raw.cpp @@ -1007,6 +1007,7 @@ int CameraSensorRaw::setEmbeddedDataEnabled(bool enable) int CameraSensorRaw::sensorInfo(IPACameraSensorInfo *info) const { info->model = model(); + info->pixelArraySize = pixelArraySize_; /* * The active area is a static property, while the crop rectangle needs