From patchwork Wed Jun 24 08:24:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 27024 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 11CCAC3305 for ; Wed, 24 Jun 2026 08:35:40 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D8EB165881; Wed, 24 Jun 2026 10:35:38 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="pnH1ot7w"; dkim-atps=neutral Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 6AEFA65870 for ; Wed, 24 Jun 2026 10:35:36 +0200 (CEST) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-490b4c8c6e7so551925e9.2 for ; Wed, 24 Jun 2026 01:35:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1782290136; x=1782894936; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=weGaI0oeFkyuVVXqFnC27rffITBjjYGQDSnj+PFOsP0=; b=pnH1ot7wVMZfrug5iA5xtg9ZtYAIGFny7hwYqMdUGW8eZUPob5fDqonK6UC5CUNKto PPE6DNAghNOOqfJKQE7X0jvLD2dUGauD1aBV/JfDQBiTc5CetiWoCf2rOw0eVNONH8js we/YuE4Ghi/QKMXEgKUR6WgERZ+IM9XinYro/WlAl3t1JFBOQQkuCMEzsqSVHZIHMXGQ rMSVf+Qa5FJF/ypxWeEsge+owppmmXl96hf34LlsdsvbQKb8qRzblpBwhgzp6LpiGBuH fP67OsOHfLhM7YtjFuETCrjxxvM52ZOqwE+Pg9PGrvBxSZH3eC/wjyH0tlxIW/VmMrnF TAXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782290136; x=1782894936; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=weGaI0oeFkyuVVXqFnC27rffITBjjYGQDSnj+PFOsP0=; b=RIcWNhkCx+tB/lUIYj4etRN6HVHpYnLDqmgQgQ7z1v+oRwWVKzqnnJWn550uipVkXh FomQUoWlBXIPC4drmHxXGzhb9Gi0kFNz3zFJDJXmmbh8kjVCjB8jfM9+WHU7bc6pOLUT wmbRXJK7MODgbw/hNvXy83ypkf9OU3obezn6G18vmvE3yg0G36liL0QW4hduS9KCnHBR zDncG7ZYHF4r/gdbezlB3se/lWdxMnBFwd/MWtSWxVPmDe9EQG/oCK3+X2b3u4TXKFlj NZ4fnrDvZTbcwaBAh/FMRv7TnzU1A9EvYXRmiIz9TUfQTxlomWPuRgIbQWwQKYvUCUss xpeg== X-Gm-Message-State: AOJu0Yw+Df9Xojd7G2SRq/LtCjK+x1pc/Es1zcoYyuC6Mqvi33ydhhid WApzTdpphZNKG9QGZzGH8qtTV7OnHDs9vurA+H7uya9ZN+zs7jyE++2EWm0kmfaz2r0gdfespFn 9mRD1UOA= X-Gm-Gg: AfdE7cku2/P/ODNX9sepziUBPHk/i3dJSysh8cBPqdJ+3Xfg8c/M9FI459MgDVkAuGT OVTic2HsnVJMtGbRIvBxth8Esn4cLL81GvgHCHDmZ9BTnMzOnF0DMgLjLZ2ufOO+iLtGx3fm7tA p0ymsMOIBfgPk78HZiuEttAG3AeWWPbxSVuJEyS+mbO5/pZJYLl0g7AEt/ACHR2RP3ZGnlL7/VL Xzm5azDD/uDMXvIb/+p/GQ+q6aX+bBDtAY9SQWbNk831BGp2DMiJ2vAiZNvlYw1zczvjqaORzJb YUu2neBLWyWfnr4e/mE4WN9Il82GuCc0vFRO2z4iQFzJznpA0cOp2SQS6BVVNXPlhkQQ+2NZmOI cfo9nQzn/b8dIA1g1+dWnsT84BM5F+fTiPuRnQzGO/LqC/NnsgajrFpjo4ubzXy1siuifGk3sUL 6hk9Pj6q2gnJ7RMRXVjb3wENizSDVCCQlKuVgHmfVARnb1gUd3wx4WWymDCX8/z3KTPouabmD3L kS/akGBIfWmz9Zy1P5jWMxLvqW1yplZjUO9+TR4277Y55ExUZ5rhps66pyb47+ncKnIkvYvOo8C Caawl44HjKDOGNaijbyR X-Received: by 2002:a05:600c:a219:b0:492:5113:9beb with SMTP id 5b1f17b1804b1-492598e08fbmr46059735e9.7.1782290135499; Wed, 24 Jun 2026 01:35:35 -0700 (PDT) Received: from naush-dell.pitowers.org ([2a00:1098:3142:1f:4e02:b684:b0f9:89f0]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49260d77e8asm23857675e9.1.2026.06.24.01.35.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 01:35:35 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: laurent.pinchart@ideasonboard.com, david.plowman@raspberrypi.com, Naushir Patuck Subject: [PATCH 1/2] pipeline: rpi: Default to BayerFormat::Packing::None for RAW streams Date: Wed, 24 Jun 2026 09:24:31 +0100 Message-ID: <20260624082705.272795-2-naush@raspberrypi.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260624082705.272795-1-naush@raspberrypi.com> References: <20260624082705.272795-1-naush@raspberrypi.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" In generateConfiguration(), set the default packing on RAW streams to BayerFormat::Packing::None. This default is easier to handle over CSI2 packed or PiSP Bayer compressed packaing options. Signed-off-by: Naushir Patuck --- src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp index 5a5acf6a164b..e0f364272746 100644 --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp @@ -410,7 +410,7 @@ PipelineHandlerBase::generateConfiguration(Camera *camera, SpanfindBestFormat(size, defaultRawBitDepth); pixelFormat = mbusCodeToPixelFormat(sensorFormat.code, - BayerFormat::Packing::CSI2); + BayerFormat::Packing::None); ASSERT(pixelFormat.isValid()); colorSpace = ColorSpace::Raw; bufferCount = 2; From patchwork Wed Jun 24 08:24:32 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 27025 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 62146C3306 for ; Wed, 24 Jun 2026 08:35:41 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B101B65879; Wed, 24 Jun 2026 10:35:39 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="S2kpZTGz"; dkim-atps=neutral Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 21C5F6587E for ; Wed, 24 Jun 2026 10:35:37 +0200 (CEST) Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-45ef93a0b0fso83097f8f.2 for ; Wed, 24 Jun 2026 01:35:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1782290136; x=1782894936; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CyBkl13CqzTha84hvi80lhjBtEbQVrFJNvmrm70osXQ=; b=S2kpZTGzQrrjf7rJ2PbNGjK5xQQtcPKoxL/bQ3h1sflwNTpDZ0Okoy51eh3mvIbKGu PUXq/g62ZwwjM3d0bpEmlCXl2hnGMbjEnIzVhEQHmFdGjd4SWSLGHYviN44lV2jw7m1u SKUDbRlEnUeOCKRIzS4p6Xo42xO1Kk3e1ATtQWL0Kvmdb0mFDael3xNzTkdLTAVevsaI cGHreOrclHkaiINPOAqK295Jh52ezf1ObzYsJihGJ+Yk5jbCggfzeYiuHlOdOB588lzb rEQV6imR3pl84PEMrrgBkRAFnmpKJkmVz07pULwNbP3q6TfKvZBkgn5ih1XfyhmpOQt8 3t6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782290136; x=1782894936; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CyBkl13CqzTha84hvi80lhjBtEbQVrFJNvmrm70osXQ=; b=gSHI4qoXJ5xbuyGTo5oOIBk/L4S2TwZJJoqf164rJLTxSKKQ1wN8GgCkM+u3l5dm1x YL07X66vfGymcUw9aAuRXuW1Vg4FTQ+azPqLJhW3C2I+79Z7wHF7grv8TEmLrpVoNcth uqqvnYFt8+CGXjy+5TTm2fDrosbUHNksdKvSyx5lW0r5RXsd8meaFPKtEPi8LeaY1kdq 9vCFgJkusxQQaFSPLMnZGyfoWKnA26K2EpZuyx8uTwR4nz2YDrL+rh7nON/EeNL428ga v++vbpWm7qHjiVttLqYgvLJcyL3WmPhUlwJC88qqPiAADR1ifSdB2lpP28XRsN7BEi7N yxJA== X-Gm-Message-State: AOJu0YwYgPVztdB8V/qQ4beSk77CdGLEpkaCXvak3QfJk57z6uRkk0AP UakTl/SgL4kcmlvCylkFo5tG9YXdoAw6DamMYKX+arbh8kFl5F485RfJ1RzpnFl/74wawDKXnSL q46Ry19M= X-Gm-Gg: AfdE7cleBwSV0bqdtvUO9JWhJlzmys8hA0jjXQF/jzSyFfnTRC3wB5YdIzAqUfW0d+J vGFZS5gKdgZaYGhx0ZNtlTtJk3k1lvK5WJhFTex3g5E5ospaK7cxiaZ6STWxnS12bsOYxAAKdnI ruUQgLBX9cJueabQWAPlhaITp7F1a0DfDCg3Af5nA0Ga+Jqd7FlGB4KjufWEbLy7WfeeKSWz1nW Qqq0xMHhjgRPP6u3yNscPZMgoxBbpZQ8+QE75O92c3QiPRXM7TazItG1PRRTzTo30B4r0sXhe4S s/2LoJltDh/nCpBwB6EvCAPCqYTi4ml/4K3R1G3jJZ2xb5UZiK6hKve2P072isjsUibkzWz6TQo 7f+ypLhtNFAAKPya/CP9J74oy0oipHO/z15Ps0yGsKk85HAuEVriK6vHwL2zWhvMsa+zuxgYrkK wGMN4r/Q4hsS8vTbxSy46NFQ1Q7OnE5zZXzclnGsxTAs8OcQnAazX0ZC10upgsvHtWXteFCoRrl 3AN5m0X9BvUX5YWQBYh0WkJx/XMRFtYjCDpuagrIdz1ILiveZ3DZWUoa+Uy2TDR7kPqqRDeA6Di BTuHIP36dStqc+xV6DNT X-Received: by 2002:a05:600c:4e55:b0:490:b71f:2ed with SMTP id 5b1f17b1804b1-4925989e231mr67684255e9.5.1782290136385; Wed, 24 Jun 2026 01:35:36 -0700 (PDT) Received: from naush-dell.pitowers.org ([2a00:1098:3142:1f:4e02:b684:b0f9:89f0]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49260d77e8asm23857675e9.1.2026.06.24.01.35.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 01:35:35 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: laurent.pinchart@ideasonboard.com, david.plowman@raspberrypi.com, Naushir Patuck Subject: [PATCH 2/2] pipeline: rpi: pisp: Ensure we don't run our SW correction with packed Date: Wed, 24 Jun 2026 09:24:32 +0100 Message-ID: <20260624082705.272795-3-naush@raspberrypi.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260624082705.272795-1-naush@raspberrypi.com> References: <20260624082705.272795-1-naush@raspberrypi.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" Due to hardware bugs in the CSI-2 RX, we need to unpack 14-bit CSI-2 packed samples and swap endian order in 16-bit samples both in software. These SW routines only work on unpacked/uncompresssed samples. For this reason, ensure the user cannot configure 14/16-bit RAW streams with PiSP Bayer compression in platformValidate(). Signed-off-by: Naushir Patuck Reviewed-by: David Plowman --- src/libcamera/pipeline/rpi/pisp/pisp.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libcamera/pipeline/rpi/pisp/pisp.cpp b/src/libcamera/pipeline/rpi/pisp/pisp.cpp index b744c901f751..8e8da116ef6f 100644 --- a/src/libcamera/pipeline/rpi/pisp/pisp.cpp +++ b/src/libcamera/pipeline/rpi/pisp/pisp.cpp @@ -1223,6 +1223,17 @@ PiSPCameraData::platformValidate(RPi::RPiCameraConfiguration *rpiConfig) const status = CameraConfiguration::Adjusted; } + unsigned bpp = MediaBusFormatInfo::info(rpiConfig->sensorFormat_.code).bitsPerPixel; + if ((bpp == 16 || bpp == 14) && + bayer.packing != BayerFormat::Packing::None) { + LOG(RPI, Info) + << "The sensor is configured for a 16/14-bit output, " + << "compression is not available for SW fixups needed."; + bayer.packing = BayerFormat::Packing::None; + rawStream->pixelFormat = bayer.toPixelFormat(); + status = CameraConfiguration::Adjusted; + } + rawStreams[0].format = RPi::PipelineHandlerBase::toV4L2DeviceFormat(cfe_[Cfe::Output0].dev(), rawStream);