From patchwork Wed Dec 17 10:01:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 25591 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 0060EC3274 for ; Wed, 17 Dec 2025 10:02:20 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8AE3561E53; Wed, 17 Dec 2025 11:02:20 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="SmZJR3xo"; dkim-atps=neutral Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 68FAD61D25 for ; Wed, 17 Dec 2025 11:02:05 +0100 (CET) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-47775fb6c56so43866705e9.1 for ; Wed, 17 Dec 2025 02:02:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1765965725; x=1766570525; 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=enuSJNXFUuoTYs1Tq2LkRLCCtdszeCb+2wiWiBmGXZE=; b=SmZJR3xoP1ShFvmRMRhOrovj7zQtpz7iZEn/JQM2gXuM7jc9hkIHK2NEzM9OR9h6Gp HLJkA4yBPfEaGEmLFILd8d6blPUmQhiH84aD2j96Oa228bKpPGcMpio84IJjLDI4HzqN mNpTOem0+oMO0gASFQHCLlxfFnb0VI9k0ye5S+YTxbaVkp18UQjM0XnHB6XCtwv63FDN u9iGR4fSSKTVWHvWYxA5E9bwStvaJVpLi3WRib+gjEqWqfB0aflGYpYS6zg5I9J0Xm5C x8PjX4PyYl7nhbI/hY6htuRLJg+CVF5tXFdq/KJuRvH+lsXInlsiVPvE66QsxQyoJjUA dXUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765965725; x=1766570525; 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=enuSJNXFUuoTYs1Tq2LkRLCCtdszeCb+2wiWiBmGXZE=; b=edAMR/mpYbxpOmkSzM4X3Cza/OyWlv1oNU9LR+TFl40s31xvowfS/mTJ4oJvMZuPnq L+dMhZlK3r1Rt2anGXGizWBlMFB4diNNvzKfrdjpj7gaSVIV9aBIbW2PGxX2LjokAEmB bf31AS+Y7wEuV8DQJ8yG9BHjymO4oVHvAm74uY4WrLok4lBkoSDLFCfrbJbRwZ6/BhqF 6xs6C2VNyk7N53k6TjyX/LAz/gu6jO1bWR9kI5TLBb9hSqVW6bHcTAa0Tbb+0hke9qIw sAING9eoJeWofHh9+RGlDLAauAFHKiWrXO3pBuCCubtX/TVhXbNINGtNlxI+YoEdS07S JA0g== X-Gm-Message-State: AOJu0YyhsdLDSWVVbV+v3zAhVzdFzc4oLVbwbkAPNk2EoCoSIBFyb6Kw cmn0nTb7GZB/lfUiRqfC3DVxur7gPxlpmI6xyj1K6RtllMpFth1n1UJuazpN+ORimJHPtj95N+v ODcli X-Gm-Gg: AY/fxX7m5qiQ183/5/Lznag8/NBO7OL8eSu5WmhPARy4mcnoaZdF5RSOgmbKT5SyZ4e Ujkt15cnpY2EFXWFpQekqNBcSfukG2xHRbJ1ilgOsFWrHz6jvLE+tES7O1tJh5oAGpyC2Z+grgg W6EDifU8/Xskyebk89VrFsKWk5H28K+isrvr8CBmZtdx5zXRUj95QQ389UHyf+PP+5+An1Za1me 2Bx8H7sYGvQ4sxDxf95c7r8QoGepE992dqmlXPa/dTyDKglERZMYiSnZnULzNQ8Ry6oaZE01N/L yUYX523CfNs9EtxUgGsHC+4j9u1mB7lciGR9SFv4jOIOBO01DBbku67/A4/MQgkRnLkaWlxrdmN jwjWoAm8aFbgSJ0USRRppmSptb6uc+GMjGeu9o+jhUwXLssrpm8jntpJu8RU3m0DO4cA8Pfa0/Z klRjc26x2mK3ro8FebM1BF0SKL8lVAnWZxYBneoabVS/G4dcsWM1WXXCgRWqg7OcoJH1sEGimus PPyxw== X-Google-Smtp-Source: AGHT+IGIl6zDPcaMabha87p4zxnchXK2Md3KfugTXh6klJNVTsZH2VgWQOQ+SZkoU8GD8kuAlnM5mQ== X-Received: by 2002:a05:600c:4e56:b0:477:569c:34e9 with SMTP id 5b1f17b1804b1-47a8f906ddemr168578565e9.23.1765965724563; Wed, 17 Dec 2025 02:02:04 -0800 (PST) Received: from inspiron14p-linux.ht.home (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47bdc1583fbsm32292585e9.0.2025.12.17.02.02.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Dec 2025 02:02:04 -0800 (PST) From: Bryan O'Donoghue To: libcamera-devel@lists.libcamera.org Cc: pavel@ucw.cz, Bryan O'Donoghue , Milan Zamazal Subject: [PATCH v9 18/26] libcamera: software_isp: debayer_egl: Make gpuisp default softisp mode Date: Wed, 17 Dec 2025 10:01:30 +0000 Message-ID: <20251217100138.82525-19-bryan.odonoghue@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20251217100138.82525-1-bryan.odonoghue@linaro.org> References: <20251217100138.82525-1-bryan.odonoghue@linaro.org> 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 some cases the GPU can deliver 15x performance in Debayer with the CCM on, reference hardware Qualcomm RB5 with IMX512 sensor. Given this large performance difference it makes sense to make GPUISP the default for the Software ISP. If LIBCAMERA_SOFTISP_MODE is omitted gpu will be the default. If libcamera is compiled without gpuisp support, CPU Debayer will be used. It is still possible to select CPU mode with LIBCAMERA_SOFISP_MODE=cpu. Reviewed-by: Milan Zamazal Signed-off-by: Bryan O'Donoghue --- src/libcamera/software_isp/software_isp.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libcamera/software_isp/software_isp.cpp b/src/libcamera/software_isp/software_isp.cpp index efe44e393..7fde57aec 100644 --- a/src/libcamera/software_isp/software_isp.cpp +++ b/src/libcamera/software_isp/software_isp.cpp @@ -123,8 +123,15 @@ SoftwareIsp::SoftwareIsp(PipelineHandler *pipe, const CameraSensor *sensor, #if HAVE_DEBAYER_EGL std::optional softISPMode = configuration.envOption("LIBCAMERA_SOFTISP_MODE", { "software_isp", "mode" }); + if (softISPMode) { + if (softISPMode != "gpu" && softISPMode != "cpu") { + LOG(SoftwareIsp, Error) << "LIBCAMERA_SOFISP_MODE " << softISPMode.value() << " invalid " + << "must be \"cpu\" or \"gpu\""; + return; + } + } - if (softISPMode && softISPMode == "gpu") { + if (!softISPMode || softISPMode == "gpu") { debayer_ = std::make_unique(std::move(stats), configuration); if (!debayer_) { LOG(SoftwareIsp, Error) << "Failed to instantiate GPUISP";