[libcamera-devel] [PATCH 07/16] libcamera/base: Move utils to the base library

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Jun 25 16:26:10 CEST 2021


Hi Laurent,

On 25/06/2021 13:29, Laurent Pinchart wrote:
> Hi Kieran,
> 
> Thank you for the patch.
> 
> On Fri, Jun 25, 2021 at 02:35:30AM +0100, Kieran Bingham wrote:
>> Move the utils functionality to the libcamera/base library.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>> ---
>>  include/libcamera/base/meson.build                 | 1 +
>>  include/libcamera/{internal => base}/utils.h       | 8 ++++----
>>  include/libcamera/internal/log.h                   | 2 +-
>>  include/libcamera/internal/meson.build             | 1 -
>>  include/libcamera/internal/thread.h                | 3 ++-
>>  src/android/camera_device.cpp                      | 3 ++-
>>  src/android/jpeg/exif.cpp                          | 3 ++-
>>  src/ipa/ipu3/ipu3_agc.h                            | 4 ++--
>>  src/ipa/raspberrypi/cam_helper.hpp                 | 3 ++-
>>  src/ipa/raspberrypi/controller/agc_algorithm.hpp   | 3 ++-
>>  src/ipa/raspberrypi/controller/agc_status.h        | 2 +-
>>  src/ipa/raspberrypi/controller/camera_mode.h       | 2 +-
>>  src/ipa/raspberrypi/controller/device_status.h     | 2 +-
>>  src/ipa/raspberrypi/controller/rpi/agc.hpp         | 2 +-
>>  src/ipa/raspberrypi/controller/rpi/lux.hpp         | 2 +-
>>  src/libcamera/base/meson.build                     | 2 +-
>>  src/libcamera/{ => base}/utils.cpp                 | 8 ++++----
>>  src/libcamera/camera_manager.cpp                   | 3 ++-
>>  src/libcamera/camera_sensor.cpp                    | 3 ++-
>>  src/libcamera/controls.cpp                         | 3 ++-
>>  src/libcamera/event_dispatcher_poll.cpp            | 3 ++-
>>  src/libcamera/ipa_manager.cpp                      | 3 ++-
>>  src/libcamera/ipa_module.cpp                       | 3 ++-
>>  src/libcamera/ipa_proxy.cpp                        | 3 ++-
>>  src/libcamera/log.cpp                              | 3 ++-
>>  src/libcamera/meson.build                          | 1 -
>>  src/libcamera/object.cpp                           | 3 ++-
>>  src/libcamera/pipeline/ipu3/imgu.cpp               | 3 ++-
>>  src/libcamera/pipeline/ipu3/ipu3.cpp               | 3 ++-
>>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 3 ++-
>>  src/libcamera/pipeline/rkisp1/rkisp1.cpp           | 3 ++-
>>  src/libcamera/pipeline/simple/converter.cpp        | 3 ++-
>>  src/libcamera/pipeline/uvcvideo/uvcvideo.cpp       | 3 ++-
>>  src/libcamera/pipeline/vimc/vimc.cpp               | 3 ++-
>>  src/libcamera/pipeline_handler.cpp                 | 3 ++-
>>  src/libcamera/process.cpp                          | 3 ++-
>>  src/libcamera/source-paths.cpp                     | 2 +-
>>  src/libcamera/stream.cpp                           | 3 ++-
>>  src/libcamera/timer.cpp                            | 3 ++-
>>  src/libcamera/v4l2_device.cpp                      | 3 ++-
>>  src/libcamera/v4l2_subdevice.cpp                   | 3 ++-
>>  src/v4l2/v4l2_camera_proxy.cpp                     | 3 ++-
>>  src/v4l2/v4l2_compat_manager.cpp                   | 3 ++-
>>  test/camera-sensor.cpp                             | 3 ++-
>>  test/file-descriptor.cpp                           | 2 +-
>>  test/ipc/unixsocket_ipc.cpp                        | 3 ++-
>>  test/log/log_process.cpp                           | 3 ++-
>>  test/pixel-format.cpp                              | 2 +-
>>  test/process/process_test.cpp                      | 3 ++-
>>  test/signal-threads.cpp                            | 3 ++-
>>  test/utils.cpp                                     | 2 +-
>>  test/v4l2_subdevice/list_formats.cpp               | 3 ++-
>>  test/v4l2_videodevice/formats.cpp                  | 3 ++-
>>  53 files changed, 94 insertions(+), 59 deletions(-)
>>  rename include/libcamera/{internal => base}/utils.h (97%)
>>  rename src/libcamera/{ => base}/utils.cpp (98%)
>>
>> diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build
>> index 0a7a57b81191..9f0ba6b0e10c 100644
>> --- a/include/libcamera/base/meson.build
>> +++ b/include/libcamera/base/meson.build
>> @@ -3,6 +3,7 @@
>>  libcamera_base_include_dir = libcamera_include_dir / 'base'
>>  
>>  libcamera_base_headers = files([
>> +    'utils.h',
>>  ])
>>  
>>  install_headers(libcamera_base_headers,
>> diff --git a/include/libcamera/internal/utils.h b/include/libcamera/base/utils.h
>> similarity index 97%
>> rename from include/libcamera/internal/utils.h
>> rename to include/libcamera/base/utils.h
>> index 15beb0f44172..d1aaff65211a 100644
>> --- a/include/libcamera/internal/utils.h
>> +++ b/include/libcamera/base/utils.h
>> @@ -4,8 +4,8 @@
>>   *
>>   * utils.h - Miscellaneous utility functions
>>   */
>> -#ifndef __LIBCAMERA_INTERNAL_UTILS_H__
>> -#define __LIBCAMERA_INTERNAL_UTILS_H__
>> +#ifndef __LIBCAMERA_BASE_UTILS_H__
>> +#define __LIBCAMERA_BASE_UTILS_H__
>>  
>>  #include <algorithm>
>>  #include <chrono>
>> @@ -23,7 +23,7 @@
>>  
>>  /* uClibc and uClibc-ng don't provide O_TMPFILE */
>>  #ifndef O_TMPFILE
>> -#define O_TMPFILE	(020000000 | O_DIRECTORY)
>> +#define O_TMPFILE (020000000 | O_DIRECTORY)
>>  #endif
>>  
>>  #endif
>> @@ -352,4 +352,4 @@ std::basic_ostream<CharT, Traits> &operator<<(std::basic_ostream<CharT, Traits>
>>  
>>  } /* namespace libcamera */
>>  
>> -#endif /* __LIBCAMERA_INTERNAL_UTILS_H__ */
>> +#endif /* __LIBCAMERA_BASE_UTILS_H__ */
>> diff --git a/include/libcamera/internal/log.h b/include/libcamera/internal/log.h
>> index b8efb161407c..9c2beab6a33a 100644
>> --- a/include/libcamera/internal/log.h
>> +++ b/include/libcamera/internal/log.h
>> @@ -12,7 +12,7 @@
>>  
>>  #include <libcamera/class.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  namespace libcamera {
>>  
>> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build
>> index e5088177fe8e..c84f9822ef6e 100644
>> --- a/include/libcamera/internal/meson.build
>> +++ b/include/libcamera/internal/meson.build
>> @@ -43,7 +43,6 @@ libcamera_internal_headers = files([
>>      'sysfs.h',
>>      'thread.h',
>>      'timer.h',
>> -    'utils.h',
>>      'v4l2_device.h',
>>      'v4l2_pixelformat.h',
>>      'v4l2_subdevice.h',
>> diff --git a/include/libcamera/internal/thread.h b/include/libcamera/internal/thread.h
>> index 25d0308d05b4..9662e28bb581 100644
>> --- a/include/libcamera/internal/thread.h
>> +++ b/include/libcamera/internal/thread.h
>> @@ -14,8 +14,9 @@
>>  
>>  #include <libcamera/signal.h>
>>  
>> +#include <libcamera/base/utils.h>
> 
> I would have placed the base headers about the public libcamera headers,
> but I fear you won't enjoy changing this :-) Maybe a patch on top to
> avoid the rebase conflicts ?

Yes, - base headers are supposed to be above public libcamera headers.

Changing is incredibly painful in this series, I've been doing fixups as
I go - but yes - I'm at the piont that on-top is better.

I now have some update to .clang-format which handles the ordering
semi-automagically, so I plan a header order cleanup series after.

I don't think it's worth the effort here any more just to get 'perfect
patches' on something which isn't critical.

I'm going to ignore any further issues on header ordering on this
series, it can be tackled on top, without delaying the bulk of the pain.

With the updated tooling, it's easier to correctly sort these now, but
it's not really great squashing those fixes down into this series.



>> +
>>  #include "libcamera/internal/message.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  namespace libcamera {
>>  
>> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
>> index 4bd125d7020a..6243c07e231e 100644
>> --- a/src/android/camera_device.cpp
>> +++ b/src/android/camera_device.cpp
>> @@ -20,9 +20,10 @@
>>  #include <libcamera/formats.h>
>>  #include <libcamera/property_ids.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "system/graphics.h"
>>  
>> diff --git a/src/android/jpeg/exif.cpp b/src/android/jpeg/exif.cpp
>> index 922086cdf6bc..747f1cfaa8ac 100644
>> --- a/src/android/jpeg/exif.cpp
>> +++ b/src/android/jpeg/exif.cpp
>> @@ -14,8 +14,9 @@
>>  #include <tuple>
>>  #include <uchar.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  using namespace libcamera;
>>  
>> diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h
>> index a5a78233cb6d..60c7a84f2d98 100644
>> --- a/src/ipa/ipu3/ipu3_agc.h
>> +++ b/src/ipa/ipu3/ipu3_agc.h
>> @@ -12,9 +12,9 @@
>>  
>>  #include <linux/intel-ipu3.h>
>>  
>> -#include <libcamera/geometry.h>
>> +#include <libcamera/base/utils.h>
> 
> Ah, here you do t in the right order already :-)

Yes, this is the intended correct ordering.

> 
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/geometry.h>
>>  
>>  #include "libipa/algorithm.h"
>>  
>> diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp
>> index f53f5c39b01c..221898ceb40d 100644
>> --- a/src/ipa/raspberrypi/cam_helper.hpp
>> +++ b/src/ipa/raspberrypi/cam_helper.hpp
>> @@ -15,7 +15,8 @@
>>  #include "controller/metadata.hpp"
>>  #include "md_parser.hpp"
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>>  namespace RPiController {
>> diff --git a/src/ipa/raspberrypi/controller/agc_algorithm.hpp b/src/ipa/raspberrypi/controller/agc_algorithm.hpp
>> index 134bbcda50ce..61595ea2b006 100644
>> --- a/src/ipa/raspberrypi/controller/agc_algorithm.hpp
>> +++ b/src/ipa/raspberrypi/controller/agc_algorithm.hpp
>> @@ -6,7 +6,8 @@
>>   */
>>  #pragma once
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "algorithm.hpp"
>>  
>>  namespace RPiController {
>> diff --git a/src/ipa/raspberrypi/controller/agc_status.h b/src/ipa/raspberrypi/controller/agc_status.h
>> index 5d50e177f0dc..20cb1b624b33 100644
>> --- a/src/ipa/raspberrypi/controller/agc_status.h
>> +++ b/src/ipa/raspberrypi/controller/agc_status.h
>> @@ -6,7 +6,7 @@
>>   */
>>  #pragma once
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  // The AGC algorithm should post the following structure into the image's
>>  // "agc.status" metadata.
>> diff --git a/src/ipa/raspberrypi/controller/camera_mode.h b/src/ipa/raspberrypi/controller/camera_mode.h
>> index 2aa2335dcf90..6588823020e3 100644
>> --- a/src/ipa/raspberrypi/controller/camera_mode.h
>> +++ b/src/ipa/raspberrypi/controller/camera_mode.h
>> @@ -8,7 +8,7 @@
>>  
>>  #include <libcamera/transform.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  // Description of a "camera mode", holding enough information for control
>>  // algorithms to adapt their behaviour to the different modes of the camera,
>> diff --git a/src/ipa/raspberrypi/controller/device_status.h b/src/ipa/raspberrypi/controller/device_status.h
>> index 131b4cd344ee..f74235248b12 100644
>> --- a/src/ipa/raspberrypi/controller/device_status.h
>> +++ b/src/ipa/raspberrypi/controller/device_status.h
>> @@ -6,7 +6,7 @@
>>   */
>>  #pragma once
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  // Definition of "device metadata" which stores things like shutter time and
>>  // analogue gain that downstream control algorithms will want to know.
>> diff --git a/src/ipa/raspberrypi/controller/rpi/agc.hpp b/src/ipa/raspberrypi/controller/rpi/agc.hpp
>> index 750789482b49..85067dc64614 100644
>> --- a/src/ipa/raspberrypi/controller/rpi/agc.hpp
>> +++ b/src/ipa/raspberrypi/controller/rpi/agc.hpp
>> @@ -9,7 +9,7 @@
>>  #include <vector>
>>  #include <mutex>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include "../agc_algorithm.hpp"
>>  #include "../agc_status.h"
>> diff --git a/src/ipa/raspberrypi/controller/rpi/lux.hpp b/src/ipa/raspberrypi/controller/rpi/lux.hpp
>> index 45c844393e62..3ebd35d1e382 100644
>> --- a/src/ipa/raspberrypi/controller/rpi/lux.hpp
>> +++ b/src/ipa/raspberrypi/controller/rpi/lux.hpp
>> @@ -8,7 +8,7 @@
>>  
>>  #include <mutex>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include "../lux_status.h"
>>  #include "../algorithm.hpp"
>> diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
>> index 3d58fea36ef5..6d9ec37414f8 100644
>> --- a/src/libcamera/base/meson.build
>> +++ b/src/libcamera/base/meson.build
>> @@ -1,6 +1,7 @@
>>  # SPDX-License-Identifier: CC0-1.0
>>  
>>  libcamera_base_sources = files([
>> +    'utils.cpp',
>>  ])
>>  
>>  libcamera_base_deps = [
>> @@ -10,7 +11,6 @@ libcamera_base_lib = shared_library('libcamera-base',
>>                                      [libcamera_base_sources, libcamera_base_headers],
>>                                      name_prefix : '',
>>                                      install : true,
>> -                                    cpp_args : libcamera_cpp_args,
> 
> This doesn't seem to belong to this patch.

No, it was supposed to be a fix up in the base library addition, it's
already been fixed there previously.


> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 

Thanks.

>>                                      include_directories : libcamera_includes,
>>                                      dependencies : libcamera_base_deps)
>>  
>> diff --git a/src/libcamera/utils.cpp b/src/libcamera/base/utils.cpp
>> similarity index 98%
>> rename from src/libcamera/utils.cpp
>> rename to src/libcamera/base/utils.cpp
>> index 42f82d6158dd..d0c0a93980b1 100644
>> --- a/src/libcamera/utils.cpp
>> +++ b/src/libcamera/base/utils.cpp
>> @@ -5,7 +5,7 @@
>>   * utils.cpp - Miscellaneous utility functions
>>   */
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include <dlfcn.h>
>>  #include <elf.h>
>> @@ -20,7 +20,7 @@
>>  #include <unistd.h>
>>  
>>  /**
>> - * \file utils.h
>> + * \file base/utils.h
>>   * \brief Miscellaneous utility functions
>>   */
>>  
>> @@ -44,8 +44,8 @@ namespace utils {
>>   */
>>  const char *basename(const char *path)
>>  {
>> -       const char *base = strrchr(path, '/');
>> -       return base ? base + 1 : path;
>> +	const char *base = strrchr(path, '/');
>> +	return base ? base + 1 : path;
>>  }
>>  
>>  /**
>> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
>> index 1ecf2b07d5a3..a3784db6e697 100644
>> --- a/src/libcamera/camera_manager.cpp
>> +++ b/src/libcamera/camera_manager.cpp
>> @@ -12,13 +12,14 @@
>>  
>>  #include <libcamera/camera.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/device_enumerator.h"
>>  #include "libcamera/internal/ipa_manager.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>>  #include "libcamera/internal/process.h"
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file camera_manager.h
>> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
>> index 3e135353f1d7..94dcf4f9cf48 100644
>> --- a/src/libcamera/camera_sensor.cpp
>> +++ b/src/libcamera/camera_sensor.cpp
>> @@ -18,11 +18,12 @@
>>  
>>  #include <libcamera/property_ids.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/bayer_format.h"
>>  #include "libcamera/internal/camera_sensor_properties.h"
>>  #include "libcamera/internal/formats.h"
>>  #include "libcamera/internal/sysfs.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file camera_sensor.h
>> diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
>> index 5aef4e7145bd..7df372ad3b6c 100644
>> --- a/src/libcamera/controls.cpp
>> +++ b/src/libcamera/controls.cpp
>> @@ -12,9 +12,10 @@
>>  #include <string>
>>  #include <string.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/control_validator.h"
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file controls.h
>> diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp
>> index 456c6def075b..0b6aee187063 100644
>> --- a/src/libcamera/event_dispatcher_poll.cpp
>> +++ b/src/libcamera/event_dispatcher_poll.cpp
>> @@ -16,11 +16,12 @@
>>  #include <sys/eventfd.h>
>>  #include <unistd.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_notifier.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/thread.h"
>>  #include "libcamera/internal/timer.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file event_dispatcher_poll.h
>> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp
>> index 93d02d947c46..263cacd64737 100644
>> --- a/src/libcamera/ipa_manager.cpp
>> +++ b/src/libcamera/ipa_manager.cpp
>> @@ -12,12 +12,13 @@
>>  #include <string.h>
>>  #include <sys/types.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/file.h"
>>  #include "libcamera/internal/ipa_module.h"
>>  #include "libcamera/internal/ipa_proxy.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file ipa_manager.h
>> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp
>> index f53e529b0380..a4e7fb861138 100644
>> --- a/src/libcamera/ipa_module.cpp
>> +++ b/src/libcamera/ipa_module.cpp
>> @@ -23,10 +23,11 @@
>>  
>>  #include <libcamera/span.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/file.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file ipa_module.h
>> diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
>> index b70fde581eeb..ca980ec705a6 100644
>> --- a/src/libcamera/ipa_proxy.cpp
>> +++ b/src/libcamera/ipa_proxy.cpp
>> @@ -12,9 +12,10 @@
>>  #include <sys/types.h>
>>  #include <unistd.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/ipa_module.h"
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file ipa_proxy.h
>> diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp
>> index 74829a56916e..5ff0e9017648 100644
>> --- a/src/libcamera/log.cpp
>> +++ b/src/libcamera/log.cpp
>> @@ -23,8 +23,9 @@
>>  
>>  #include <libcamera/logging.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file log.h
>> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
>> index eaf3cec8cba7..ac401c25d498 100644
>> --- a/src/libcamera/meson.build
>> +++ b/src/libcamera/meson.build
>> @@ -52,7 +52,6 @@ libcamera_sources = files([
>>      'thread.cpp',
>>      'timer.cpp',
>>      'transform.cpp',
>> -    'utils.cpp',
>>      'v4l2_device.cpp',
>>      'v4l2_pixelformat.cpp',
>>      'v4l2_subdevice.cpp',
>> diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp
>> index 5e6b73f9af84..51cac64ea313 100644
>> --- a/src/libcamera/object.cpp
>> +++ b/src/libcamera/object.cpp
>> @@ -11,11 +11,12 @@
>>  
>>  #include <libcamera/signal.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/message.h"
>>  #include "libcamera/internal/semaphore.h"
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file object.h
>> diff --git a/src/libcamera/pipeline/ipu3/imgu.cpp b/src/libcamera/pipeline/ipu3/imgu.cpp
>> index 4eb3f7b730a9..32d143a862b2 100644
>> --- a/src/libcamera/pipeline/ipu3/imgu.cpp
>> +++ b/src/libcamera/pipeline/ipu3/imgu.cpp
>> @@ -16,9 +16,10 @@
>>  #include <libcamera/formats.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  namespace libcamera {
>>  
>> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
>> index 6c93bc6d161d..6b43ad2fb2b1 100644
>> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
>> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
>> @@ -20,6 +20,8 @@
>>  #include <libcamera/request.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/camera_sensor.h"
>>  #include "libcamera/internal/delayed_controls.h"
>>  #include "libcamera/internal/device_enumerator.h"
>> @@ -27,7 +29,6 @@
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "cio2.h"
>>  #include "frames.h"
>> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> index 4e26a1930228..082eb1ee1c23 100644
>> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
>> @@ -24,6 +24,8 @@
>>  #include <libcamera/property_ids.h>
>>  #include <libcamera/request.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include <linux/bcm2835-isp.h>
>>  #include <linux/videodev2.h>
>>  
>> @@ -35,7 +37,6 @@
>>  #include "libcamera/internal/ipa_manager.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>>  #include "dma_heaps.h"
>> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
>> index 6699839c4623..c625d7248f5c 100644
>> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
>> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
>> @@ -24,6 +24,8 @@
>>  #include <libcamera/request.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/camera_sensor.h"
>>  #include "libcamera/internal/delayed_controls.h"
>>  #include "libcamera/internal/device_enumerator.h"
>> @@ -31,7 +33,6 @@
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_subdevice.h"
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>> diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
>> index 68644ef6477f..589f185b1bf1 100644
>> --- a/src/libcamera/pipeline/simple/converter.cpp
>> +++ b/src/libcamera/pipeline/simple/converter.cpp
>> @@ -15,9 +15,10 @@
>>  #include <libcamera/signal.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>>  namespace libcamera {
>> diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
>> index 12a85b2407db..d8c17dccae53 100644
>> --- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
>> +++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp
>> @@ -19,12 +19,13 @@
>>  #include <libcamera/request.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/device_enumerator.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>>  #include "libcamera/internal/sysfs.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>>  namespace libcamera {
>> diff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp
>> index 8bbac0085c9b..025ca56205f8 100644
>> --- a/src/libcamera/pipeline/vimc/vimc.cpp
>> +++ b/src/libcamera/pipeline/vimc/vimc.cpp
>> @@ -23,13 +23,14 @@
>>  #include <libcamera/request.h>
>>  #include <libcamera/stream.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/camera_sensor.h"
>>  #include "libcamera/internal/device_enumerator.h"
>>  #include "libcamera/internal/ipa_manager.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/pipeline_handler.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_subdevice.h"
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
>> index e507a8bba8a6..6fb2a743c3c2 100644
>> --- a/src/libcamera/pipeline_handler.cpp
>> +++ b/src/libcamera/pipeline_handler.cpp
>> @@ -13,11 +13,12 @@
>>  #include <libcamera/camera.h>
>>  #include <libcamera/camera_manager.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/device_enumerator.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/tracepoints.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file pipeline_handler.h
>> diff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp
>> index 40a434a6b0c2..35091f60c1e9 100644
>> --- a/src/libcamera/process.cpp
>> +++ b/src/libcamera/process.cpp
>> @@ -20,9 +20,10 @@
>>  #include <unistd.h>
>>  #include <vector>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_notifier.h"
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file process.h
>> diff --git a/src/libcamera/source-paths.cpp b/src/libcamera/source-paths.cpp
>> index b39f5f853e39..2a59105e8283 100644
>> --- a/src/libcamera/source-paths.cpp
>> +++ b/src/libcamera/source-paths.cpp
>> @@ -12,7 +12,7 @@
>>  #include <link.h>
>>  #include <sys/stat.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  /**
>>   * \file source-paths.h
>> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp
>> index f7bafcf8fc97..d5d68427e658 100644
>> --- a/src/libcamera/stream.cpp
>> +++ b/src/libcamera/stream.cpp
>> @@ -15,8 +15,9 @@
>>  
>>  #include <libcamera/request.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file stream.h
>> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp
>> index c242113a782e..9496671edffc 100644
>> --- a/src/libcamera/timer.cpp
>> +++ b/src/libcamera/timer.cpp
>> @@ -11,11 +11,12 @@
>>  
>>  #include <libcamera/camera_manager.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_dispatcher.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/message.h"
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file timer.h
>> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
>> index 5660e6ea5839..facb53e13169 100644
>> --- a/src/libcamera/v4l2_device.cpp
>> +++ b/src/libcamera/v4l2_device.cpp
>> @@ -16,10 +16,11 @@
>>  #include <sys/syscall.h>
>>  #include <unistd.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_notifier.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/sysfs.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file v4l2_device.h
>> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp
>> index 721ff5a92a2b..2c56cfafbce4 100644
>> --- a/src/libcamera/v4l2_subdevice.cpp
>> +++ b/src/libcamera/v4l2_subdevice.cpp
>> @@ -19,10 +19,11 @@
>>  
>>  #include <libcamera/geometry.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/media_device.h"
>>  #include "libcamera/internal/media_object.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  /**
>>   * \file v4l2_subdevice.h
>> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
>> index f8bfe595e90e..a5a25507462e 100644
>> --- a/src/v4l2/v4l2_camera_proxy.cpp
>> +++ b/src/v4l2/v4l2_camera_proxy.cpp
>> @@ -20,9 +20,10 @@
>>  #include <libcamera/formats.h>
>>  #include <libcamera/object.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/formats.h"
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "v4l2_camera.h"
>>  #include "v4l2_camera_file.h"
>> diff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp
>> index 96dbcdf28f04..27de6c50ff4e 100644
>> --- a/src/v4l2/v4l2_compat_manager.cpp
>> +++ b/src/v4l2/v4l2_compat_manager.cpp
>> @@ -22,8 +22,9 @@
>>  #include <libcamera/camera.h>
>>  #include <libcamera/camera_manager.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/log.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "v4l2_camera_file.h"
>>  
>> diff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp
>> index 8c7fd1d2d444..a8dcad8215e5 100644
>> --- a/test/camera-sensor.cpp
>> +++ b/test/camera-sensor.cpp
>> @@ -10,10 +10,11 @@
>>  
>>  #include <linux/media-bus-format.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/camera_sensor.h"
>>  #include "libcamera/internal/device_enumerator.h"
>>  #include "libcamera/internal/media_device.h"
>> -#include "libcamera/internal/utils.h"
>>  #include "libcamera/internal/v4l2_subdevice.h"
>>  
>>  #include "test.h"
>> diff --git a/test/file-descriptor.cpp b/test/file-descriptor.cpp
>> index aa3c896fb937..85b077a25c32 100644
>> --- a/test/file-descriptor.cpp
>> +++ b/test/file-descriptor.cpp
>> @@ -13,7 +13,7 @@
>>  
>>  #include <libcamera/file_descriptor.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/ipc/unixsocket_ipc.cpp b/test/ipc/unixsocket_ipc.cpp
>> index 3049eaa8bb2a..161d09b98719 100644
>> --- a/test/ipc/unixsocket_ipc.cpp
>> +++ b/test/ipc/unixsocket_ipc.cpp
>> @@ -15,6 +15,8 @@
>>  #include <sys/wait.h>
>>  #include <unistd.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_dispatcher.h"
>>  #include "libcamera/internal/ipa_data_serializer.h"
>>  #include "libcamera/internal/ipc_pipe.h"
>> @@ -22,7 +24,6 @@
>>  #include "libcamera/internal/process.h"
>>  #include "libcamera/internal/thread.h"
>>  #include "libcamera/internal/timer.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/log/log_process.cpp b/test/log/log_process.cpp
>> index c0a1a012d366..413d9207ea68 100644
>> --- a/test/log/log_process.cpp
>> +++ b/test/log/log_process.cpp
>> @@ -16,12 +16,13 @@
>>  
>>  #include <libcamera/logging.h>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_dispatcher.h"
>>  #include "libcamera/internal/log.h"
>>  #include "libcamera/internal/process.h"
>>  #include "libcamera/internal/thread.h"
>>  #include "libcamera/internal/timer.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/pixel-format.cpp b/test/pixel-format.cpp
>> index c4a08f468ade..0f364f833ed1 100644
>> --- a/test/pixel-format.cpp
>> +++ b/test/pixel-format.cpp
>> @@ -10,7 +10,7 @@
>>  #include <libcamera/formats.h>
>>  #include <libcamera/pixel_format.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/process/process_test.cpp b/test/process/process_test.cpp
>> index 1279d8c17598..a5155bae3162 100644
>> --- a/test/process/process_test.cpp
>> +++ b/test/process/process_test.cpp
>> @@ -9,11 +9,12 @@
>>  #include <unistd.h>
>>  #include <vector>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/event_dispatcher.h"
>>  #include "libcamera/internal/process.h"
>>  #include "libcamera/internal/thread.h"
>>  #include "libcamera/internal/timer.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/signal-threads.cpp b/test/signal-threads.cpp
>> index 3c5f3792e385..8a96b5d2abb3 100644
>> --- a/test/signal-threads.cpp
>> +++ b/test/signal-threads.cpp
>> @@ -9,9 +9,10 @@
>>  #include <iostream>
>>  #include <thread>
>>  
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/message.h"
>>  #include "libcamera/internal/thread.h"
>> -#include "libcamera/internal/utils.h"
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/utils.cpp b/test/utils.cpp
>> index f170ae4c2f35..9cd2cd070cb9 100644
>> --- a/test/utils.cpp
>> +++ b/test/utils.cpp
>> @@ -14,7 +14,7 @@
>>  #include <libcamera/geometry.h>
>>  #include <libcamera/span.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>>  
>>  #include "test.h"
>>  
>> diff --git a/test/v4l2_subdevice/list_formats.cpp b/test/v4l2_subdevice/list_formats.cpp
>> index 74ec81a8560c..9cbd7b9439c3 100644
>> --- a/test/v4l2_subdevice/list_formats.cpp
>> +++ b/test/v4l2_subdevice/list_formats.cpp
>> @@ -10,7 +10,8 @@
>>  
>>  #include <libcamera/geometry.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/v4l2_subdevice.h"
>>  
>>  #include "v4l2_subdevice_test.h"
>> diff --git a/test/v4l2_videodevice/formats.cpp b/test/v4l2_videodevice/formats.cpp
>> index 255446fe758a..6c05262201fa 100644
>> --- a/test/v4l2_videodevice/formats.cpp
>> +++ b/test/v4l2_videodevice/formats.cpp
>> @@ -8,7 +8,8 @@
>>  #include <iostream>
>>  #include <limits.h>
>>  
>> -#include "libcamera/internal/utils.h"
>> +#include <libcamera/base/utils.h>
>> +
>>  #include "libcamera/internal/v4l2_videodevice.h"
>>  
>>  #include "v4l2_videodevice_test.h"
> 


More information about the libcamera-devel mailing list