From patchwork Wed May 6 23:07:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: devve X-Patchwork-Id: 26664 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 D4D9CC3304 for ; Wed, 6 May 2026 23:07:40 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8C10A6303C; Thu, 7 May 2026 01:07:38 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fxaxeS4g"; dkim-atps=neutral Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id CBF0963024 for ; Thu, 7 May 2026 01:07:34 +0200 (CEST) Received: by mail-qk1-x736.google.com with SMTP id af79cd13be357-8f0a87e23daso21937785a.1 for ; Wed, 06 May 2026 16:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778108854; x=1778713654; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=hUmrEbZjTFn8jTOOzmHe5n0FPgz7UNB05AkPrRPSWF8=; b=fxaxeS4gQWIFAmA/cKbbh5gEZUQ/TZrb/pfjCPQx2UvvxWp+5OkjiVBFW+r5UmwYp9 0gVBgk410p4Aneq76fz97VkK2aJRNsswRd1rBu0DM5h/5YT4Q//Jcm/D9P+PdtzZ97Lc 1ltLXG50YXQXkAXu28ZyjaIOdGt6hpcsyl65ghtFp4y8vTnjFHmOXxKDBSjg9fGIvKrl HODqorsHHSlMcf49WzEmNa+mQIDFzgALdTcrBnNHroX1O6gxIBtr0XAbCV0XUWmkCeyN dF8RInoriZt21Xa3ScbLQErJa/EUyrOG+CbpkR3n5ml+I+ZKymaEQLXpeJB7mlEuuyy4 WKaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778108854; x=1778713654; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=hUmrEbZjTFn8jTOOzmHe5n0FPgz7UNB05AkPrRPSWF8=; b=nruXAQpphwKceXdGTYbU0xJlhWH/w+dSlKi+6V8HIEHu6JIGSsehtrPCrT5sSvCKIs EEmqLaefhg5+jUV5Fq3OV7A5Ace4tWlR1ra9a4p5/eMBak/cnYPWAaoqLYJUIoT1lgRc Kc5EIWYuVG8JSpCsJ1Cstsfpo3L4+Gcc1Xptje6dNl/l/msoKCp8JTQWUq+/15oZcW9N 1pKDttIShv6xK31kE3qgWLOLW6EJPeqcntWslHDhzJLMaj54StmEPhToxiJVBRRRirTr BaF7ik+zj2erVQUNnlxmal6ONHcwv0W9RpCmK1mxzpCSKC6voqv2tjuLc67894ObvfbW Bdzg== X-Gm-Message-State: AOJu0YwVpPKya4dXeSTZlwwepePJnLhL73OTOXCa7xEpP9Br/n3jn2iC cg6Ucqkt/j/YK/ipUhuNAqSzb2wbNnUpCqvJgGSjRJ9zDGjKDoptloC3JF2U7A== X-Gm-Gg: AeBDietG2I5aRCDQPPsP3O1uxiwtQDgWDgV83icKZA65FuAYN6kLe+fJCb7x1XXMxua xMvy1F2Z6fBzn7fWgmIAt1I2YxF7jyPKuNM6DqcRWGgSAO25Ox5gTIeQlTaFZCZg1s6gQYfvEWZ 9DbnO7nS9VnVPLJr6PPWi05rEJ4kH2vUWZjObGDTgjHD6EC0lvBpGg01h6o0vfgdTUl6V4fHA2Q L1W5BlqdoPcWNmO/wQa1Gmuf3GYaDkA+PHA5wRn3Dihx8ft9ovU9bYHRDPG9rE83lCXWV9ZTImv 8PusrMxtiCAD7MZdagYskzjtUbMHMfp14nYxSJtvyHtHNuw5bqPR7FXWXmee6OIo88eWcdKvwH2 Dub5HKRkMdeBggz4yp0DOOKtunuLzCnz5HwOK6sBr7LRpwA9Dw/ZVTbZHmPGc6oZ1liLVJ/tiAx pupra+5mgC5cN7qAmlK4KsNey+YJurZ7f6gz9lO8USNcHr5Ve5cWJ2dkOaKaAQYABZStkkmG+o/ 2MOF6RBumC2EzkzX/Rm5UqmvYNfDheO20TZ3Wtarkg= X-Received: by 2002:a05:620a:29c1:b0:8eb:f3c7:2246 with SMTP id af79cd13be357-904d60f60e3mr886020185a.35.1778108853719; Wed, 06 May 2026 16:07:33 -0700 (PDT) Received: from dexps.speedport.ip (p200300eda74453cf3cf3f7929e513b94.dip0.t-ipconnect.de. [2003:ed:a744:53cf:3cf3:f792:9e51:3b94]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8fc2c25324esm2035266385a.23.2026.05.06.16.07.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 16:07:33 -0700 (PDT) From: d3vv3 To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 07/10] ipa: libipa: camera_sensor_helper: Add OV2740 black level Date: Thu, 7 May 2026 01:07:19 +0200 Message-ID: <20260506230722.1041596-8-devve.3@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260506230722.1041596-1-devve.3@gmail.com> References: <20260506230722.1041596-1-devve.3@gmail.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" From: Javier Tia Set blackLevel_ = 4096 (0x40 at 10-bit) in CameraSensorHelperOv2740. The OV2740 kernel driver programs BLC target register 0x4003 with 0x40 for the 180 MHz link frequency mode. This matches the same pattern used by OV5675 and other OmniVision sensors with a 10-bit black level of 64. Without this, the Simple pipeline falls back to auto-guessing the black level, which happens to arrive at the same value but isn't documented. More importantly, the CameraSensorHelper is the canonical location for sensor calibration data and is used across all pipeline handlers, not just Simple. Suggested-by: Robert Mader Signed-off-by: Javier Tia Reviewed-by: Milan Zamazal Reviewed-by: Kieran Bingham Signed-off-by: d3vv3 --- src/ipa/libipa/camera_sensor_helper.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp index 72466867..f3e8d7c8 100644 --- a/src/ipa/libipa/camera_sensor_helper.cpp +++ b/src/ipa/libipa/camera_sensor_helper.cpp @@ -684,6 +684,8 @@ class CameraSensorHelperOv2740 : public CameraSensorHelper public: CameraSensorHelperOv2740() { + /* From Linux kernel driver: 0x40 at 10bits. */ + blackLevel_ = 4096; gain_ = AnalogueGainLinear{ 1, 0, 0, 128 }; } };