Skip to content

Commit 310bf3f

Browse files
ipa: rpi: controller: AutoFocus improvements
In getPhase(), stop using different weights for sumWc and sumWcp. This should improve linearity e.g. in earlyTerminationByPhase(). Use AWB statistics, and optionally try to detect IR lighting and suppress PDAF in that case, as IR interferes with PDAF on IMX708. Make earlyTerminationByPhase() harder to trigger; extrapolate less. Improve quadratic peak fitting in findPeak(). The old approximation was good but only really valid when points were equally spaced and the MAX was not at one end of the series. For PDAF-based CAF, suppress lens movement unless "phase" has had the same sign for 4 frames in a row. This suppresses noise/wobble. Change the logic for falling back from PDAF to CDAF, and for re- triggering a CDAF-based scan. It is now triggered by image change (based on both Focus and AWB statistics) followed by stability. Modify CDAF scan pattern so it doesn't always start at the lowest setting, but can sometimes start from the current lens position. (Though in the worst case this requires two coarse scans, if the first one went in the wrong direction.) Shorten fine scan and allow it to be skipped when step_fine == 0 Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
1 parent 1a1dff5 commit 310bf3f

File tree

2 files changed

+254
-80
lines changed

2 files changed

+254
-80
lines changed

0 commit comments

Comments
 (0)