{"id":22398,"url":"https://patchwork.libcamera.org/api/1.1/covers/22398/?format=json","web_url":"https://patchwork.libcamera.org/cover/22398/","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":"<20241218180310.7824-1-david.plowman@raspberrypi.com>","date":"2024-12-18T18:03:07","name":"[v2,0/3] Wall clocks and camera sync","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/1.1/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/22398/mbox/","series":[{"id":4913,"url":"https://patchwork.libcamera.org/api/1.1/series/4913/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4913","date":"2024-12-18T18:03:07","name":"Wall clocks and camera sync","version":2,"mbox":"https://patchwork.libcamera.org/series/4913/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/22398/comments/","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 F115AC3301\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Dec 2024 18:03:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B3050680B2;\n\tWed, 18 Dec 2024 19:03:16 +0100 (CET)","from mail-wm1-x331.google.com (mail-wm1-x331.google.com\n\t[IPv6:2a00:1450:4864:20::331])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 14AEC67F59\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Dec 2024 19:03:15 +0100 (CET)","by mail-wm1-x331.google.com with SMTP id\n\t5b1f17b1804b1-4361f65ca01so65843635e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Dec 2024 10:03:15 -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-43656b01c88sm27927285e9.17.2024.12.18.10.03.12\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 18 Dec 2024 10:03:12 -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=\"Jy+wBKLH\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1734544994; x=1735149794;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=4yJQddugP73yRIVsGD9Qg7LoYvrSFtqy658JgXcXbCk=;\n\tb=Jy+wBKLH0VSCKAX2pmyT7RKTmqKpyVmRozgIqqn1bSFVS+z8jJjQm49OOY6N/EZliz\n\t5f+fu6DGQ4ZlYpicaaENdq2RIhVSF/tH35bO27llAFYexJ/hR5wXYAF81UcMX0HSfjur\n\tMxt6+QJd2HXw+PuGYwqXy2AmZ0pqN+CI1SPtfoqLtb7PalkiJcG4hB6MgvVwYFWbRDBj\n\tp2g8xPCMhCASdS73c/4S2kBa3mgp0VdXnjHz+vbFnDzU5XrkS0Sucyrldc8zXBUECWur\n\tRtElkYAqDiPX77HH09s30qsmunuPY48dlTpTTlaR7fwh9kTg79MCHHF7Ehl1Y7WADRvb\n\t660Q==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1734544994; x=1735149794;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=4yJQddugP73yRIVsGD9Qg7LoYvrSFtqy658JgXcXbCk=;\n\tb=skb1HpTX3u/V/PdXiraQ+pvAV/a4KEm4YG887bagPhBWF+zuCIKHXsifgiuOflCKK9\n\tWJJR5seAmxuAQZgVnyuNKdJdOXw8qjdsAONQmM4Mn9VxBGzr1cbXw9Kl5yfSk1KTb0EZ\n\too4vxGUQkbL3QB/+rxKXKS5BIfC1LKpqvTBAyTYnBzl259IUDma3P86SFfS82Wdscu0V\n\trTBT6fMUJ12pkFipF4l8vBHz4dWViOmZEInTejeRkLTnGZaSDPzB+2lvZ9cmsWUbB+7I\n\tio2mXuVyy4F5vj+wDrUhyLnQaphfh5OBxXY1To0AeHEsJTSoV7qtxA28Y/rhScd0c00j\n\txYxQ==","X-Gm-Message-State":"AOJu0Yz4UEoEj6AAorIxMTIeDIdjb0a+evnoP/x0cWhWNak59rSKN1aY\n\t+yOuicOLEoe5pcyUoArgLBbSTQQyssD8woc++UpHGatwgYH9Hggp+V35Zpq/RL/bqUitlrsXCV3\n\tu","X-Gm-Gg":"ASbGncsxAuVGqcyNsXGCwLAGgu5prp/uCrRyQ54FGhmI9wPpKkZ8xVC/YinsmFJ6t3f\n\tckso5BnreoCmvEEZNxdQdsIaE1nLHWXw0bFn4yJyw58TyFm9KTxH94kf3q4Ad2gxVkyr1VVU5Js\n\t9aYOBFJGrbKRliqc4tk0zEfieyMpgdhna+4ZTv0+xYHhkN6rWy7AKX6aMZO5w9E+37LKsuQFOa2\n\tSPjsRzeqQKaNZR4pY/HjlDUGD9hVkW2QkR9Ktr3Q0gnHITqHmk4gDWONV4DbahyHTw63gyD+oSR\n\tdEM08Xzv0Hvx","X-Google-Smtp-Source":"AGHT+IG1KgnuVior5C9RjfRoPVkDmt/RlkQ/QTwBa1aAjBiF2JMwiYPpsS1vvRfh2lOPrBEIPppEuQ==","X-Received":"by 2002:a05:600c:3111:b0:435:32e:8270 with SMTP id\n\t5b1f17b1804b1-4365535dec5mr37219585e9.14.1734544994000; \n\tWed, 18 Dec 2024 10:03:14 -0800 (PST)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"David Plowman <david.plowman@raspberrypi.com>","Subject":"[PATCH v2 0/3] Wall clocks and camera sync","Date":"Wed, 18 Dec 2024 18:03:07 +0000","Message-Id":"<20241218180310.7824-1-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.39.5","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":"Hi\n\nHere's a first revision of previous wall clock and camera sync patch\nsets. The functionality has been shifting around a bit so it doesn't\nentirely correspond to any previous patch set, nonetheless I hope it's\nclear that it does supercede everything prior.\n\nThe main differences here are:\n\n* I've made most of the updates from reviews so far. I realise there's\n  still some stuff under discussion, but, you know, trying to make\n  progress where we can!\n\n* THe clock recovery has been taken out of the V4l2VideoDevice, and\n  therefore wallclocks don't feature in buffer metadata either (I\n  think this was the preferred route?). This means that these patches\n  are the sum total of changes that affect core code.\n\nPipeline handlers will pick up some very small mods in subsequent\npatches to derive wallclock values and forward them to the request\nmetadata.\n\nHope that makes sense!\n\nThanks\nDavid\n\nDavid Plowman (3):\n  controls: Add FrameWallClock control\n  libcamera: Add ClockRecovery class to generate wallclock timestamps\n  controls: Add camera synchronisation controls\n\n include/libcamera/internal/clock_recovery.h |  68 ++++++\n include/libcamera/internal/meson.build      |   1 +\n src/libcamera/clock_recovery.cpp            | 230 ++++++++++++++++++++\n src/libcamera/control_ids_core.yaml         | 127 ++++++++++-\n src/libcamera/meson.build                   |   1 +\n 5 files changed, 424 insertions(+), 3 deletions(-)\n create mode 100644 include/libcamera/internal/clock_recovery.h\n create mode 100644 src/libcamera/clock_recovery.cpp"}