[libcamera-devel] [PATCH v3 0/8] ipa: rkisp1: Add autofocus algorithm

Jacopo Mondi jacopo.mondi at ideasonboard.com
Tue Feb 7 16:41:35 CET 2023


Hi Daniel

On Thu, Jan 19, 2023 at 09:41:04AM +0100, Daniel Semkowicz via libcamera-devel wrote:
> Hi!
>
> This is a patch series with a common AF algorithm implementation
> basing on the IPU3 AF version. The common part was then used to
> implement AF for the rkisp1 ISP.
>
> Early version of this serie was uploaded in the July, but there were
> some change in the IPA in the meantime. The current version was updated
> to the new IPA code and has most of the comments from the v2 review
> fixed.

I managed to test your series with a different camera module, in CAF mode.

I'm very happy with the result! it's contrast based so it's not
comparable with the performances of a PDAF sensor, but it works
well and proves I was over-concerned about CAF mode with contrast
based algorithms!

I think the part that still need some work is the discussion about the
class hierarchy, but I'm in favour of moving forward with the series
and iterate on top with more fine-grained support for more complex
scenarios and integrate with the work Matthias has done for advanced
optics.

What do you think about the class hierachy design ? Is this something
you would like to consider discussing ?

Thanks!!
   j

>
> Best regards
> Daniel Semkowicz
>
> Daniel Semkowicz (8):
>   rkisp1: Add camera lens to PH and expose it to the IPA
>   rkisp1: Control camera lens position from IPA
>   ipa: Add base class defining AF algorithm interface
>   ipa: Add class that implements base AF control algorithm
>   ipa: rkisp1: Add AF algorithm basing on common AfHillClimbing class
>   pipeline: rkisp1: Add basic AF controls to the supported controls list
>   ipa: rkisp1: Add "Windows" Metering mode to auto focus algorithm
>   ipa: rkisp1: Add OV5675 tuning file
>
>  include/libcamera/ipa/rkisp1.mojom            |   2 +
>  .../libipa/algorithms/af_hill_climbing.cpp    | 374 ++++++++++++++++++
>  src/ipa/libipa/algorithms/af_hill_climbing.h  | 102 +++++
>  src/ipa/libipa/algorithms/af_interface.cpp    |  92 +++++
>  src/ipa/libipa/algorithms/af_interface.h      |  41 ++
>  src/ipa/libipa/algorithms/meson.build         |  11 +
>  src/ipa/libipa/meson.build                    |   6 +
>  src/ipa/rkisp1/algorithms/af.cpp              | 182 +++++++++
>  src/ipa/rkisp1/algorithms/af.h                |  51 +++
>  src/ipa/rkisp1/algorithms/meson.build         |   1 +
>  src/ipa/rkisp1/data/meson.build               |   1 +
>  src/ipa/rkisp1/data/ov5675.yaml               |  20 +
>  src/ipa/rkisp1/ipa_context.h                  |   5 +
>  src/ipa/rkisp1/rkisp1.cpp                     |  23 ++
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  21 +
>  15 files changed, 932 insertions(+)
>  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.cpp
>  create mode 100644 src/ipa/libipa/algorithms/af_hill_climbing.h
>  create mode 100644 src/ipa/libipa/algorithms/af_interface.cpp
>  create mode 100644 src/ipa/libipa/algorithms/af_interface.h
>  create mode 100644 src/ipa/libipa/algorithms/meson.build
>  create mode 100644 src/ipa/rkisp1/algorithms/af.cpp
>  create mode 100644 src/ipa/rkisp1/algorithms/af.h
>  create mode 100644 src/ipa/rkisp1/data/ov5675.yaml
>
> --
> 2.39.0
>


More information about the libcamera-devel mailing list