From patchwork Thu Jun 19 10:05:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 23601 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 08DF3C3237 for ; Thu, 19 Jun 2025 10:09:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A629F68DE8; Thu, 19 Jun 2025 12:09:03 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="oFvUkHga"; dkim-atps=neutral Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DE53B61538 for ; Thu, 19 Jun 2025 12:09:01 +0200 (CEST) Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4531898b208so343835e9.3 for ; Thu, 19 Jun 2025 03:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1750327741; x=1750932541; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=KL+t1hRMzxyPq/I+GF0zlb25PYJXhTQzDNCLLeDSZf8=; b=oFvUkHgaYeSoP6sc2w07j7m02IfQLMFSZFe2j7WuOBa+rcIEsZv2EFdh0Qt30KtNfb 44wDZ09SkvEVOzU/40YwstN8AIjYUw9J7dDugrqJrlxxf2DTyv11W7ni7uec8N5l3l4o jegK/tYwkoQqVcPh1qNN5MewzRgmLtKh8Em9gNwUgENpEuCc8dtiU2FitflW91OiCyh7 A0RkPa22OPau+4EB4H2ebC1dbLlZR6lcds0+pV9hlZOxx3uL/YcN6bBJbtad0tZAF+L/ aVtoulozvaI6uBXE/S/lIPnEFaPOrlpTW1mdNwn10e65x4ejw0KZ9m5REyIWZOEapjLS VKPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750327741; x=1750932541; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=KL+t1hRMzxyPq/I+GF0zlb25PYJXhTQzDNCLLeDSZf8=; b=fvxrWCfyKiccAPmgnY36LhlYqb4ZKfg88ZjFDzdYdFN7OyNOEW4HXWeXk5IPfLZ0l9 P1sYsRJsn55hubSqq3uMY3RMlwQhUTxxOdu4rT0daNK/nClK4fD5TblxvtHz3xwDvFm0 xz6lTqZ4qTAHXaipxqhFKtNHl59fm8V8bmnuziOD9CV0QKG6thGG7sIgMHMPqSEFwaME FxUhkA37p6qGR7dnxZxDEEccSZUBekqY+pDSKUfYWIbKlxyqmybRdiT+jzw4z46qLYZW KKi5q7C9BP+ocEY1IW4DLlPRWgc89wDz29mtdo1xgtTv3IzGBYOUd2Ow+R3lBxkkQAMe 1PYw== X-Gm-Message-State: AOJu0YxoMWf4MMHkDUO6Gi2pfQ9qeBZhgxAtydHpz1r076KqqkRD28UG 5SGdPvigW2KuPHJRssrvYdqpOJ7vqtWX0NMeodOGyDodAfmE/v45GiUmifBMzeH0yaLlfscjwRr e96Ed X-Gm-Gg: ASbGnct+4HFBupihQLCWKbm6XdlBAmHDdF4Cn6ZLhOjaqJJoxHIKfhWunZUfeE+qERC /Vpmcw7Vx86FDbGr8GrZAZqCYc5eUrYefs1hAVi1H+BjzVeA730WRHx1fCdJv5qZ0IqFlr1HIHB dKHoqDXrLiRceVHsQF/avGUeiKwJ65UopeFDOPSuQASTyD1lb4QGOqeRJn0PUcw3KdfafEsG+Lo 7h7SZ0Ytu9yFc3BrJH6cQ1BDOKaQqCfPUnN/yUedh2zamu0crMZzGkE9Jka7Tti1XQvcd4mVb5V +Dl0w1joFGP8wQ+vIWTSv0pmiWU81EtaIwRiuaYwKhh0OShvOCXe3ngrf71HKBnC3Ch72S4eWQ3 SdqIXIQE3In8nUko3 X-Google-Smtp-Source: AGHT+IG73MrIOcteQnhwOBGm4715TUcJwzIwjL37D8POKwkR7dMi/IzFtIsXWjrQw75bk3Fo6xQKVQ== X-Received: by 2002:a05:600c:3f0b:b0:453:590b:d392 with SMTP id 5b1f17b1804b1-4535ef4f91amr10617475e9.2.1750327740799; Thu, 19 Jun 2025 03:09:00 -0700 (PDT) Received: from NAUSH-P-DELL.pitowers.org ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4535ebcecb5sm23926555e9.37.2025.06.19.03.09.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jun 2025 03:09:00 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: kieran.bingham@ideasonboard.com, Naushir Patuck Subject: [PATCH 0/4] Wallclock support Date: Thu, 19 Jun 2025 11:05:52 +0100 Message-ID: <20250619100857.124809-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, This is a collection of patches that have been posted/reviewed in the past. As discussed offline, I'm sending this as a new series to bunch everything that now needs merging together in one series. This supersedes the following series fully or partially: https://patchwork.libcamera.org/project/libcamera/list/?series=4913 https://patchwork.libcamera.org/project/libcamera/list/?series=4964 Thanks, Naush David Plowman (4): controls: Add FrameWallClock control libcamera: Add ClockRecovery class to generate wallclock timestamps controls: Add camera synchronisation controls for Raspberry Pi pipeline: rpi: Add wallclock timestamp support include/libcamera/internal/clock_recovery.h | 68 ++++++ include/libcamera/internal/meson.build | 1 + src/libcamera/clock_recovery.cpp | 230 ++++++++++++++++++ src/libcamera/control_ids_core.yaml | 19 +- src/libcamera/control_ids_rpi.yaml | 112 +++++++++ src/libcamera/meson.build | 1 + .../pipeline/rpi/common/pipeline_base.cpp | 5 + .../pipeline/rpi/common/pipeline_base.h | 3 + src/libcamera/pipeline/rpi/pisp/pisp.cpp | 10 +- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 10 +- 10 files changed, 452 insertions(+), 7 deletions(-) create mode 100644 include/libcamera/internal/clock_recovery.h create mode 100644 src/libcamera/clock_recovery.cpp