Patch Detail
Show a patch.
GET /api/patches/15388/?format=api
{ "id": 15388, "url": "https://patchwork.libcamera.org/api/patches/15388/?format=api", "web_url": "https://patchwork.libcamera.org/patch/15388/", "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": "<20220224151113.109858-5-jeanmichel.hautbois@ideasonboard.com>", "date": "2022-02-24T15:11:13", "name": "[libcamera-devel,v4,4/4] ipa: ipu3: awb: Clamp gain values", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "4fbeddead8632ea9b32d2f3fc3babaff90cada58", "submitter": { "id": 75, "url": "https://patchwork.libcamera.org/api/people/75/?format=api", "name": "Jean-Michel Hautbois", "email": "jeanmichel.hautbois@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/15388/mbox/", "series": [ { "id": 2940, "url": "https://patchwork.libcamera.org/api/series/2940/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2940", "date": "2022-02-24T15:11:09", "name": "ipa: ipu3: Misc clean up", "version": 4, "mbox": "https://patchwork.libcamera.org/series/2940/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/15388/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/15388/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 0275EC3262\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 24 Feb 2022 15:11:25 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8DA9561179;\n\tThu, 24 Feb 2022 16:11:23 +0100 (CET)", "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 7B0F361154\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 24 Feb 2022 16:11:19 +0100 (CET)", "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:ce74:6df2:4b76:b230])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3B899484;\n\tThu, 24 Feb 2022 16:11:19 +0100 (CET)" ], "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=\"eVVKGZ4Z\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1645715479;\n\tbh=pVNrn3LsHd9D01TInDIdRr6NOWngi+kM+wrAXqd7XOY=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=eVVKGZ4ZDupWfxvYIZnpZ3iSC//0lJeDSoBBK55IX9shVBpTdE1A0+ZCgEVzKmVam\n\tZ4gyLRn6eoNs99HrhrtyFJKWoGORTPyzAChF/i/9odd7/MXu2mV77bwaIiO3hatFLp\n\tEIxMSZS/AofkgSwcgh4QkSmp+UlVTQywY9p35p7g=", "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 24 Feb 2022 16:11:13 +0100", "Message-Id": "<20220224151113.109858-5-jeanmichel.hautbois@ideasonboard.com>", "X-Mailer": "git-send-email 2.32.0", "In-Reply-To": "<20220224151113.109858-1-jeanmichel.hautbois@ideasonboard.com>", "References": "<20220224151113.109858-1-jeanmichel.hautbois@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v4 4/4] ipa: ipu3: awb: Clamp gain values", "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 gain values are coded as u3.13 fixed point values, ie they can not\nbe more than 8. Clampt the values in order to avoid any off limits value\nwhich could make the IPU3 behave weirdly.\n\nSigned-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n---\n src/ipa/ipu3/algorithms/awb.cpp | 8 ++++++++\n 1 file changed, 8 insertions(+)", "diff": "diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp\nindex 1dc27fc9..dc25be81 100644\n--- a/src/ipa/ipu3/algorithms/awb.cpp\n+++ b/src/ipa/ipu3/algorithms/awb.cpp\n@@ -353,6 +353,14 @@ void Awb::awbGreyWorld()\n \n \t/* Color temperature is not relevant in Grey world but still useful to estimate it :-) */\n \tasyncResults_.temperatureK = estimateCCT(sumRed.R, sumRed.G, sumBlue.B);\n+\n+\t/*\n+\t * Gain values are unsigned integer value, range 0 to 8 with 13 bit\n+\t * fractional part.\n+\t */\n+\tredGain = std::clamp(redGain, 0.0, 65535.0 / 8192);\n+\tblueGain = std::clamp(blueGain, 0.0, 65535.0 / 8192);\n+\n \tasyncResults_.redGain = redGain;\n \t/* Hardcode the green gain to 1.0. */\n \tasyncResults_.greenGain = 1.0;\n", "prefixes": [ "libcamera-devel", "v4", "4/4" ] }