[PATCH v3 0/7] Camera synchronisation
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Jan 9 17:12:04 CET 2025
Quoting David Plowman (2025-01-09 14:32:04)
> Hi everyone
>
> Here's what I think is version 3 (?) of this patch set. The main
> change here is just that the Sync controls have been made Raspberry Pi
> specific. Note also that the "FrameWallClock control" patch is still
> here (doesn't appear to have been merged at the time of writing).
Thanks I was just about to merge
https://patchwork.libcamera.org/patch/22399/ but realised there was
extraneous changes that needed to be removed. Now I've seen your update
here has the correct version that doesn't try to remove the SPDX header.
--
Kieran
>
> Those interested in how a timing offset could be supplied should look
> at the 4th patch ("Add wallclock timestamp support"). A proposed
> "SyncOffset" control value would get remembered in applyControls(),
> and then in processStats() it could be used in place of the offset
> value from the SyncStatus (that pops out of the sync algorithm). Hope
> that's clear!
>
> Thanks
> David
>
> David Plowman (6):
> 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
> ipa: rpi: sync: Add an implementation of the camera sync algorithm
> ipa: rpi: vc4: Update all tuning files for sync algorithm
>
> Naushir Patuck (1):
> ipa: rpi: Add base classes and plumbing for sync algorithm
>
> include/libcamera/internal/clock_recovery.h | 68 ++++
> include/libcamera/internal/meson.build | 1 +
> src/ipa/rpi/common/ipa_base.cpp | 78 ++++-
> src/ipa/rpi/common/ipa_base.h | 4 +-
> src/ipa/rpi/controller/meson.build | 1 +
> src/ipa/rpi/controller/rpi/sync.cpp | 330 ++++++++++++++++++
> src/ipa/rpi/controller/rpi/sync.h | 68 ++++
> src/ipa/rpi/controller/sync_algorithm.h | 31 ++
> src/ipa/rpi/controller/sync_status.h | 27 ++
> src/ipa/rpi/vc4/data/imx219.json | 7 +-
> src/ipa/rpi/vc4/data/imx219_noir.json | 7 +-
> src/ipa/rpi/vc4/data/imx283.json | 7 +-
> src/ipa/rpi/vc4/data/imx290.json | 7 +-
> src/ipa/rpi/vc4/data/imx296.json | 7 +-
> src/ipa/rpi/vc4/data/imx296_mono.json | 7 +-
> src/ipa/rpi/vc4/data/imx378.json | 7 +-
> src/ipa/rpi/vc4/data/imx477.json | 7 +-
> src/ipa/rpi/vc4/data/imx477_noir.json | 7 +-
> src/ipa/rpi/vc4/data/imx477_scientific.json | 7 +-
> src/ipa/rpi/vc4/data/imx519.json | 7 +-
> src/ipa/rpi/vc4/data/imx708.json | 7 +-
> src/ipa/rpi/vc4/data/imx708_noir.json | 7 +-
> src/ipa/rpi/vc4/data/imx708_wide.json | 7 +-
> src/ipa/rpi/vc4/data/imx708_wide_noir.json | 7 +-
> src/ipa/rpi/vc4/data/ov5647.json | 7 +-
> src/ipa/rpi/vc4/data/ov5647_noir.json | 7 +-
> src/ipa/rpi/vc4/data/se327m12.json | 7 +-
> src/libcamera/clock_recovery.cpp | 230 ++++++++++++
> src/libcamera/control_ids_core.yaml | 15 +
> src/libcamera/control_ids_rpi.yaml | 113 ++++++
> src/libcamera/meson.build | 1 +
> .../pipeline/rpi/common/pipeline_base.cpp | 5 +
> .../pipeline/rpi/common/pipeline_base.h | 3 +
> src/libcamera/pipeline/rpi/vc4/vc4.cpp | 10 +-
> 34 files changed, 1086 insertions(+), 25 deletions(-)
> create mode 100644 include/libcamera/internal/clock_recovery.h
> create mode 100644 src/ipa/rpi/controller/rpi/sync.cpp
> create mode 100644 src/ipa/rpi/controller/rpi/sync.h
> create mode 100644 src/ipa/rpi/controller/sync_algorithm.h
> create mode 100644 src/ipa/rpi/controller/sync_status.h
> create mode 100644 src/libcamera/clock_recovery.cpp
>
> --
> 2.39.5
>
More information about the libcamera-devel
mailing list