From patchwork Thu May 7 10:07:53 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 26668 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 27A8FBDCB5 for ; Thu, 7 May 2026 10:08:11 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 706DD63024; Thu, 7 May 2026 12:08:09 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="HXvHWi9T"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A045262010 for ; Thu, 7 May 2026 12:08:06 +0200 (CEST) Received: from [192.168.1.104] (net-93-65-100-155.cust.vodafonedsl.it [93.65.100.155]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 36614B63; Thu, 7 May 2026 12:08:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1778148482; bh=fdBwTgzmhb2OtDPff8FFBSIAVeeE4uq8dI544aV+S7U=; h=From:Subject:Date:To:Cc:From; b=HXvHWi9TCvhfR/ZTDF0RbG9nKweKxORclW3FZ7c1Mn4p/i8XDn2ah6SOwE55WJ2Fn 8WmNUhaPGxmWSbwkkCD5znt2wn5S1Qd4tb/YrRTGkhoiyP9GjBTRoqmT7HBVl8PkUq yulZbiGRGJ18X/Uaj+HH14YEIaeYE3E1j/irkWp8= From: Jacopo Mondi Subject: [PATCH v2 0/3] ipa: libipa: Add support for V4L2 ISP statistics Date: Thu, 07 May 2026 12:07:53 +0200 Message-Id: <20260507-extensible-stats-v2-0-dfca939ad327@ideasonboard.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAHlk/GkC/32NQQrCMBBFr1JmbSQNtimuvEfpItOMdkATyYRQK b27sQdw+R789zcQSkwC12aDRIWFY6hgTg3MiwsPUuwrg9Gm153uFK2ZgjA+SUl2WZS1xgwW6YJ ugDp7J7rzeiTHqfLCkmP6HA+l/dk/sdIqrTR2/WyxRfT9jT05iQGjS/48xxdM+75/ATksGCC3A AAA X-Change-ID: 20260505-extensible-stats-772287be4ba8 To: libcamera-devel@lists.libcamera.org, Antoine Bouyer Cc: Jacopo Mondi , Kieran Bingham , Laurent Pinchart , =?utf-8?b?QmFybmFiw6FzIFDFkWN6?= =?utf-8?q?e?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1531; i=jacopo.mondi@ideasonboard.com; h=from:subject:message-id; bh=fdBwTgzmhb2OtDPff8FFBSIAVeeE4uq8dI544aV+S7U=; b=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBp/GSF2BHUi9EPcCqJ8/qGmxhHJdInqtC2HgBy9 TrVBlqOc+yJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCafxkhQAKCRByNAaPFqFW PAUsD/9QXiPj1/eL8qoHcfuTnwTCPUtR8fbFnqmAGij2RmeGgoLnTYCGGkpe9zKklsnoh/O/06h O4NMyhYZykH/KYIKPvyHY0bngyLQrOE01Y0+86BUIMlMoZdw4yl/2seFtr2Gtw0P5NstxOaG0N3 PRGb5/8bhg0hSrRT2hXmV/AnsTfNf+gi+IIYrfNGnGFYBhSWMS7pm7VsUw4Le6w/CNhfyod831m rdL55e0cQ9UMCei8InGfSGVV+7Vjb/DS9mQy5jCvR7QNFl85tKswbUOe62nXzz87R5EuVV/uHXC kPVOia1nmQn4n8BJYoEIRYceMZ3yPfxrBASNm5s6BqlmpGibBW6nbyHDWW9OJN36T7K2PpvRdVl VqQ7e8jNJV5ZaYSDLIfIDDMNlPsU5ls8vm+jjPLI7m+3IlobNJ9BUQL89q1PXrvagd+7Y36gGm/ 7XpjySsHK7No73OMuZjuCmIUPG8ETFydHGpKbfFfHlOLzgcXTLx8uFgBtq0OnRjn4sLI7Y23+3r JTedyVW9zwrGj+tBtbYEVEwA4fUhh1ZDOaMoHU+toAGAY56Q7ZBfoXeDNiZOLJ56Vg6gTEg6YwU +hZTBBD33EmE73qaQJdEoDIcXEu0/FwT7aM5dR7nm7tBdaQnkhiQpS0VzwWGzcAdjK5Azgr3HIz TU3Yu8rL4lJkJ9Q== X-Developer-Key: i=jacopo.mondi@ideasonboard.com; a=openpgp; fpr=72392EDC88144A65C701EA9BA5826A2587AD026B 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" Support for extensible stats has been submitted for review first by Antonie then broken-out to a dedicated patch series here: https://patchwork.linuxtv.org/project/linux-media/list/?series=24772 With the same spirit as V4L2Params, introduce a V4L2Stats class to help IPA modules handle a buffer of V4L2 ISP statistics. There are currently no users in-tree of the class but we have an example user in the RPP-X1 IPA module available at: https://gitlab.freedesktop.org/jmondi/libcamera/-/blob/v4h/jmondi/rppx1/src/ipa/rppx1/stats.h https://gitlab.freedesktop.org/jmondi/libcamera/-/blob/v4h/jmondi/rppx1/src/ipa/rppx1/algorithms/awb.cpp#L365 on top, a drive-by change to V4L2Params. Signed-off-by: Jacopo Mondi --- Changes in v2: - Address Kieran's and Barnabas' comment --- Jacopo Mondi (3): include: v4l2-isp: Update to support extensible stats ipa: libipa: Introduce V4L2Stats ipa: libipa: v4l2_params: Fix code example in doc include/linux/media/v4l2-isp.h | 125 ++++++++++++++--------- src/ipa/libipa/meson.build | 2 + src/ipa/libipa/v4l2_params.cpp | 4 +- src/ipa/libipa/v4l2_stats.cpp | 226 +++++++++++++++++++++++++++++++++++++++++ src/ipa/libipa/v4l2_stats.h | 123 ++++++++++++++++++++++ 5 files changed, 432 insertions(+), 48 deletions(-) --- base-commit: 39d8133fd17c1e963981490105a154d78eb6cb43 change-id: 20260505-extensible-stats-772287be4ba8 Best regards,