Patch Detail
Show a patch.
GET /api/1.1/patches/14128/?format=api
{ "id": 14128, "url": "https://patchwork.libcamera.org/api/1.1/patches/14128/?format=api", "web_url": "https://patchwork.libcamera.org/patch/14128/", "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": "<20211013154125.133419-14-jeanmichel.hautbois@ideasonboard.com>", "date": "2021-10-13T15:41:25", "name": "[libcamera-devel,13/13] ipa: ipu3: agc: Remove unused variables", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "f7faf227103c3448b01f0637c9dd7df343b44070", "submitter": { "id": 75, "url": "https://patchwork.libcamera.org/api/1.1/people/75/?format=api", "name": "Jean-Michel Hautbois", "email": "jeanmichel.hautbois@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/14128/mbox/", "series": [ { "id": 2623, "url": "https://patchwork.libcamera.org/api/1.1/series/2623/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2623", "date": "2021-10-13T15:41:13", "name": "ipa: ipu3: Fix AGC bugs", "version": 1, "mbox": "https://patchwork.libcamera.org/series/2623/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/14128/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/14128/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 E085EBDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 13 Oct 2021 15:41:45 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A431268F5C;\n\tWed, 13 Oct 2021 17:41:45 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4209F68F5F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 13 Oct 2021 17:41:33 +0200 (CEST)", "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:3857:aa01:4281:bd9f])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C299E18FF;\n\tWed, 13 Oct 2021 17:41:32 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"BmnegxZv\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1634139692;\n\tbh=aq8KohAFBHd3KTwqBHD1wtWzCRFutqLeVPvKI/v7WeQ=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=BmnegxZvD7SzApYctQQO54dcJbNwUhb144HfsglEV1ZwEXFubMCN6dlFBOi9I72Nk\n\t1D8k6ePalmzAhrMhPtnbnG4tn1Mw7jO07mBa+tPt/N0SiF1xCByS6ys8WhRVjLd5+Z\n\ttsMU3OD4tIQnW717EeV53KIQs02nf02cewb1Aro8=", "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Wed, 13 Oct 2021 17:41:25 +0200", "Message-Id": "<20211013154125.133419-14-jeanmichel.hautbois@ideasonboard.com>", "X-Mailer": "git-send-email 2.30.2", "In-Reply-To": "<20211013154125.133419-1-jeanmichel.hautbois@ideasonboard.com>", "References": "<20211013154125.133419-1-jeanmichel.hautbois@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 13/13] ipa: ipu3: agc: Remove unused\n\tvariables", "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": "We currently control the exposure value by the shutter speed and the\nanalogue gain. We can't use the digital gain to have more than the\nmaximum exposure value calculated because we are not controlling it.\n\nRemove unused code associated with this digital gain.\n\nSigned-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n---\n src/ipa/ipu3/algorithms/agc.cpp | 19 +++----------------\n src/ipa/ipu3/algorithms/agc.h | 2 --\n 2 files changed, 3 insertions(+), 18 deletions(-)", "diff": "diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp\nindex 81eaf436..0177bb92 100644\n--- a/src/ipa/ipu3/algorithms/agc.cpp\n+++ b/src/ipa/ipu3/algorithms/agc.cpp\n@@ -46,8 +46,7 @@ static constexpr double kEvGainTarget = 0.5;\n Agc::Agc()\n \t: frameCount_(0), lastFrame_(0), iqMean_(0.0), lineDuration_(0s),\n \t minExposureLines_(0), maxExposureLines_(0), filteredExposure_(0s),\n-\t filteredExposureNoDg_(0s), currentExposure_(0s),\n-\t currentExposureNoDg_(0s), prevExposureValue(0s)\n+\t currentExposure_(0s), prevExposureValue(0s)\n {\n }\n \n@@ -96,7 +95,6 @@ void Agc::filterExposure()\n \tif (filteredExposure_ == 0s) {\n \t\t/* DG stands for digital gain.*/\n \t\tfilteredExposure_ = currentExposure_;\n-\t\tfilteredExposureNoDg_ = currentExposureNoDg_;\n \t} else {\n \t\t/*\n \t\t * If we are close to the desired result, go faster to avoid making\n@@ -109,18 +107,8 @@ void Agc::filterExposure()\n \n \t\tfilteredExposure_ = speed * currentExposure_ +\n \t\t\t\tfilteredExposure_ * (1.0 - speed);\n-\t\tfilteredExposureNoDg_ = speed * currentExposureNoDg_ +\n-\t\t\t\tfilteredExposureNoDg_ * (1.0 - speed);\n \t}\n-\t/*\n-\t * We can't let the no_dg exposure deviate too far below the\n-\t * total exposure, as there might not be enough digital gain available\n-\t * in the ISP to hide it (which will cause nasty oscillation).\n-\t */\n-\tdouble fastReduceThreshold = 0.4;\n-\tif (filteredExposureNoDg_ <\n-\t filteredExposure_ * fastReduceThreshold)\n-\t\tfilteredExposureNoDg_ = filteredExposure_ * fastReduceThreshold;\n+\n \tLOG(IPU3Agc, Debug) << \"After filtering, total_exposure \" << filteredExposure_;\n }\n \n@@ -136,8 +124,7 @@ void Agc::lockExposureGain(uint32_t &exposure, double &analogueGain)\n \n \t/* extracted from Rpi::Agc::computeTargetExposure */\n \tDuration currentShutter = exposure * lineDuration_;\n-\tcurrentExposureNoDg_ = currentShutter * analogueGain;\n-\tLOG(IPU3Agc, Debug) << \"Actual total exposure \" << currentExposureNoDg_\n+\tLOG(IPU3Agc, Debug) << \"Actual total exposure \" << currentShutter * analogueGain\n \t\t\t\t<< \" Shutter speed \" << currentShutter\n \t\t\t\t<< \" Gain \" << analogueGain\n \t\t\t\t<< \" Needed ev gain \" << evGain;\ndiff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h\nindex 32817c4f..5b34c013 100644\n--- a/src/ipa/ipu3/algorithms/agc.h\n+++ b/src/ipa/ipu3/algorithms/agc.h\n@@ -48,9 +48,7 @@ private:\n \tuint32_t maxExposureLines_;\n \n \tDuration filteredExposure_;\n-\tDuration filteredExposureNoDg_;\n \tDuration currentExposure_;\n-\tDuration currentExposureNoDg_;\n \tDuration prevExposureValue;\n \n \tuint32_t stride_;\n", "prefixes": [ "libcamera-devel", "13/13" ] }