{"id":11989,"url":"https://patchwork.libcamera.org/api/patches/11989/?format=json","web_url":"https://patchwork.libcamera.org/patch/11989/","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":"<20210419131433.22920-8-jacopo@jmondi.org>","date":"2021-04-19T13:14:27","name":"[libcamera-devel,07/13] libcamera: vimc: Report sensor timestamp","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"ed84fe0acb3b580e275be9f21dfefccee2a2580f","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"delegate":{"id":15,"url":"https://patchwork.libcamera.org/api/users/15/?format=json","username":"jmondi","first_name":"Jacopo","last_name":"Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/patch/11989/mbox/","series":[{"id":1948,"url":"https://patchwork.libcamera.org/api/series/1948/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1948","date":"2021-04-19T13:14:20","name":"Support SensorTimestamp metadata","version":1,"mbox":"https://patchwork.libcamera.org/series/1948/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/11989/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/11989/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 5EA1BBD814\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Apr 2021 13:14:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F00676884F;\n\tMon, 19 Apr 2021 15:14:26 +0200 (CEST)","from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E283E6882E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Apr 2021 15:14:21 +0200 (CEST)","from uno.lan (93-34-118-233.ip49.fastwebnet.it [93.34.118.233])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id 5B18C10000A;\n\tMon, 19 Apr 2021 13:14:21 +0000 (UTC)"],"From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 19 Apr 2021 15:14:27 +0200","Message-Id":"<20210419131433.22920-8-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.31.1","In-Reply-To":"<20210419131433.22920-1-jacopo@jmondi.org>","References":"<20210419131433.22920-1-jacopo@jmondi.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH 07/13] libcamera: vimc: Report sensor\n\ttimestamp","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":"Report the sensor's timestamp in the Request metadata using the\ncompleted buffer timestamp.\n\nThe buffer's timestamp reports the video capture buffer processing time,\nand it does not theoretically matches the 'start of exposure'\ndefinition.\n\nBeing VIMC a testing platform and the test driver completes the buffers\nfor each media entity connected in the pipeline one after the other, the\ncurrent solution is acceptable for the pipeline.\n\nSigned-off-by: Jacopo Mondi <jacopo@jmondi.org>\n---\n src/libcamera/pipeline/vimc/vimc.cpp | 4 ++++\n 1 file changed, 4 insertions(+)","diff":"diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\nindex 8f5f4ba30953..ce83dcaab8ea 100644\n--- a/src/libcamera/pipeline/vimc/vimc.cpp\n+++ b/src/libcamera/pipeline/vimc/vimc.cpp\n@@ -523,6 +523,10 @@ void VimcCameraData::bufferReady(FrameBuffer *buffer)\n {\n \tRequest *request = buffer->request();\n \n+\t/* Record the sensor's timestamp in the request metadata. */\n+\trequest->metadata().set(controls::SensorTimestamp,\n+\t\t\t\tbuffer->metadata().timestamp);\n+\n \tpipe_->completeBuffer(request, buffer);\n \tpipe_->completeRequest(request);\n }\n","prefixes":["libcamera-devel","07/13"]}