Show a patch.

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

{
    "id": 20335,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/20335/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/20335/",
    "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-8-laurent.pinchart@ideasonboard.com>",
    "date": "2024-06-16T16:39:05",
    "name": "[07/12] ipa: rkisp1: agc: Don't update histogram parameters unnecessarily",
    "commit_ref": "05d0f952a36c40392a9c8ccf86d3567a64ecba32",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "03974715687f3a69f644207b9f0c74dff3869df7",
    "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/20335/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/20335/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/20335/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 73A59C32CF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 16 Jun 2024 16:39:55 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EE5A9654A3;\n\tSun, 16 Jun 2024 18:39:54 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EF89E6549C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 16 Jun 2024 18:39:40 +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 9B404581\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 16 Jun 2024 18:39:24 +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=\"l1Jnm9wo\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1718555964;\n\tbh=nvEjnxXDoaAzYywje7s9crWAt2mcK7HP1gh0xhKw5Jk=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=l1Jnm9woZxzrcjQI7uu5+fztzFLnGZ9cppU92YeJd4Jb52FbJv5qzrw60Qbbi6Wlo\n\tgLrnd8SxPTgiIgg/EjLj55Bbu/iTai9FEUG8PYNp830O10tnLdcV3+/y1K5QfRmqde\n\tW7bXUS6aJ8eObfLDViaIrPD4xQVrfhlxuozGIAd4=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[PATCH 07/12] ipa: rkisp1: agc: Don't update histogram parameters\n\tunnecessarily",
        "Date": "Sun, 16 Jun 2024 19:39:05 +0300",
        "Message-ID": "<20240616163910.5506-8-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 ISP histogram parameters depends on the AE metering mode, but not on\nthe other AE algorithm controls. The exposure mode, constraints mode and\nframe duration limits influence the behaviour of the algorithm, but not\nthe histogram computation parameters. Update the histogram parameters\nonly when AE metering mode changes.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/ipa/rkisp1/algorithms/agc.cpp | 9 ++-------\n 1 file changed, 2 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp\nindex 9dac60bdb24e..9f3b59b45f95 100644\n--- a/src/ipa/rkisp1/algorithms/agc.cpp\n+++ b/src/ipa/rkisp1/algorithms/agc.cpp\n@@ -261,26 +261,21 @@ void Agc::queueRequest(IPAContext &context,\n \tframeContext.agc.meteringMode = agc.meteringMode;\n \n \tconst auto &exposureMode = controls.get(controls::AeExposureMode);\n-\tif (exposureMode) {\n-\t\tframeContext.agc.update = agc.exposureMode != *exposureMode;\n+\tif (exposureMode)\n \t\tagc.exposureMode =\n \t\t\tstatic_cast<controls::AeExposureModeEnum>(*exposureMode);\n-\t}\n \tframeContext.agc.exposureMode = agc.exposureMode;\n \n \tconst auto &constraintMode = controls.get(controls::AeConstraintMode);\n-\tif (constraintMode) {\n-\t\tframeContext.agc.update = agc.constraintMode != *constraintMode;\n+\tif (constraintMode)\n \t\tagc.constraintMode =\n \t\t\tstatic_cast<controls::AeConstraintModeEnum>(*constraintMode);\n-\t}\n \tframeContext.agc.constraintMode = agc.constraintMode;\n \n \tconst auto &frameDurationLimits = controls.get(controls::FrameDurationLimits);\n \tif (frameDurationLimits) {\n \t\tutils::Duration maxShutterSpeed =\n \t\t\tstd::chrono::milliseconds((*frameDurationLimits).back());\n-\t\tframeContext.agc.update = agc.maxShutterSpeed != maxShutterSpeed;\n \t\tagc.maxShutterSpeed = maxShutterSpeed;\n \t}\n \tframeContext.agc.maxShutterSpeed = agc.maxShutterSpeed;\n",
    "prefixes": [
        "07/12"
    ]
}