From patchwork Tue Nov 3 10:41:55 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: GuyliandeJong X-Patchwork-Id: 28769 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 6C7F5C3358 for ; Tue, 3 Nov 2026 12:04:32 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 90DC66A7B7; Tue, 3 Nov 2026 13:04:28 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=proton.me header.i=@proton.me header.b="W32Gfh2L"; dkim-atps=neutral Received: from mail-244116.protonmail.ch (mail-244116.protonmail.ch [109.224.244.116]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 6C05B6935F for ; Tue, 3 Nov 2026 11:41:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail2; t=1793702517; x=1793961717; bh=Jv0wAoyEv6d2qAuJQP8E5R1vWcmCf1LXbgEI22Lhi9A=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=W32Gfh2LOniTVyaI2SXFitsDicFip0SFSHVewQxLHiJBLoINXpbm+dloTb33Y3VXk PMjknzcuZApVBfoXapP1GLYenLUC3XUS6782FY2pAClLZgMndXh1Lh+QXC9JklcP20 OPQN41kwWd5gSc1k8q3b6u4wz6RHEdE1iPImvYCZxMAIGv2HQLJmvDORCYfyPUsS8m rVd07evHM5r/b9O716vE+vyk0KDW2BpEzR9CN1AAlBPXHa3HQHtSIwEwNRfTZv4Ld/ XFV2F1WpKTleLagieRWUtlWwOZWN7yvZyfJtVg1pukzC7qlZOJHW1Cx5hwL/Bi6snG leO4XtR3ueQqg== Date: Tue, 03 Nov 2026 10:41:55 +0000 To: libcamera-devel@lists.libcamera.org From: GuyliandeJong Subject: [PATCH 3/3] libcamera: pipeline: ipu3: Bound viewfinder size to the ImgU limits Message-ID: <20261103104131.87331-4-guyliandejong@proton.me> In-Reply-To: <20261103104131.87331-1-guyliandejong@proton.me> References: <20261103104131.87331-1-guyliandejong@proton.me> Feedback-ID: 112452169:user:proton X-Pm-Message-ID: 12d21de6036a88056253d2d9c7ffc04f9ecd735b MIME-Version: 1.0 X-Mailman-Approved-At: Tue, 03 Nov 2026 13:04:24 +0100 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" The default size of the Viewfinder and VideoRecording streams is 1280x720, bounded by the sensor resolution. It is also used as the maximum size of the StreamFormats ranges reported for these roles. validate() requires the ImgU outputs to be strictly smaller than the CIO2 output, aligned down to 64x32. For a sensor no wider than 1280 pixels or no taller than 736 lines, the default size is then larger than what validate() accepts. With the OV9734 (1296x734) on a Surface Laptop 2, 1280x720 is reported while validate() adjusts it to 1280x704. Applications that pick sizes from StreamFormats, such as PipeWire, get configurations adjusted behind their back, which made WirePlumber abort. Apply the same margin to the sensor resolution as validate() and as the StillCapture role already does, before bounding it to 1280x720. Larger sensors are not affected. Signed-off-by: GuyliandeJong --- src/libcamera/pipeline/ipu3/ipu3.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 14cab9e5..730fdfc5 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -444,10 +444,14 @@ PipelineHandlerIPU3::generateConfiguration(Camera *camera, std::span