[PATCH] libcamera: Replace usage of lroundf() with std::lround()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Sep 26 11:27:02 CEST 2024
On Thu, Sep 26, 2024 at 09:13:37AM +0100, Kieran Bingham wrote:
> Quoting Laurent Pinchart (2024-09-26 01:23:35)
> > As explained in the coding style document, usage of std::lround() is
> > preferred over lroundf() as it picks the correct function based on
> > the argument type. Replace calls to lroundf() with std::lround() through
> > libcamera.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
> Sounds fine to me.
>
> > ---
> > Documentation/guides/pipeline-handler.rst | 4 ++--
> > src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 8 ++++----
> > src/libcamera/pipeline/vimc/vimc.cpp | 4 ++--
> > 3 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst
> > index 26aea43341d4..69e832a5587e 100644
> > --- a/Documentation/guides/pipeline-handler.rst
> > +++ b/Documentation/guides/pipeline-handler.rst
> > @@ -1350,7 +1350,7 @@ before being set.
> > continue;
> > }
> >
> > - int32_t value = lroundf(it.second.get<float>() * 128 + offset);
> > + int32_t value = std::lround(it.second.get<float>() * 128 + offset);
> > controls.set(cid, std::clamp(value, 0, 255));
> > }
> >
> > @@ -1414,7 +1414,7 @@ value translation operations:
> >
> > .. code-block:: cpp
> >
> > - #include <math.h>
> > + #include <cmath>
>
> It looks like we have quite a few math.h usages throughout elsewhere. Should they
> all get changed too ?
I'm on it.
> Perhaps they'll get changed in time.
>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> >
> > Frame completion and event handling
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> > index 6b32fa18799b..7fa01bb71744 100644
> > --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> > +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
> > @@ -6,9 +6,9 @@
> > */
> >
> > #include <algorithm>
> > +#include <cmath>
> > #include <fstream>
> > #include <map>
> > -#include <math.h>
> > #include <memory>
> > #include <set>
> > #include <string>
> > @@ -320,14 +320,14 @@ int PipelineHandlerUVC::processControl(ControlList *controls, unsigned int id,
> > case V4L2_CID_BRIGHTNESS: {
> > float scale = std::max(max - def, def - min);
> > float fvalue = value.get<float>() * scale + def;
> > - controls->set(cid, static_cast<int32_t>(lroundf(fvalue)));
> > + controls->set(cid, static_cast<int32_t>(std::lround(fvalue)));
> > break;
> > }
> >
> > case V4L2_CID_SATURATION: {
> > float scale = def - min;
> > float fvalue = value.get<float>() * scale + min;
> > - controls->set(cid, static_cast<int32_t>(lroundf(fvalue)));
> > + controls->set(cid, static_cast<int32_t>(std::lround(fvalue)));
> > break;
> > }
> >
> > @@ -354,7 +354,7 @@ int PipelineHandlerUVC::processControl(ControlList *controls, unsigned int id,
> > }
> >
> > float fvalue = (value.get<float>() - p) / m;
> > - controls->set(cid, static_cast<int32_t>(lroundf(fvalue)));
> > + controls->set(cid, static_cast<int32_t>(std::lround(fvalue)));
> > break;
> > }
> >
> > diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
> > index 325174b90087..2165bae890cb 100644
> > --- a/src/libcamera/pipeline/vimc/vimc.cpp
> > +++ b/src/libcamera/pipeline/vimc/vimc.cpp
> > @@ -6,9 +6,9 @@
> > */
> >
> > #include <algorithm>
> > +#include <cmath>
> > #include <iomanip>
> > #include <map>
> > -#include <math.h>
> > #include <tuple>
> >
> > #include <linux/media-bus-format.h>
> > @@ -420,7 +420,7 @@ int PipelineHandlerVimc::processControls(VimcCameraData *data, Request *request)
> > continue;
> > }
> >
> > - int32_t value = lroundf(it.second.get<float>() * 128 + offset);
> > + int32_t value = std::lround(it.second.get<float>() * 128 + offset);
> > controls.set(cid, std::clamp(value, 0, 255));
> > }
> >
> >
> > base-commit: f2088eb91fd6477b152233b9031cb115ca1ae824
> > --
> > Regards,
> >
> > Laurent Pinchart
> >
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list