Show a patch.

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

{
    "id": 27471,
    "url": "https://patchwork.libcamera.org/api/patches/27471/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/27471/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20260723154327.1357866-24-barnabas.pocze@ideasonboard.com>",
    "date": "2026-07-23T15:43:06",
    "name": "[RFC,v2,23/43] ipa: libipa: agc: Adjust debug messages slightly",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "401f497051b1f668076ac1a2d3633d5dbb1823fb",
    "submitter": {
        "id": 216,
        "url": "https://patchwork.libcamera.org/api/people/216/?format=api",
        "name": "Barnabás Pőcze",
        "email": "barnabas.pocze@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/27471/mbox/",
    "series": [
        {
            "id": 6075,
            "url": "https://patchwork.libcamera.org/api/series/6075/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=6075",
            "date": "2026-07-23T15:42:43",
            "name": "ipa: libipa: agc rework",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/6075/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/27471/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/27471/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 30C7EC3306\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 23 Jul 2026 15:44:07 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8554167EC6;\n\tThu, 23 Jul 2026 17:44:06 +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 341F567EE8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Jul 2026 17:43:36 +0200 (CEST)",
            "from pb-laptop.local (185.182.215.156.nat.pool.zt.hu\n\t[185.182.215.156])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 52B092C09\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 23 Jul 2026 17:42:35 +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=\"WqFPFsNN\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1784821355;\n\tbh=6TN2S2GDu7LKbEzEZ5dxiyxqJQ1+SpfXq6yxq9RPN5Y=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=WqFPFsNNbrh6KGCTbUdhYDm2Ohanm7Ntia1d064kkm5id5NJ7hCQ7UfnaDwSHrlUv\n\tludntW9l1MeXT+xzl/9spycSn5a+J5041o32GA18U4P984S/DPx0iyFYvhiOrP6XV3\n\tLwMHjDcmrW79E9MaXxDdO8I2mfPL0jbOZ6ey/lhE=",
        "From": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[RFC PATCH v2 23/43] ipa: libipa: agc: Adjust debug messages\n\tslightly",
        "Date": "Thu, 23 Jul 2026 17:43:06 +0200",
        "Message-ID": "<20260723154327.1357866-24-barnabas.pocze@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.55.0",
        "In-Reply-To": "<20260723154327.1357866-1-barnabas.pocze@ideasonboard.com>",
        "References": "<20260723154327.1357866-1-barnabas.pocze@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "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 log message showing the result of AGC seems too verbose to me,\nand the labels and values are far from each other. And also log the\nline duration when showing exposure and gain limits.\n\nSigned-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n---\n src/ipa/libipa/agc.cpp | 15 ++++++++++-----\n 1 file changed, 10 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/src/ipa/libipa/agc.cpp b/src/ipa/libipa/agc.cpp\nindex 8a2525ec98..49b3034746 100644\n--- a/src/ipa/libipa/agc.cpp\n+++ b/src/ipa/libipa/agc.cpp\n@@ -294,8 +294,11 @@ int AgcAlgorithm::configure(agc::Session &session, agc::ActiveState &state, cons\n \t};\n \n \tLOG(Agc, Debug)\n-\t\t<< \"Exposure: [\" << minExposure << \", \" << maxExposure\n-\t\t<< \"], gain: [\" << minGain << \", \" << maxGain << \"]\";\n+\t\t<< \"exposure:[\" << minExposure << ',' << maxExposure << ']'\n+\t\t<< \" gain: [\" << minGain << ',' << maxGain << ']'\n+\t\t<< \" line-duration:\" << session.lineDuration\n+\t\t<< \" sensor-output:\" << session.sensor.outputSize\n+\t;\n \n \t/*\n \t * Compute the frame duration limits.\n@@ -615,9 +618,11 @@ void AgcAlgorithm::process(const agc::Session &session, agc::ActiveState &state,\n \t\t});\n \n \t\tLOG(Agc, Debug)\n-\t\t\t<< \"Divided up exposure time, analogue gain, quantization gain\"\n-\t\t\t<< \" and digital gain are \" << newEv.exposureTime << \", \" << newEv.analogueGain\n-\t\t\t<< \", \" << newEv.quantizationGain << \" and \" << newEv.digitalGain;\n+\t\t\t<< \"exposure-time:\" << newEv.exposureTime\n+\t\t\t<< \" analogue-gain\" << newEv.analogueGain\n+\t\t\t<< \" quantization-gain\" << newEv.quantizationGain\n+\t\t\t<< \" digital-gain: \" << newEv.digitalGain\n+\t\t;\n \n \t\t/* Update the estimated exposure and gain. */\n \t\tstate.automatic.exposure = clampExposure(newEv.exposureTime, session);\n",
    "prefixes": [
        "RFC",
        "v2",
        "23/43"
    ]
}