Patch Detail
Show a patch.
GET /api/1.1/patches/22071/?format=api
{ "id": 22071, "url": "https://patchwork.libcamera.org/api/1.1/patches/22071/?format=api", "web_url": "https://patchwork.libcamera.org/patch/22071/", "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": "<20241125151430.2437285-5-stefan.klug@ideasonboard.com>", "date": "2024-11-25T15:14:13", "name": "[v2,4/8] pipeline: rkisp1: Split inputCrop and outputCrop", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "5b57b8f4aa964ca957c908f05662b31ea85656e2", "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/22071/mbox/", "series": [ { "id": 4818, "url": "https://patchwork.libcamera.org/api/1.1/series/4818/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4818", "date": "2024-11-25T15:14:09", "name": "rkisp1: Fix aspect ratio and ScalerCrop", "version": 2, "mbox": "https://patchwork.libcamera.org/series/4818/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/22071/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/22071/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 D2E3DC32A3\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 25 Nov 2024 15:14:49 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8364366030;\n\tMon, 25 Nov 2024 16:14:49 +0100 (CET)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A875A65F77\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 25 Nov 2024 16:14:45 +0100 (CET)", "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:4cf:a935:de6f:a329])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 006C96B5;\n\tMon, 25 Nov 2024 16:14:23 +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=\"N9ne0gyS\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732547664;\n\tbh=gdaV5ba3O9WoUQxKGYs9XfX5z+OLsMDpZDoywV83c4Q=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=N9ne0gySPOgMV3K00VMS9ffCbAXn8stxeqGatdNeqy+OX/ThJQdjENr3MjDZg8HAQ\n\tqVDJ9fDjciBhlCyacP/lo5v2z4BFg+4/0GOjNXdMB9UvZKDvm0uxi8oQqQ2U/C0Srl\n\tXAfQkL6wheQV4xLnHDugKOIwJGAjIQsEkMKOEGpQ=", "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 v2 4/8] pipeline: rkisp1: Split inputCrop and outputCrop", "Date": "Mon, 25 Nov 2024 16:14:13 +0100", "Message-ID": "<20241125151430.2437285-5-stefan.klug@ideasonboard.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20241125151430.2437285-1-stefan.klug@ideasonboard.com>", "References": "<20241125151430.2437285-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---\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 | 17 +++++++++--------\n 1 file changed, 9 insertions(+), 8 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex a66b9dda83ab..82f6df74840e 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -794,15 +794,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@@ -820,18 +821,18 @@ 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\tif (ispCrop != format.size)\n \t\t\tLOG(RkISP1, Info) << \"ISP output needs to be cropped to \"\n-\t\t\t\t\t << rect;\n+\t\t\t\t\t << outputCrop;\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@@ -842,7 +843,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": [ "v2", "4/8" ] }