From patchwork Wed Feb 26 15:59:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 22881 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 60EADBF415 for ; Wed, 26 Feb 2025 15:59:41 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7043A68748; Wed, 26 Feb 2025 16:59:40 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="R7CaZ76W"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 37C3B60322 for ; Wed, 26 Feb 2025 16:59:39 +0100 (CET) Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:2b29:76dc:a5a9:647c]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 33103497; Wed, 26 Feb 2025 16:58:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1740585491; bh=fTDfn2k2mQgcIwRMTr6w93UQiNGARRA4UkJ7xcEh7g0=; h=From:To:Cc:Subject:Date:From; b=R7CaZ76WCMwgdCdHc8ydOk8SZ7Nicg7H4VHJ5PIXEZerxlk/xL27StBuV/pXHksIc 8XYtWw65SJ9E/AywOgoWmj0ZBhCT0x3Y1V6Aa/+0tPhFCUOrD1znhycxNJNUZh3rJQ MtuOStNDiCH9dkRwpuYKUmDYSq10tLaWM9DUbdFg= From: Stefan Klug To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH] ipa: rkisp1: Allow exposure time to be shorter than minimum frame duration limit Date: Wed, 26 Feb 2025 16:59:26 +0100 Message-ID: <20250226155933.2755475-1-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 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" The minimum FrameDurationLimit also limits the min exposure time and results in overly bright AE regulation. Remove the limit on the minimum exposure time as the vertical blanking ensures the minimum frame duration limit. Fixes: f72c76eb6e06 ("rkisp1: Honor the FrameDurationLimits control") Signed-off-by: Stefan Klug Reviewed-by: Kieran Bingham Tested-by: Kieran Bingham Reviewed-by: Jacopo Mondi --- src/ipa/rkisp1/algorithms/agc.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp index 4e0e3734117e..5a3ba0131cf1 100644 --- a/src/ipa/rkisp1/algorithms/agc.cpp +++ b/src/ipa/rkisp1/algorithms/agc.cpp @@ -526,9 +526,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame, double maxAnalogueGain; if (frameContext.agc.autoExposureEnabled) { - minExposureTime = std::clamp(frameContext.agc.minFrameDuration, - context.configuration.sensor.minExposureTime, - context.configuration.sensor.maxExposureTime); + minExposureTime = context.configuration.sensor.minExposureTime; maxExposureTime = std::clamp(frameContext.agc.maxFrameDuration, context.configuration.sensor.minExposureTime, context.configuration.sensor.maxExposureTime);