Message ID | 20250109143211.11939-1-david.plowman@raspberrypi.com |
---|---|
Headers | show |
Series |
|
Related | show |
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 >