Show a patch.

GET /api/1.1/patches/14235/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 14235,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/14235/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/14235/",
    "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": "<20211021164401.110033-14-jeanmichel.hautbois@ideasonboard.com>",
    "date": "2021-10-21T16:44:00",
    "name": "[libcamera-devel,v3,13/14] ipa: ipu3: agc: Remove unused variables",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "8f1449941c1d53f01c1d314689ecac8df533c533",
    "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/14235/mbox/",
    "series": [
        {
            "id": 2646,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2646/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2646",
            "date": "2021-10-21T16:43:47",
            "name": "ipa: ipu3: Fix AGC bugs",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/2646/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/14235/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/14235/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 DEBA1BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 21 Oct 2021 16:44:22 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 77E3A68F58;\n\tThu, 21 Oct 2021 18:44:22 +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 0F05468F66\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 21 Oct 2021 18:44:08 +0200 (CEST)",
            "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:f9d:5926:ad90:4996])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BAC88276;\n\tThu, 21 Oct 2021 18:44:07 +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=\"oFeKQ/AE\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1634834647;\n\tbh=YQz84iqHXQQkhtZTBWbSavUwMYXPPfr2v/mO0lATRgM=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=oFeKQ/AEESbub0l+ihZtkATnSwHXnrZmg0wgEejeAkJsY4OQEbpIgtEtqtW93uznG\n\tVG4iVfJ+ljNVu9/S2MjPhH6jRpHgL2xnE2TEKz5NjIma7PHbFWqwApwYUOJuZ0qitF\n\twoSQswOnYb0KulAU1EMB5hR9uHFsN8sqlzCW/+8A=",
        "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 21 Oct 2021 18:44:00 +0200",
        "Message-Id": "<20211021164401.110033-14-jeanmichel.hautbois@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.32.0",
        "In-Reply-To": "<20211021164401.110033-1-jeanmichel.hautbois@ideasonboard.com>",
        "References": "<20211021164401.110033-1-jeanmichel.hautbois@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 13/14] 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>\nReviewed-by: Laurent Pinchart <laurent.pinchart@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 7ff3029b..be59d0b0 100644\n--- a/src/ipa/ipu3/algorithms/agc.cpp\n+++ b/src/ipa/ipu3/algorithms/agc.cpp\n@@ -42,8 +42,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@@ -102,7 +101,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@@ -115,18 +113,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@@ -145,8 +133,7 @@ void Agc::lockExposureGain(uint32_t &exposure, double &analogueGain)\n \n \t/* extracted from Rpi::Agc::computeTargetExposure */\n \tutils::Duration 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    << \" Shutter speed \" << currentShutter\n \t\t\t    << \" Gain \" << analogueGain\n \t\t\t    << \" Needed ev gain \" << evGain;\ndiff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h\nindex 2ae88e9f..ad133b98 100644\n--- a/src/ipa/ipu3/algorithms/agc.h\n+++ b/src/ipa/ipu3/algorithms/agc.h\n@@ -46,9 +46,7 @@ private:\n \tuint32_t maxExposureLines_;\n \n \tutils::Duration filteredExposure_;\n-\tutils::Duration filteredExposureNoDg_;\n \tutils::Duration currentExposure_;\n-\tutils::Duration currentExposureNoDg_;\n \tutils::Duration prevExposureValue_;\n \n \tuint32_t stride_;\n",
    "prefixes": [
        "libcamera-devel",
        "v3",
        "13/14"
    ]
}