[PATCH v3 0/7] Camera synchronisation
David Plowman
david.plowman at raspberrypi.com
Thu Jan 9 15:32:04 CET 2025
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).
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