[RFC PATCH 0/7] Improve regulation on rkisp1

Stefan Klug stefan.klug at ideasonboard.com
Fri Dec 20 17:26:46 CET 2024


Hi all,

I was looking at some strange AE regulation issues on imx8mp (massive
oscillations and going to a complete white image in the beginning). This
series adds a few fixes in that area and maybe eases debugging a little
bit.

Patch 1-3 add a sequence number to DelayedControls::push() without
modifying the existing behaviour. This helps in spotting asymetric
push()/apply()/get() calls.

Patch 4-7 add handling of controls supplied to camera->start() for the
rkisp1 pipeline. This has the nice side effect, that initial settings
from the AGC module get applied to the sensor before start.

With this series the startup behavior on my setup has greatly improved.

There is still some more testing needed, but it would be great to get
some feedback on this.

Best regards & Merry Christmas
Stefan



Stefan Klug (7):
  libcamera: delayed_controls: Add push() function that accepts a
    sequence number
  libcamera: delayed_controls: Increase log level for dummy pushes
  pipeline: rkisp1: Include frame number when pushing to delayed
    controls
  pipeline: rkisp1: Refactor setControls()
  pipeline: rkisp1: Apply initial controls
  ipa: rkisp1: Add a lookahead of one frame when sending sensor controls
  ipa: rkisp1: Set frameContext.agc in queueRequest for auto mode also

 include/libcamera/internal/delayed_controls.h |  1 +
 include/libcamera/ipa/rkisp1.mojom            |  7 +++-
 src/ipa/rkisp1/algorithms/agc.cpp             | 10 +++---
 src/ipa/rkisp1/rkisp1.cpp                     | 36 +++++++++++--------
 src/libcamera/delayed_controls.cpp            | 35 ++++++++++++++++--
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 15 +++++---
 6 files changed, 76 insertions(+), 28 deletions(-)

-- 
2.43.0



More information about the libcamera-devel mailing list