[libcamera-devel] [PATCH v2] libcamera: ipa: raspberrypi: Enable focus measure without recompile
David Plowman
david.plowman at raspberrypi.com
Wed Jul 1 18:25:00 CEST 2020
Hi Jacopo
Thanks for the review!
On Wed, 1 Jul 2020 at 17:09, Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> Hi David,
>
> On Wed, Jul 01, 2020 at 01:50:21PM +0100, David Plowman wrote:
> > Previously, output of the focus measure could not be enabled without
> > recompiling (because of the RPI_LOGGING_ENABLE macro). This uses the
> > libcamera logging mechanism instead, so can be enabled/disabled at
> > runtime.
> >
> > Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> > ---
> > src/ipa/raspberrypi/controller/rpi/focus.cpp | 16 ++++++----------
> > src/ipa/raspberrypi/controller/rpi/focus.hpp | 3 ---
> > src/ipa/raspberrypi/data/imx477.json | 2 +-
> > 3 files changed, 7 insertions(+), 14 deletions(-)
> >
> > diff --git a/src/ipa/raspberrypi/controller/rpi/focus.cpp b/src/ipa/raspberrypi/controller/rpi/focus.cpp
> > index 1e2b649..573831b 100644
> > --- a/src/ipa/raspberrypi/controller/rpi/focus.cpp
> > +++ b/src/ipa/raspberrypi/controller/rpi/focus.cpp
> > @@ -6,11 +6,15 @@
> > */
> > #include <stdint.h>
> >
> > +#include "libcamera/internal/log.h"
> > +
> > #include "../focus_status.h"
> > -#include "../logging.hpp"
> > #include "focus.hpp"
> >
> > using namespace RPi;
> > +using namespace libcamera;
> > +
>
> OCD says 'l' comes before 'R'
No problem with that!
>
> > +LOG_DEFINE_CATEGORY(RPI_FOCUS)
> >
> > #define NAME "rpi.focus"
> >
> > @@ -24,11 +28,6 @@ char const *Focus::Name() const
> > return NAME;
> > }
> >
> > -void Focus::Read(boost::property_tree::ptree const ¶ms)
> > -{
> > - print_ = params.get<int>("print", 0);
> > -}
> > -
> > void Focus::Process(StatisticsPtr &stats, Metadata *image_metadata)
> > {
> > FocusStatus status;
> > @@ -37,10 +36,7 @@ void Focus::Process(StatisticsPtr &stats, Metadata *image_metadata)
> > status.focus_measures[i] = stats->focus_stats[i].contrast_val[1][1] / 1000;
> > status.num = i;
> > image_metadata->Set("focus.status", status);
> > - if (print_) {
> > - uint32_t value = (status.focus_measures[5] + status.focus_measures[6]) / 10;
> > - RPI_LOG("Focus contrast measure: " << value);
> > - }
> > + LOG(RPI_FOCUS, Debug) << "Focus contrast measure: " << (status.focus_measures[5] + status.focus_measures[6]) / 10;
>
> maybe break this line
Pretty sure I had it like that first but checkstyle complained, and
then it was OK with this. But happy if we prefer to change it...
>
> > }
> >
> > /* Register algorithm with the system. */
> > diff --git a/src/ipa/raspberrypi/controller/rpi/focus.hpp b/src/ipa/raspberrypi/controller/rpi/focus.hpp
> > index d53401f..a9756ea 100644
> > --- a/src/ipa/raspberrypi/controller/rpi/focus.hpp
> > +++ b/src/ipa/raspberrypi/controller/rpi/focus.hpp
> > @@ -22,10 +22,7 @@ class Focus : public Algorithm
> > public:
> > Focus(Controller *controller);
> > char const *Name() const override;
> > - void Read(boost::property_tree::ptree const ¶ms) override;
> > void Process(StatisticsPtr &stats, Metadata *image_metadata) override;
> > -private:
> > - bool print_;
> > };
> >
> > } /* namespace RPi */
> > diff --git a/src/ipa/raspberrypi/data/imx477.json b/src/ipa/raspberrypi/data/imx477.json
> > index 389e8ce..747cd8d 100644
> > --- a/src/ipa/raspberrypi/data/imx477.json
> > +++ b/src/ipa/raspberrypi/data/imx477.json
> > @@ -415,6 +415,6 @@
> > },
> > "rpi.focus":
> > {
> > - "print": 1
> > +
>
> Is the empty line intentional ?
Well, for reasons I'm not totally clear about, our Python tuning tool
tends to produce a blank line when there's nothing between the curlies
- so I just tend to copy it like that. Mostly. But not always. So I'm
fine to delete it too...
Best regards
David
>
> Minors apart, which can be fixed while applying:
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
>
> Thanks
> j
>
> > }
> > }
> > --
> > 2.20.1
> >
> > _______________________________________________
> > libcamera-devel mailing list
> > libcamera-devel at lists.libcamera.org
> > https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list