{"id":12042,"url":"https://patchwork.libcamera.org/api/1.1/patches/12042/?format=json","web_url":"https://patchwork.libcamera.org/patch/12042/","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":"<20210421160319.42251-11-jacopo@jmondi.org>","date":"2021-04-21T16:03:13","name":"[libcamera-devel,v3,10/16] 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/1.1/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"delegate":{"id":15,"url":"https://patchwork.libcamera.org/api/1.1/users/15/?format=json","username":"jmondi","first_name":"Jacopo","last_name":"Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/patch/12042/mbox/","series":[{"id":1957,"url":"https://patchwork.libcamera.org/api/1.1/series/1957/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1957","date":"2021-04-21T16:03:03","name":"Support SensorTimestamp metadata","version":3,"mbox":"https://patchwork.libcamera.org/series/1957/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/12042/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/12042/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 6A7E5BDB17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Apr 2021 16:02:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E9E6068858;\n\tWed, 21 Apr 2021 18:02:57 +0200 (CEST)","from relay10.mail.gandi.net (relay10.mail.gandi.net\n\t[217.70.178.230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 054E768862\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Apr 2021 18:02:50 +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 relay10.mail.gandi.net (Postfix) with ESMTPSA id 6B2B3240003;\n\tWed, 21 Apr 2021 16:02:49 +0000 (UTC)"],"From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Wed, 21 Apr 2021 18:03:13 +0200","Message-Id":"<20210421160319.42251-11-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.31.1","In-Reply-To":"<20210421160319.42251-1-jacopo@jmondi.org>","References":"<20210421160319.42251-1-jacopo@jmondi.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v3 10/16] 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\nVIMC being 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\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\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","v3","10/16"]}