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

Daniel Semkowicz dse at thaumatec.com
Tue Jul 12 14:13:20 CEST 2022


Hi Jacopo,

Thank you for the information about the state. I see there is a lot of
traffic on libcamera mailing list, so I thought you probably have a
lot of work :)

In the mean time I tested my changes on different platform and found one
issue that needs an improvement, so I have two additional commits to
this series. Should I send them separately or resend this series as new
version with additional commits? There are no changes in already pushed
commits.

Best regards
Daniel

On Tue, Jul 12, 2022 at 11:17 AM Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> Hi Daniel,
>    just a note to let you know this has not gone forgotten. I've very
> keen in looking into that. I spent some time setting up a rockpi4
> where I can connect an imx519 camera module which has a lens.
>
> I'll keep working to test your series there!
>
> Thanks
>    j
>
> On Thu, Jun 30, 2022 at 04:35:35PM +0200, Daniel Semkowicz via libcamera-devel wrote:
> > Hello,
> >
> > The following set of patches introduces an autofocus algorithm for
> > rkisp1 platforms. As there are common parts of code in the IPU3, RPi and
> > now they would be repeated in rkisp1, I tried to separate the main
> > control part of the AF algorithm in the new AfHillClimbing class.
> >
> > These changes make use of the freshly introduced algorithm registration
> > mechanism. As there was a missing part for the easy way to get the
> > specific algorithm from the dynamically loaded list, I added
> > getAlgorithm<AlgoType>() method to the Module class that. It was
> > implemented in the fastest way to get it working, but I think we should
> > improve it later. Maybe it would be good to extend algorithm creation
> > and store also the name of corresponding algorithm to allow calling it
> > by name instead of type. Especially that algorithms are loaded from
> > tuning file by name.
> >
> > I am not sure if the directory structure I have chosen for the common
> > code is a good place, so please correct me if I should place it
> > somewhere else.
> >
> > Doxygen documentation part should be, for sure, more detailed, but I
> > firstly want to wait for your comments about the code, just in case if
> > there were any changes to the design.
> >
> > These changes depend on the "libcamera: rkisp1: Add lens control"
> > changes that are still in the review process.
> > Link: https://patchwork.libcamera.org/project/libcamera/list/?series=3228
> >
> > I am waiting for your comments :)
> >
> > Best regards
> > Daniel Semkowicz
> >
> > Daniel Semkowicz (8):
> >   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: module: Add getAlgorithm() method
> >   ipa: rkisp1: Pass requests setting AF controls to the AF algorithm
> >   ipa: rkisp1: Add OV5675 tuning file
> >   ipa: rkisp1: Add "Windows" Metering mode to auto focus algorithm
> >
> >  src/ipa/libipa/algorithms/af_algorithm.cpp    |  77 ++++++
> >  src/ipa/libipa/algorithms/af_algorithm.h      |  39 +++
> >  .../libipa/algorithms/af_hill_climbing.cpp    |  89 +++++++
> >  src/ipa/libipa/algorithms/af_hill_climbing.h  | 251 ++++++++++++++++++
> >  src/ipa/libipa/algorithms/meson.build         |  11 +
> >  src/ipa/libipa/meson.build                    |   6 +
> >  src/ipa/libipa/module.cpp                     |   7 +
> >  src/ipa/libipa/module.h                       |  17 ++
> >  src/ipa/rkisp1/algorithms/af.cpp              | 132 +++++++++
> >  src/ipa/rkisp1/algorithms/af.h                |  41 +++
> >  src/ipa/rkisp1/algorithms/meson.build         |   1 +
> >  src/ipa/rkisp1/data/meson.build               |   1 +
> >  src/ipa/rkisp1/data/ov5675.yaml               |  12 +
> >  src/ipa/rkisp1/rkisp1.cpp                     |  72 ++++-
> >  src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  12 +-
> >  15 files changed, 762 insertions(+), 6 deletions(-)
> >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.cpp
> >  create mode 100644 src/ipa/libipa/algorithms/af_algorithm.h
> >  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/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.34.1
> >


More information about the libcamera-devel mailing list