Patch Detail
Show a patch.
GET /api/1.1/patches/22196/?format=api
{ "id": 22196, "url": "https://patchwork.libcamera.org/api/1.1/patches/22196/?format=api", "web_url": "https://patchwork.libcamera.org/patch/22196/", "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": "<20241206101344.767170-5-stefan.klug@ideasonboard.com>", "date": "2024-12-06T10:13:26", "name": "[v3,04/17] pipeline: rkisp1: Split inputCrop and outputCrop", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "0fa028b6c2dbc07cf5632e833a406e03f6a88594", "submitter": { "id": 184, "url": "https://patchwork.libcamera.org/api/1.1/people/184/?format=api", "name": "Stefan Klug", "email": "stefan.klug@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/22196/mbox/", "series": [ { "id": 4854, "url": "https://patchwork.libcamera.org/api/1.1/series/4854/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4854", "date": "2024-12-06T10:13:22", "name": "rkisp1: Fix aspect ratio and ScalerCrop", "version": 3, "mbox": "https://patchwork.libcamera.org/series/4854/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/22196/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/22196/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 C663BBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 6 Dec 2024 10:14:03 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 554226613D;\n\tFri, 6 Dec 2024 11:14:03 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 113C966138\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 6 Dec 2024 11:14:00 +0100 (CET)", "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:3543:aebe:e043:ef86])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B216474C;\n\tFri, 6 Dec 2024 11:13:30 +0100 (CET)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"mDPpJQIG\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1733480010;\n\tbh=xnJdSZqd3w9Pk4CsD0ehBtbeHtKdBC2kmTVsoAB1JF8=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=mDPpJQIGzWaBeMNeNWUjAF6ualcPusrfADLgRUGuFnPf+zi6KmrV5ZTvSgN+9MPKo\n\txtNa4/TL1DNoO3XLGcd8TsZHlzYKs2MYCLenQS2upuK7Zk1Z8SqH0lEgQ/q+tzJ+QM\n\t/Up27C+/FhhRCpk/Lau7rAlnQwsuJqUrhMTIH3C0=", "From": "Stefan Klug <stefan.klug@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>,\n\tPaul Elder <paul.elder@ideasonboard.com>,\n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>", "Subject": "[PATCH v3 04/17] pipeline: rkisp1: Split inputCrop and outputCrop", "Date": "Fri, 6 Dec 2024 11:13:26 +0100", "Message-ID": "<20241206101344.767170-5-stefan.klug@ideasonboard.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20241206101344.767170-1-stefan.klug@ideasonboard.com>", "References": "<20241206101344.767170-1-stefan.klug@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": "One Rectangle instance is used to calculate the inputCrop and the\noutputCrop of the ISP in the rkisp1 pipeline. Split that into two\ndistinct variables, because both values will be needed in the upcoming\npatches. This patch does not contain any functional changes.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n---\nChanges in v2:\n- Moved declaration of outputCrop after setSelection(inputCrop) to get\n the potentially updated inputCrop\n- Collected tags\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 15 ++++++++-------\n 1 file changed, 8 insertions(+), 7 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 698fe9ff57a4..6ac14cd15c8f 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -795,15 +795,16 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \tif (ret < 0)\n \t\treturn ret;\n \n-\tRectangle rect(0, 0, format.size);\n-\tret = isp_->setSelection(0, V4L2_SEL_TGT_CROP, &rect);\n+\tRectangle inputCrop(0, 0, format.size);\n+\tret = isp_->setSelection(0, V4L2_SEL_TGT_CROP, &inputCrop);\n \tif (ret < 0)\n \t\treturn ret;\n \n \tLOG(RkISP1, Debug)\n \t\t<< \"ISP input pad configured with \" << format\n-\t\t<< \" crop \" << rect;\n+\t\t<< \" crop \" << inputCrop;\n \n+\tRectangle outputCrop = inputCrop;\n \tconst PixelFormat &streamFormat = config->at(0).pixelFormat;\n \tconst PixelFormatInfo &info = PixelFormatInfo::info(streamFormat);\n \tisRaw_ = info.colourEncoding == PixelFormatInfo::ColourEncodingRAW;\n@@ -821,15 +822,15 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \t\tconst auto &cfg = config->at(0);\n \t\tSize ispCrop = format.size.boundedToAspectRatio(cfg.size)\n \t\t\t\t\t .alignedUpTo(2, 2);\n-\t\trect = ispCrop.centeredTo(Rectangle(format.size).center());\n+\t\toutputCrop = ispCrop.centeredTo(Rectangle(format.size).center());\n \t\tformat.size = ispCrop;\n \t}\n \n \tLOG(RkISP1, Debug)\n \t\t<< \"Configuring ISP output pad with \" << format\n-\t\t<< \" crop \" << rect;\n+\t\t<< \" crop \" << outputCrop;\n \n-\tret = isp_->setSelection(2, V4L2_SEL_TGT_CROP, &rect);\n+\tret = isp_->setSelection(2, V4L2_SEL_TGT_CROP, &outputCrop);\n \tif (ret < 0)\n \t\treturn ret;\n \n@@ -840,7 +841,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \n \tLOG(RkISP1, Debug)\n \t\t<< \"ISP output pad configured with \" << format\n-\t\t<< \" crop \" << rect;\n+\t\t<< \" crop \" << outputCrop;\n \n \tstd::map<unsigned int, IPAStream> streamConfig;\n \tstd::vector<std::reference_wrapper<StreamConfiguration>> outputCfgs;\n", "prefixes": [ "v3", "04/17" ] }