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);