Patch Detail
Show a patch.
GET /api/1.1/patches/20337/?format=api
{ "id": 20337, "url": "https://patchwork.libcamera.org/api/1.1/patches/20337/?format=api", "web_url": "https://patchwork.libcamera.org/patch/20337/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20240616163910.5506-10-laurent.pinchart@ideasonboard.com>", "date": "2024-06-16T16:39:07", "name": "[09/12] ipa: rkisp1: agc: Use mode from frame context to calculate new EV", "commit_ref": "b53c6de03fce3b1ca8941292fdefd1f875add537", "pull_url": null, "state": "accepted", "archived": false, "hash": "14cb95c7035e0c01dae897ee38dc6c9cfc4d55a4", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/20337/mbox/", "series": [ { "id": 4400, "url": "https://patchwork.libcamera.org/api/1.1/series/4400/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4400", "date": "2024-06-16T16:38:58", "name": "ipa: rkisp1: Miscellaneous AGC fixes", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4400/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/20337/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/20337/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 4B549C32D0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 16 Jun 2024 16:39:58 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5C21A654A5;\n\tSun, 16 Jun 2024 18:39:57 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 93DC9654A2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 16 Jun 2024 18:39:43 +0200 (CEST)", "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4464B581\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 16 Jun 2024 18:39:27 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"P8FJwDhZ\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1718555967;\n\tbh=wV66rHTTxgF6HYtzo7gxMBuiUra1Pb0uzhzCBTZfLik=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=P8FJwDhZudfGTOKdaMpknTYOtcmj3nP2Yl5aj1wD9C7KemIsPCOqMnnB0S3P9KvT3\n\tunP2HraBL4b/70YR6uxhh6jxfjUfwmYpRrIrAXCfG4kwje+kdzFGfIfXWmceQHZ62x\n\tMpGIkqiAAeSMkUKx5dwNevKJDDus22Qv8Ceu9E5M=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Subject": "[PATCH 09/12] ipa: rkisp1: agc: Use mode from frame context to\n\tcalculate new EV", "Date": "Sun, 16 Jun 2024 19:39:07 +0300", "Message-ID": "<20240616163910.5506-10-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.44.2", "In-Reply-To": "<20240616163910.5506-1-laurent.pinchart@ideasonboard.com>", "References": "<20240616163910.5506-1-laurent.pinchart@ideasonboard.com>", "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 effective exposure value for each frame is split into shutter time,\nanalog gain and digital gain based on the AGC constraint mode and\nexposure mode. The algorithm uses the modes from the active state, which\ntracks the latest queued request, instead of the frame context, which\ntracks the value of the controls requested for that frame. Fix it by\nusing the correct modes.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/agc.cpp | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp\nindex a61201bb05c9..6a199b47c9ad 100644\n--- a/src/ipa/rkisp1/algorithms/agc.cpp\n+++ b/src/ipa/rkisp1/algorithms/agc.cpp\n@@ -439,8 +439,8 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,\n \tutils::Duration shutterTime;\n \tdouble aGain, dGain;\n \tstd::tie(shutterTime, aGain, dGain) =\n-\t\tcalculateNewEv(context.activeState.agc.constraintMode,\n-\t\t\t context.activeState.agc.exposureMode,\n+\t\tcalculateNewEv(frameContext.agc.constraintMode,\n+\t\t\t frameContext.agc.exposureMode,\n \t\t\t hist, effectiveExposureValue);\n \n \tLOG(RkISP1Agc, Debug)\n", "prefixes": [ "09/12" ] }