[PATCH RFC 0/3] Pass sensor delays from rkisp1 IPA to the pipeline handler

Mikhail Rudenko mike.rudenko at gmail.com
Mon Oct 28 18:36:56 CET 2024


Hi,

At present, rkisp1 uses hardcoded sensor control delays. In the case
when they do not match real sensor delays, the AGC algorithm operates
in a suboptimal mode, leading to gain/exposure oscillations on capture
start and slower convergence.

This series does 3 things to fix this situation. First, it adds an IPC
structure for sensor control delays. Second, it adds sensorDelays()
method to the CameraSensorHelper and overrides it where
sensor-specific delays are known. And finally, it replaces hardcoded
delays in rkisp1 pipeline handler with those obtained from the
CameraSensorHelper via IPA.

I'm not completely sure this is the best solution from the
architecture viewpoint, thus "RFC". Any feedback is welcome!

Mikhail Rudenko (3):
  ipa: core: add IPASensorDelays structure
  libcamera: libipa: camera_sensor: Add sensorDelays method
  ipa: rkisp1: Pass sensor delays from IPA to pipeline handler

 include/libcamera/ipa/core.mojom         | 35 ++++++++++++++
 include/libcamera/ipa/rkisp1.mojom       |  3 +-
 src/ipa/libipa/camera_sensor_helper.cpp  | 59 ++++++++++++++++++++++++
 src/ipa/libipa/camera_sensor_helper.h    |  5 ++
 src/ipa/rkisp1/rkisp1.cpp                |  8 +++-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp | 27 +++++------
 6 files changed, 118 insertions(+), 19 deletions(-)

--
2.46.0


More information about the libcamera-devel mailing list