{"id":22072,"url":"https://patchwork.libcamera.org/api/1.1/patches/22072/?format=json","web_url":"https://patchwork.libcamera.org/patch/22072/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","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-6-stefan.klug@ideasonboard.com>","date":"2024-11-25T15:14:14","name":"[v2,5/8] pipeline: rkisp1: Reorder sensorInfo collection code","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"b1ac0b287a777492b82f847431894fad16f170cc","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/1.1/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22072/mbox/","series":[{"id":4818,"url":"https://patchwork.libcamera.org/api/1.1/series/4818/?format=json","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/22072/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22072/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 E4424C32A3\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 25 Nov 2024 15:14:52 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 988B466035;\n\tMon, 25 Nov 2024 16:14:52 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C9B7B65F77\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 25 Nov 2024 16:14:48 +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 22C4A6B5;\n\tMon, 25 Nov 2024 16:14:27 +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=\"GR3Y2JcJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732547667;\n\tbh=qrWkRQ5IZIRs6UqBkZKNuXx/ZUkSpXqEiMXr7EYG2hA=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=GR3Y2JcJ3m2ZEsH+41EIHLNViSGP1vPXbVPtfNJisM3Zuhu45LVtRG8qBQ435sbMi\n\t2wjJj6otK08w44WPvj2DHuscP4EUQ/zM+uVG5ouplpv2akLm4mAuMlfW4MBadd846L\n\tTKfEgKqOdirVtCawda1GFO/IvBT8aSPPzty3EiKQ=","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 5/8] pipeline: rkisp1: Reorder sensorInfo collection code","Date":"Mon, 25 Nov 2024 16:14:14 +0100","Message-ID":"<20241125151430.2437285-6-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":"The sensorInfo (specifically the crop rectangle of the selected sensor\nmode) is collected to be passed to the IPA later. In an upcoming patch\nthat data will also be needed for correct ScalerCrop handling. Move the\ncollection of the sensorInfo before the dewarper configuration step and\nrefactor the code a bit.\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- Collected tags\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 16 ++++++++--------\n 1 file changed, 8 insertions(+), 8 deletions(-)","diff":"diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 82f6df74840e..1ba416aaa545 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -845,6 +845,11 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \t\t<< \"ISP output pad configured with \" << format\n \t\t<< \" crop \" << outputCrop;\n \n+\tIPACameraSensorInfo sensorInfo;\n+\tret = data->sensor_->sensorInfo(&sensorInfo);\n+\tif (ret)\n+\t\treturn ret;\n+\n \tstd::map<unsigned int, IPAStream> streamConfig;\n \tstd::vector<std::reference_wrapper<StreamConfiguration>> outputCfgs;\n \n@@ -884,14 +889,9 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \t\treturn ret;\n \n \t/* Inform IPA of stream configuration and sensor controls. */\n-\tipa::rkisp1::IPAConfigInfo ipaConfig{};\n-\n-\tret = data->sensor_->sensorInfo(&ipaConfig.sensorInfo);\n-\tif (ret)\n-\t\treturn ret;\n-\n-\tipaConfig.sensorControls = data->sensor_->controls();\n-\tipaConfig.paramFormat = paramFormat.fourcc;\n+\tipa::rkisp1::IPAConfigInfo ipaConfig{ sensorInfo,\n+\t\t\t\t\t      data->sensor_->controls(),\n+\t\t\t\t\t      paramFormat.fourcc };\n \n \tret = data->ipa_->configure(ipaConfig, streamConfig, &data->ipaControls_);\n \tif (ret) {\n","prefixes":["v2","5/8"]}