{"id":20580,"url":"https://patchwork.libcamera.org/api/patches/20580/?format=json","web_url":"https://patchwork.libcamera.org/patch/20580/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20240704162035.15074-4-laurent.pinchart@ideasonboard.com>","date":"2024-07-04T16:20:27","name":"[v2,03/11] ipa: rkisp1: Pass parameters buffer format to IPA module","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"114598703d4f885e6d7e798ea57e061d2046348d","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20580/mbox/","series":[{"id":4445,"url":"https://patchwork.libcamera.org/api/series/4445/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4445","date":"2024-07-04T16:20:24","name":"rkisp1: Support BLS on i.MX8MP","version":2,"mbox":"https://patchwork.libcamera.org/series/4445/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20580/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20580/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 96DA5BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Jul 2024 16:21:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4650B62E17;\n\tThu,  4 Jul 2024 18:21:07 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 32176619C8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Jul 2024 18:21:00 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(117.145-247-81.adsl-dyn.isp.belgacom.be [81.247.145.117])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 47B11502;\n\tThu,  4 Jul 2024 18:20:31 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"enFmETDk\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1720110031;\n\tbh=YoznlcxupTYZ5iyulpBcZEyeUeNdA51jworqUcC++j8=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=enFmETDkZxvUC2TyFcka+b14Q0bd2CmHg3yGOedeSg5BQifufeLwSH8v9y/ggpATR\n\t/Izx1siACyk4if94180zGoxS5Sn6RrdAyMnN+z0/mbGTtppKh3F01O9ATTyoFENGq0\n\tDfD4fANyc8qF+9o2JsMc/D3xBcLedFpbNeRF/Y+Y=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tPaul Elder <paul.elder@ideasonboard.com>","Subject":"[PATCH v2 03/11] ipa: rkisp1: Pass parameters buffer format to IPA\n\tmodule","Date":"Thu,  4 Jul 2024 19:20:27 +0300","Message-ID":"<20240704162035.15074-4-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.44.2","In-Reply-To":"<20240704162035.15074-1-laurent.pinchart@ideasonboard.com>","References":"<20240704162035.15074-1-laurent.pinchart@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 rkisp1 driver supports two formats for the ISP parameters buffer,\nthe legacy fixed format and the new extensible format. In preparation of\nsupport for the new format, pass the parameters buffer format from the\npipeline handler to the IPA module and store it.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\n include/libcamera/ipa/rkisp1.mojom       | 1 +\n src/ipa/rkisp1/rkisp1.cpp                | 2 ++\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 +\n 3 files changed, 4 insertions(+)","diff":"diff --git a/include/libcamera/ipa/rkisp1.mojom b/include/libcamera/ipa/rkisp1.mojom\nindex 1009e970a1b5..585d38572aa2 100644\n--- a/include/libcamera/ipa/rkisp1.mojom\n+++ b/include/libcamera/ipa/rkisp1.mojom\n@@ -11,6 +11,7 @@ import \"include/libcamera/ipa/core.mojom\";\n struct IPAConfigInfo {\n \tlibcamera.IPACameraSensorInfo sensorInfo;\n \tlibcamera.ControlInfoMap sensorControls;\n+\tuint32 paramFormat;\n };\n \n interface IPARkISP1Interface {\ndiff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex 23e0826cc335..71698bc47391 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -79,6 +79,7 @@ private:\n \tstd::map<unsigned int, MappedFrameBuffer> mappedBuffers_;\n \n \tControlInfoMap sensorControls_;\n+\tuint32_t paramFormat_;\n \n \t/* Local parameter storage */\n \tstruct IPAContext context_;\n@@ -208,6 +209,7 @@ int IPARkISP1::configure(const IPAConfigInfo &ipaConfig,\n \t\t\t ControlInfoMap *ipaControls)\n {\n \tsensorControls_ = ipaConfig.sensorControls;\n+\tparamFormat_ = ipaConfig.paramFormat;\n \n \tconst auto itExp = sensorControls_.find(V4L2_CID_EXPOSURE);\n \tint32_t minExposure = itExp->second.min().get<int32_t>();\ndiff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 4cbf105dbdcd..73e56b8fbf13 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -819,6 +819,7 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c)\n \t\treturn ret;\n \n \tipaConfig.sensorControls = data->sensor_->controls();\n+\tipaConfig.paramFormat = paramFormat.fourcc;\n \n \tret = data->ipa_->configure(ipaConfig, streamConfig, &data->controlInfo_);\n \tif (ret) {\n","prefixes":["v2","03/11"]}