{"id":22097,"url":"https://patchwork.libcamera.org/api/patches/22097/?format=json","web_url":"https://patchwork.libcamera.org/patch/22097/","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":"<20241126121706.4350-2-david.plowman@raspberrypi.com>","date":"2024-11-26T12:17:04","name":"[RFC,1/3] controls: Add FrameWallClock and FrameWallClockRaw controls","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"8b524e92939c0801e2c44f608296dc7b946138e4","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22097/mbox/","series":[{"id":4822,"url":"https://patchwork.libcamera.org/api/series/4822/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4822","date":"2024-11-26T12:17:03","name":"Frame wallclock timestamps and metadata","version":1,"mbox":"https://patchwork.libcamera.org/series/4822/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22097/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22097/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 3B85EC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 26 Nov 2024 12:17:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2B6136606B;\n\tTue, 26 Nov 2024 13:17:14 +0100 (CET)","from mail-wm1-x336.google.com (mail-wm1-x336.google.com\n\t[IPv6:2a00:1450:4864:20::336])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D36D165FC2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 Nov 2024 13:17:10 +0100 (CET)","by mail-wm1-x336.google.com with SMTP id\n\t5b1f17b1804b1-4349e4e252dso20285795e9.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 Nov 2024 04:17:10 -0800 (PST)","from raspberrypi.pitowers.org\n\t([2a00:1098:3142:1f:c68a:6be1:5ba3:eddd])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-434a15d86a4sm51070325e9.36.2024.11.26.04.17.09\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 26 Nov 2024 04:17:09 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"lnovhjc/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1732623430; x=1733228230;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=7MekyyvjV9BUA61aYivNYBgsJqgear49qOGSEpffSBw=;\n\tb=lnovhjc/4XdtvDdWrmDKDqnYjs8KTn5+dSEG1AtXP/MwArZ+p9eU7vrEKm/Tfdp5JC\n\ty0t8asDncDakIySwpTP1iCa0eyfMyH5AfDvPIL4bh9kfKbGn1fHfcrFh8CND0YgeEEWj\n\trvbJM9iCmHJPcU9hZpe1Ram0fnHeQYdXQEr7wlvvJPwx1ApA1qW8dwYZyOt3Pjf45VCw\n\tBpJe7fVBfxvMwD1KUcNeidCWsGovC+woOTFK8ckjPE9nf0VrJs8Xr0cccAtIFqciSAJy\n\t2YXdBQg16d7hcFRRGxcm77nf0V+iyOvbxvEZvOw96MES7QW+lmd09eF/ChELTcT1XVjJ\n\tk8+g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732623430; x=1733228230;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=7MekyyvjV9BUA61aYivNYBgsJqgear49qOGSEpffSBw=;\n\tb=EJo5Y/nwu9hhrfhnDkMhlsCUedb4LJHqCd3lbtbXXngIx4O1fQeC46bdwXNJnpcYqW\n\tn53+VEwcB3xYl3p6q70jJ39lpBrZbiXBG5hbxzXSmY8Ld5KT2MY2qkJ9dcyoheMRBlCP\n\tb8FDGhfwWjfuvEL7jwgv4KzgYTlKqxlekqmaDhl8EdP9P3dqK/ZI1NCRtVafugbn6l98\n\t0OeUbSBCUW54Zj6if9o+s7vEC8asyOXdPmaaBxW/4EpswJlf0RBY+VFQVFaGgdIffCwj\n\tZyVIR6fwnZDthzRLfpYobV3aKQR91jwxQyy7rsze7sqkkZtxSR5v2syWuJvqxFyuYG/9\n\t519A==","X-Gm-Message-State":"AOJu0YwTJ3xElMqN/71oUQ1VZpS0Rg+dMCk3EvJvYEUSU8jzaCbui72P\n\toOC8ugEoc/XTwpSg3bZnDCcKZ36q/1LnHIZ4b0FHh1bOgtxBKuXDS1RHQ1iV+h0FV9TPev6WQzr\n\t2","X-Gm-Gg":"ASbGnctYiOFwS4di997FIA5v3LApYvBHbT6OXGhJSf+4v80GTMUKECbpoFSud6vz4XT\n\trbI26+oipnfDsurXuwtzZM6PdZEpA0ULdZXO8rC8FQY/yFY2Z8T7W7hsTH3GRqeLdtdr50Xl2i1\n\tgh5dTYoQmHrv/D6gY58rI8SkJh7/xHidaWxITKS26j/rRG1tY7oz4SLgbFve1Jb4YY1+tlN/o5z\n\tjJMYCClYVYSKzxvCfFu/yfHOVctxZ96NMExsU3jAb+tt9NrAhw9i4uXg9JPe9HnrZwLj0TRoVe4\n\tBzIoJA==","X-Google-Smtp-Source":"AGHT+IE+rr/wBmIH5npheKEyT/l9g+6IsP7kCtrqZsqYaDsj3H6Kip/TBXppd6kIR1yJb3ZQAluHnA==","X-Received":"by 2002:a05:600c:6a06:b0:434:9fb5:fe04 with SMTP id\n\t5b1f17b1804b1-4349fb5ff09mr52287715e9.28.1732623430029; \n\tTue, 26 Nov 2024 04:17:10 -0800 (PST)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"David Plowman <david.plowman@raspberrypi.com>","Subject":"[RFC PATCH 1/3] controls: Add FrameWallClock and FrameWallClockRaw\n\tcontrols","Date":"Tue, 26 Nov 2024 12:17:04 +0000","Message-Id":"<20241126121706.4350-2-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.39.5","In-Reply-To":"<20241126121706.4350-1-david.plowman@raspberrypi.com>","References":"<20241126121706.4350-1-david.plowman@raspberrypi.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":"We add FrameWallClockRaw, a direct \"raw\" measurement of the wall clock\ntimestamp for the frame, and FrameWallClock, for a smoothed\n(de-jittered) version of the same number.\n\nSigned-off-by: David Plowman <david.plowman@raspberrypi.com>\n---\n src/libcamera/control_ids_core.yaml | 29 +++++++++++++++++++++++++++++\n 1 file changed, 29 insertions(+)","diff":"diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml\nindex d34a2d06..7cf0f481 100644\n--- a/src/libcamera/control_ids_core.yaml\n+++ b/src/libcamera/control_ids_core.yaml\n@@ -973,4 +973,33 @@ controls:\n       description: |\n         Enable or disable the debug metadata.\n \n+  - FrameWallClockRaw:\n+      type: int64_t\n+      description: |\n+        The time in microseconds since the system clock's epoch.\n+\n+        This is a direct measurement of the number of microseconds since the\n+        system clock's epoch. Because of the way it is sampled, this value is\n+        likely to be subject to significant amounts of system and system\n+        load-dependent jitter, typically of many milliseconds in duration.\n+\n+        For a smoothed version of this timestamp, use the FramwWallClock\n+        control.\n+\n+        \\sa FrameWallClock\n+\n+        The FrameWallClockRaw control can only be returned in metadata.\n+\n+  - FrameWallClock:\n+      type: int64_t\n+      description: |\n+        The time in microseconds since the system clock's epoch.\n+\n+        This is a smoothed version of the FrameWallClockRaw timestamp, which\n+        should show much reduced amounts of jitter.\n+\n+        \\sa FrameWallClockRaw\n+\n+        The FrameWallClock control can only be returned in metadata.\n+\n ...\n","prefixes":["RFC","1/3"]}