[PATCH v4 4/8] ipa: libipa: Add AgcMeanLuminance base class

Kieran Bingham kieran.bingham at ideasonboard.com
Wed May 8 11:22:37 CEST 2024


Quoting Daniel Scally (2024-05-02 14:30:42)
> The Agc algorithms for the RkIsp1 and IPU3 IPAs do the same thing in
> very large part; following the Rpi IPA's algorithm in spirit with a
> few tunable values in that IPA being hardcoded in the libipa ones.
> Add a new base class for AgcMeanLuminance which implements the same
> algorithm and additionally parses yaml tuning files to inform an IPA
> module's Agc algorithm about valid constraint and exposure modes and
> their associated bounds.
> 
> Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
> Reviewed-by: Stefan Klug <stefan.klug at ideasonboard.com>
> Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>
> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>
> ---

...

> +}
> +
> +/**
> + * \fn AgcMeanLuminance::resetFrameCount()
> + * \brief Reset the frame counter
> + *
> + * This function resets the internal frame counter, which exists to help the
> + * algorithm decide whether it should respond instantly or not. The expectation
> + * is for derived classes to call this function before each camera start call in
> + * their configure() function.
> + */
> +
> +}; /* namespace ipa */
> +
> +}; /* namespace libcamera */

Both of these namespaces fail the CI.
- https://gitlab.freedesktop.org/camera/libcamera/-/jobs/58479980

FAILED: src/ipa/libipa/libipa.a.p/agc_mean_luminance.cpp.o
clang++ -Isrc/ipa/libipa/libipa.a.p -Isrc/ipa/libipa -I../src/ipa/libipa -Iinclude -I../include -Iinclude/libcamera/ipa -Iinclude/libcamera -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c++17 -O0 -g -stdlib=libc++ -Wextra-semi -Wthread-safety -Wshadow -include /builds/camera/libcamera/build/config.h -Wno-c99-designator -fPIC -DLIBCAMERA_BASE_PRIVATE -MD -MQ src/ipa/libipa/libipa.a.p/agc_mean_luminance.cpp.o -MF src/ipa/libipa/libipa.a.p/agc_mean_luminance.cpp.o.d -o src/ipa/libipa/libipa.a.p/agc_mean_luminance.cpp.o -c ../src/ipa/libipa/agc_mean_luminance.cpp
In file included from ../src/ipa/libipa/agc_mean_luminance.cpp:8:
../src/ipa/libipa/agc_mean_luminance.h:94:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
}; /* namespace ipa */
 ^
../src/ipa/libipa/agc_mean_luminance.h:96:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
}; /* namespace libcamera */
 ^
../src/ipa/libipa/agc_mean_luminance.cpp:575:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
}; /* namespace ipa */
 ^
../src/ipa/libipa/agc_mean_luminance.cpp:577:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
}; /* namespace libcamera */
 ^
4 errors generated.


As this is just a removal of an unwanted semi-colon, I'll fix these
locally and retry the CI.



...
> +};
> +
> +}; /* namespace ipa */
> +
> +}; /* namespace libcamera */


And these two ...

--
Kieran


More information about the libcamera-devel mailing list