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

Jacopo Mondi jacopo at jmondi.org
Tue Jul 12 15:07:27 CEST 2022


Hi Daniel,

On Tue, Jul 12, 2022 at 02:13:20PM +0200, Daniel Semkowicz wrote:
> 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.

Please send a new series, so that the state is kept in a single
thread.

Thanks
  j

>
> 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