[libcamera-devel] [PATCH 0/5] Raspberry Pi AGC: initial frame drop count
David Plowman
david.plowman at raspberrypi.com
Wed Dec 2 12:52:48 CET 2020
Hi everyone
Thanks for merging my last set of AGC related patches. Here's the
final set of AGC patches that I have prior to the release of our
libcamera apps, I'm hoping we can get a bit of a head start with them!
The patches are all quite bitesize, and are concerned with deciding
how many frames our pipeline handler should drop when the camera
starts up for the first time (while the AGC converges from cold).
Responsibility has been moved from the CamHelper class, where it was
entirely inappropriate really, to the AGC itself. One of the patches
is dependent on Naush's Camera::start patch set so maybe we look
slightly askance at that one for now! So we have:
1. Add a flag to the pipeline handler so we know if it's the first
time we're starting the camera.
2. (This one depends on Naush's patch set) The number of frames to
drop is now returned by the IPA to the Camera::start method, not
Camera::configure.
3. The AGC algorithm acquires a GetDropFrames method which can be
called before the camera starts to discover the number of frames the
AGC wants us to drop.
4. The code in IPARPi::start is amended to use the new
Agc::GetDropFrames method.
5. CamHelperOv5647 needs to request that we skip 2 frames at
startup. (It is inheriting the default value of zero otherwise, which
is not correct for this sensor.)
Thanks very much!
Best regards
David
David Plowman (5):
src: ipa: raspberrypi: Distinguish the first camera start from others
src: raspberrypi: Pass the drop frame count in start, not configure
src: ipa: raspberrypi: agc: Add GetDropFrames method to AGC base class
src: ipa: raspberrypi: Move initial frame drop decision to AGC
src: ipa: raspberrypi: Drop the correct number of frames on startup
for ov5647
src/ipa/raspberrypi/cam_helper.cpp | 6 +--
src/ipa/raspberrypi/cam_helper_ov5647.cpp | 10 ++++
.../raspberrypi/controller/agc_algorithm.hpp | 1 +
src/ipa/raspberrypi/controller/rpi/agc.cpp | 11 ++++
src/ipa/raspberrypi/controller/rpi/agc.hpp | 2 +
src/ipa/raspberrypi/raspberrypi.cpp | 53 ++++++++++++-------
.../pipeline/raspberrypi/raspberrypi.cpp | 25 ++++-----
7 files changed, 73 insertions(+), 35 deletions(-)
--
2.20.1
More information about the libcamera-devel
mailing list