{"id":22440,"url":"https://patchwork.libcamera.org/api/1.1/covers/22440/?format=json","web_url":"https://patchwork.libcamera.org/cover/22440/","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":"<20241220162724.756494-1-stefan.klug@ideasonboard.com>","date":"2024-12-20T16:26:46","name":"[RFC,0/7] Improve regulation on rkisp1","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/1.1/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/22440/mbox/","series":[{"id":4925,"url":"https://patchwork.libcamera.org/api/1.1/series/4925/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4925","date":"2024-12-20T16:26:46","name":"Improve regulation on rkisp1","version":1,"mbox":"https://patchwork.libcamera.org/series/4925/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/22440/comments/","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 287A1C327D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Dec 2024 16:27:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C663C684B1;\n\tFri, 20 Dec 2024 17:27:29 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EB943684A5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 17:27:27 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:4eeb:7fa7:1fd0:c13d])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 831EFB2B;\n\tFri, 20 Dec 2024 17:26:48 +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=\"XmkpN8v1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734712008;\n\tbh=Twsi5KWeq8yPsfcweeDhEhVptvFHGRG/k/iNcnbLKmE=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=XmkpN8v1djUK3I8gfzmOjH2TV4wGKs6wYewI3nYOPfDONoW9jDBbE4/uwo279vzlt\n\t6CmMNW3zvt1nGR686hIlXM3ylja7QvAli86On9h4+p141P0WKOaT+EUAWMgahb+sHW\n\tTd7vqHrdF4Q3AhI+DUsE9aRRDRzlylBmzYmYQaG4=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","Subject":"[RFC PATCH 0/7] Improve regulation on rkisp1","Date":"Fri, 20 Dec 2024 17:26:46 +0100","Message-ID":"<20241220162724.756494-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":"Hi all,\n\nI was looking at some strange AE regulation issues on imx8mp (massive\noscillations and going to a complete white image in the beginning). This\nseries adds a few fixes in that area and maybe eases debugging a little\nbit.\n\nPatch 1-3 add a sequence number to DelayedControls::push() without\nmodifying the existing behaviour. This helps in spotting asymetric\npush()/apply()/get() calls.\n\nPatch 4-7 add handling of controls supplied to camera->start() for the\nrkisp1 pipeline. This has the nice side effect, that initial settings\nfrom the AGC module get applied to the sensor before start.\n\nWith this series the startup behavior on my setup has greatly improved.\n\nThere is still some more testing needed, but it would be great to get\nsome feedback on this.\n\nBest regards & Merry Christmas\nStefan\n\n\n\nStefan Klug (7):\n  libcamera: delayed_controls: Add push() function that accepts a\n    sequence number\n  libcamera: delayed_controls: Increase log level for dummy pushes\n  pipeline: rkisp1: Include frame number when pushing to delayed\n    controls\n  pipeline: rkisp1: Refactor setControls()\n  pipeline: rkisp1: Apply initial controls\n  ipa: rkisp1: Add a lookahead of one frame when sending sensor controls\n  ipa: rkisp1: Set frameContext.agc in queueRequest for auto mode also\n\n include/libcamera/internal/delayed_controls.h |  1 +\n include/libcamera/ipa/rkisp1.mojom            |  7 +++-\n src/ipa/rkisp1/algorithms/agc.cpp             | 10 +++---\n src/ipa/rkisp1/rkisp1.cpp                     | 36 +++++++++++--------\n src/libcamera/delayed_controls.cpp            | 35 ++++++++++++++++--\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 15 +++++---\n 6 files changed, 76 insertions(+), 28 deletions(-)"}