[PATCH v4 0/7] Camera synchronisation

David Plowman david.plowman at raspberrypi.com
Wed Jan 22 15:53:42 CET 2025


Hi everyone

Here's an updated set of camera sync patches. The only changes are the
tags that Kieran and Naush added, plus a handful of very minor
cosmetic things.

I'm hoping we can make some progress towards getting at least some of
this merged (the first patch in particular looks to have plenty of
tags already!), plus further reviews where these are still required.

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: common: 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               |  61 +++-
 src/ipa/rpi/common/ipa_base.h                 |   4 +-
 src/ipa/rpi/controller/meson.build            |   1 +
 src/ipa/rpi/controller/rpi/sync.cpp           | 329 ++++++++++++++++++
 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           |  19 +-
 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, 1069 insertions(+), 28 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