From patchwork Thu Sep 4 13:46:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24282 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 1D577BDB13 for ; Thu, 4 Sep 2025 13:47:07 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9E5FB69343; Thu, 4 Sep 2025 15:47:05 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="cpKad+mt"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9AE29692EF for ; Thu, 4 Sep 2025 15:47:03 +0200 (CEST) Received: from pendragon.ideasonboard.com (230.215-178-91.adsl-dyn.isp.belgacom.be [91.178.215.230]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id EA865F09 for ; Thu, 4 Sep 2025 15:45:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1756993554; bh=JMZEUMhEyQzGAa8Bz+INAE0/1HU+igN8qMbL6/8Z/dU=; h=From:To:Subject:Date:From; b=cpKad+mt5JnW3RMXgA78McWg6nYu9vAA0fklEMQmK+9PGWBfe02+7SG8/Z56R6RBZ tVOzFvPhjZQuM4+S18UVJKCZg85ExxovZi8ressF+Qm4Ee9gvnbMSX+evKsJyYX6UD X4uhGneACfTVixtnxtZLd0ce+zgm6TZiqeOcoX/k= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH v3 0/2] libcamera: Use span in FrameBuffer Date: Thu, 4 Sep 2025 15:46:39 +0200 Message-ID: <20250904134641.29597-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.49.1 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" Hello, This patch series is the third version of the standalone "[PATCH] libcamera: framebuffer: Replace vector with span in constructor" patch. Most of the patches in v2 have been merged already, or have been superseded by other merged patches. Only patch 1/2 remains as a drive-by improvement from v2, and of course patch 2/2 that performs to actual conversion to Span. With FrameBuffer::planes() returning a span, multiple callers have to be modified through libcamera. While there is no actual change to test applications thanks for previous refactoring that made application code API-compatible with this change, the patch series still changes the libcamera ABI and API, requiring recompilation and possibly code changes. Laurent Pinchart (2): pipelines: Use lambda functions to factor out buffer mapping code libcamera: framebuffer: Replace vector with span in constructor include/libcamera/framebuffer.h | 4 +-- include/libcamera/internal/framebuffer.h | 3 +- .../mm/cros_frame_buffer_allocator.cpp | 2 +- .../mm/generic_frame_buffer_allocator.cpp | 2 +- src/libcamera/framebuffer.cpp | 10 +++---- src/libcamera/pipeline/ipu3/ipu3.cpp | 20 ++++++++----- src/libcamera/pipeline/mali-c55/mali-c55.cpp | 30 +++++++++++-------- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 26 ++++++++-------- .../pipeline/rpi/common/pipeline_base.cpp | 6 ++-- src/libcamera/pipeline/vimc/vimc.cpp | 5 +++- src/libcamera/pipeline/virtual/virtual.cpp | 3 +- src/libcamera/v4l2_videodevice.cpp | 6 ++-- 12 files changed, 68 insertions(+), 49 deletions(-) base-commit: baea40a8a5dddbad3cf6398aa8ce248e4547c955 --- Regards, Laurent Pinchart