{"id":12291,"url":"https://patchwork.libcamera.org/api/patches/12291/?format=json","web_url":"https://patchwork.libcamera.org/patch/12291/","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":"<20210514075808.282479-7-umang.jain@ideasonboard.com>","date":"2021-05-14T07:58:08","name":"[libcamera-devel,v1,6/6] libcamera: pipeline: ipu3: Pass request metadata to IPA","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"5d1aaade4308acb8a73b99b313a65aacfdc011d8","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/?format=json","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"delegate":{"id":12,"url":"https://patchwork.libcamera.org/api/users/12/?format=json","username":"uajain","first_name":"Umang","last_name":"Jain","email":"umang.jain@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/patch/12291/mbox/","series":[{"id":2029,"url":"https://patchwork.libcamera.org/api/series/2029/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2029","date":"2021-05-14T07:58:02","name":"External IPU3 IPA support","version":1,"mbox":"https://patchwork.libcamera.org/series/2029/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/12291/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/12291/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 956E9C31F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 14 May 2021 07:58:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5645568924;\n\tFri, 14 May 2021 09:58:36 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8DFBF68918\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 14 May 2021 09:58:35 +0200 (CEST)","from perceval.ideasonboard.com (unknown [103.251.226.50])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5841A9F0;\n\tFri, 14 May 2021 09:58:34 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"r1PaeC2s\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1620979115;\n\tbh=seWOaBpLQL1i3WCH38j5JUe585SNLe6tHvMpUy7VZQo=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=r1PaeC2snTh1wvpBgoIDiwZSDwGEqTfUlzjUGgp4Y5Tlm6YM5tcRJG36Swu98iQcy\n\twoUfH9jWmMxSStu+BJMJWLrW1E0Z6jTMPWyjlFCU0OgVDjFVFliho4QI24y5TpEmuC\n\tZIz0aixCrO7JV9jbeNcXzbqyUtKopKrEkaP/WvN4=","From":"Umang Jain <umang.jain@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 14 May 2021 13:28:08 +0530","Message-Id":"<20210514075808.282479-7-umang.jain@ideasonboard.com>","X-Mailer":"git-send-email 2.26.2","In-Reply-To":"<20210514075808.282479-1-umang.jain@ideasonboard.com>","References":"<20210514075808.282479-1-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v1 6/6] libcamera: pipeline: ipu3: Pass\n\trequest metadata to IPA","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>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"From: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nPass the request metadata control list to the IPA when setting\npassing the statistics buffers, or after the raw buffer completion.\n\nThis allows us to pass in the timestamp and other data from the request\nwhich will be used by the IPA.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 5 ++++-\n 1 file changed, 4 insertions(+), 1 deletion(-)","diff":"diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 5b15ca90..38f66919 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -1285,6 +1285,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n \tev.op = ipa::ipu3::EventFillParams;\n \tev.frame = info->id;\n \tev.bufferId = info->paramBuffer->cookie();\n+\tev.controls = request->metadata();\n \tipa_->processEvent(ev);\n }\n \n@@ -1314,6 +1315,8 @@ void IPU3CameraData::statBufferReady(FrameBuffer *buffer)\n \tif (!info)\n \t\treturn;\n \n+\tRequest *request = info->request;\n+\n \tif (buffer->metadata().status == FrameMetadata::FrameCancelled) {\n \t\tinfo->metadataProcessed = true;\n \n@@ -1321,7 +1324,6 @@ void IPU3CameraData::statBufferReady(FrameBuffer *buffer)\n \t\t* tryComplete() will delete info if it completes the IPU3Frame.\n \t\t* In that event, we must have obtained the Request before hand.\n \t\t*/\n-\t\tRequest *request = info->request;\n \n \t\tif (frameInfos_.tryComplete(info))\n \t\t\tpipe_->completeRequest(request);\n@@ -1333,6 +1335,7 @@ void IPU3CameraData::statBufferReady(FrameBuffer *buffer)\n \tev.op = ipa::ipu3::EventStatReady;\n \tev.frame = info->id;\n \tev.bufferId = info->statBuffer->cookie();\n+\tev.controls = request->metadata();\n \tipa_->processEvent(ev);\n }\n \n","prefixes":["libcamera-devel","v1","6/6"]}