{"id":22881,"url":"https://patchwork.libcamera.org/api/1.1/patches/22881/?format=json","web_url":"https://patchwork.libcamera.org/patch/22881/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250226155933.2755475-1-stefan.klug@ideasonboard.com>","date":"2025-02-26T15:59:26","name":"ipa: rkisp1: Allow exposure time to be shorter than minimum frame duration limit","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"902e065e700be0bd6591ebd175ebb92075b98fbf","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/1.1/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22881/mbox/","series":[{"id":5025,"url":"https://patchwork.libcamera.org/api/1.1/series/5025/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5025","date":"2025-02-26T15:59:26","name":"ipa: rkisp1: Allow exposure time to be shorter than minimum frame duration limit","version":1,"mbox":"https://patchwork.libcamera.org/series/5025/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22881/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22881/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 60EADBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 26 Feb 2025 15:59:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7043A68748;\n\tWed, 26 Feb 2025 16:59:40 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 37C3B60322\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Feb 2025 16:59:39 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:2b29:76dc:a5a9:647c])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 33103497;\n\tWed, 26 Feb 2025 16:58:11 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"R7CaZ76W\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1740585491;\n\tbh=fTDfn2k2mQgcIwRMTr6w93UQiNGARRA4UkJ7xcEh7g0=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=R7CaZ76WCMwgdCdHc8ydOk8SZ7Nicg7H4VHJ5PIXEZerxlk/xL27StBuV/pXHksIc\n\t8XYtWw65SJ9E/AywOgoWmj0ZBhCT0x3Y1V6Aa/+0tPhFCUOrD1znhycxNJNUZh3rJQ\n\tMtuOStNDiCH9dkRwpuYKUmDYSq10tLaWM9DUbdFg=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","Subject":"[PATCH] ipa: rkisp1: Allow exposure time to be shorter than minimum\n\tframe 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","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The minimum FrameDurationLimit also limits the min exposure time and\nresults in overly bright AE regulation. Remove the limit on the minimum\nexposure time as the vertical blanking ensures the minimum frame\nduration limit.\n\nFixes: f72c76eb6e06 (\"rkisp1: Honor the FrameDurationLimits control\")\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/agc.cpp | 4 +---\n 1 file changed, 1 insertion(+), 3 deletions(-)","diff":"diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp\nindex 4e0e3734117e..5a3ba0131cf1 100644\n--- a/src/ipa/rkisp1/algorithms/agc.cpp\n+++ b/src/ipa/rkisp1/algorithms/agc.cpp\n@@ -526,9 +526,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,\n \tdouble maxAnalogueGain;\n \n \tif (frameContext.agc.autoExposureEnabled) {\n-\t\tminExposureTime = std::clamp(frameContext.agc.minFrameDuration,\n-\t\t\t\t\t     context.configuration.sensor.minExposureTime,\n-\t\t\t\t\t     context.configuration.sensor.maxExposureTime);\n+\t\tminExposureTime = context.configuration.sensor.minExposureTime;\n \t\tmaxExposureTime = std::clamp(frameContext.agc.maxFrameDuration,\n \t\t\t\t\t     context.configuration.sensor.minExposureTime,\n \t\t\t\t\t     context.configuration.sensor.maxExposureTime);\n","prefixes":[]}