Patch Detail
Show a patch.
GET /api/1.1/patches/15552/?format=api
{ "id": 15552, "url": "https://patchwork.libcamera.org/api/1.1/patches/15552/?format=api", "web_url": "https://patchwork.libcamera.org/patch/15552/", "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": "<20220325092555.1799897-3-kieran.bingham@ideasonboard.com>", "date": "2022-03-25T09:25:52", "name": "[libcamera-devel,v3,2/5] ipa: ipu3: af: Use geometry classes to perform grid centering", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "91c017cc87605819e1acdead67e9fcc8c0c7d59a", "submitter": { "id": 4, "url": "https://patchwork.libcamera.org/api/1.1/people/4/?format=api", "name": "Kieran Bingham", "email": "kieran.bingham@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/15552/mbox/", "series": [ { "id": 3000, "url": "https://patchwork.libcamera.org/api/1.1/series/3000/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3000", "date": "2022-03-25T09:25:50", "name": "ipa: ipu3: af: Small improvements", "version": 3, "mbox": "https://patchwork.libcamera.org/series/3000/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/15552/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/15552/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 6A7DEC3264\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 25 Mar 2022 09:26:05 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6B7D6604DC;\n\tFri, 25 Mar 2022 10:26:03 +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 041D7604C5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Mar 2022 10:26:01 +0100 (CET)", "from Monstersaurus.ksquared.org.uk.beta.tailscale.net\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 88B92DFE;\n\tFri, 25 Mar 2022 10:26:00 +0100 (CET)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1648200363;\n\tbh=8wOE0/7UvGUtiXd8jQkPblDSHtr9s1ZBKoFkM1e/ANU=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=hsuB6jXrp7V+sx75kgEVOohZ9G5PfpJkoDKh/FdrF+MHR9CI4eDmum4v6K3qun+qx\n\t+bfvqEFoJ2HTNfAwbbTEPTjVn7n2q8SR3Wo5HL//J2VZgDTsKviw10ZDBD8RUIzvhS\n\tDpUrVKgltOKsQMTxpPe/HiWgX6FXyAH4gtBDHnA8nf+62XTeJ1L3iNqn5aL19omrKp\n\tVpq3lzO68Col+MKEz0ZrtZvQmWd34mXlXrMy3DDNdaPF8IZKB4iruNPOeRxXNfrjFC\n\taUbikPbcEx1A88F0dOKqD55+wmMadWgzBD4+YhuDL8LvRzGcfW9pH9Bd5yWD2C/ah3\n\t89fMaCVsEQQsQ==", "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1648200360;\n\tbh=8wOE0/7UvGUtiXd8jQkPblDSHtr9s1ZBKoFkM1e/ANU=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=v7jaUKmzOKVnJ31/yDOJUS2gVsaZTwy/0+puqbVqFqqMhiNnw2jy5dN6Gpk/lihgv\n\tMu9au1e2UrWVrQsyrycgRzapEeC9q3W6a6fSx36U4EjjLSHecu8jkCaulNgjnfENOP\n\tr4tN4gI2znzZuCuft6/f+mtNBKW2ddXgNazoO1/0=" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"v7jaUKmz\"; dkim-atps=neutral", "To": "libcamera devel <libcamera-devel@lists.libcamera.org>,\n\tKate Hsuan <hpa@redhat.com>,\n\tJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>", "Date": "Fri, 25 Mar 2022 09:25:52 +0000", "Message-Id": "<20220325092555.1799897-3-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.32.0", "In-Reply-To": "<20220325092555.1799897-1-kieran.bingham@ideasonboard.com>", "References": "<20220325092555.1799897-1-kieran.bingham@ideasonboard.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v3 2/5] ipa: ipu3: af: Use geometry\n\tclasses to perform grid centering", "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>", "From": "Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "Kieran Bingham <kieran.bingham@ideasonboard.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Use our geometry classes for Rectangle, Size and Point to identify\nthe region of interest for the autofocus, and center it on the BDS output.\n\nThis will facilitate custom ROI being passed in through controls at a later\ntime.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/ipu3/algorithms/af.cpp | 23 +++++++++++++++--------\n 1 file changed, 15 insertions(+), 8 deletions(-)", "diff": "diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp\nindex 634d0f2e3176..4476857fa772 100644\n--- a/src/ipa/ipu3/algorithms/af.cpp\n+++ b/src/ipa/ipu3/algorithms/af.cpp\n@@ -141,16 +141,23 @@ int Af::configure(IPAContext &context, const IPAConfigInfo &configInfo)\n \tgrid.block_height_log2 = kAfMinGridBlockHeight;\n \tgrid.height_per_slice = kAfDefaultHeightPerSlice;\n \n-\t/* x_start and y start are default to BDS center */\n-\tgrid.x_start = (configInfo.bdsOutputSize.width / 2) -\n-\t\t (((grid.width << grid.block_width_log2) / 2));\n-\tgrid.y_start = (configInfo.bdsOutputSize.height / 2) -\n-\t\t (((grid.height << grid.block_height_log2) / 2));\n+\t/* Position the AF grid in the center of the BDS output. */\n+\tRectangle bds(configInfo.bdsOutputSize);\n+\tSize gridSize(grid.width << grid.block_width_log2,\n+\t\t grid.height << grid.block_height_log2);\n+\n+\t/*\n+\t * \\todo - Support request metadata\n+\t * - Set the ROI based on any input controls in the request\n+\t * - Return the AF ROI as metadata in the Request\n+\t */\n+\tRectangle roi = gridSize.centeredTo(bds.center());\n+\tPoint start = roi.topLeft();\n \n \t/* x_start and y_start should be even */\n-\tgrid.x_start = (grid.x_start / 2) * 2;\n-\tgrid.y_start = (grid.y_start / 2) * 2;\n-\tgrid.y_start = grid.y_start | IPU3_UAPI_GRID_Y_START_EN;\n+\tgrid.x_start = utils::alignDown(start.x, 2);\n+\tgrid.y_start = utils::alignDown(start.y, 2);\n+\tgrid.y_start |= IPU3_UAPI_GRID_Y_START_EN;\n \n \t/* Initial max focus step */\n \tmaxStep_ = kMaxFocusSteps;\n", "prefixes": [ "libcamera-devel", "v3", "2/5" ] }