{"id":3800,"url":"https://patchwork.libcamera.org/api/patches/3800/?format=json","web_url":"https://patchwork.libcamera.org/patch/3800/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200515163505.24330-1-laurent.pinchart@ideasonboard.com>","date":"2020-05-15T16:35:02","name":"[libcamera-devel,v2,1/3] libcamera: Move internal headers to include/libcamera/internal/","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"7c151ef7d8c526f49e7794fc96f5fe0499ea1685","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/3800/mbox/","series":[{"id":906,"url":"https://patchwork.libcamera.org/api/series/906/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=906","date":"2020-05-15T16:35:02","name":"[libcamera-devel,v2,1/3] libcamera: Move internal headers to include/libcamera/internal/","version":2,"mbox":"https://patchwork.libcamera.org/series/906/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/3800/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/3800/checks/","tags":{},"headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E92AE60DF9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 May 2020 18:35:17 +0200 (CEST)","from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2290A26A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 May 2020 18:35:17 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"T31OhSeg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1589560517;\n\tbh=DWhC5vOJ1jz0u4h9RxA6t+kytiOau9CrO7+uB/8LHm0=;\n\th=From:To:Subject:Date:From;\n\tb=T31OhSegbNTkYDo4saqBwz8f0YW1hE/8dcfc/XLFHT1fUWugWUmXtt5BwWZRbH5TT\n\tacBaKN0H1QrZppCEFWdAlRvjKU2zFhWPf1Qe8eEJmPcygCpj2eGDnR7REML68BBuZX\n\tLMvBcDlTFEgfLpNPJ8Zg/BB4dMBOTdJLwH/zX6Rw=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 15 May 2020 19:35:02 +0300","Message-Id":"<20200515163505.24330-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.26.2","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v2 1/3] libcamera: Move internal headers\n\tto include/libcamera/internal/","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 15 May 2020 16:35:18 -0000"},"content":"The libcamera internal headers are located in src/libcamera/include/.\nThe directory is added to the compiler headers search path with a meson\ninclude_directories() directive, and internal headers are included with\n(e.g. for the internal semaphore.h header)\n\n  #include \"semaphore.h\"\n\nAll was well, until libcxx decided to implement the C++20\nsynchronization library. The __threading_support header gained a\n\n  #include <semaphore.h>\n\nto include the pthread's semaphore support. As include_directories()\nadds src/libcamera/include/ to the compiler search path with -I, the\ninternal semaphore.h is included instead of the pthread version.\nNeedless to say, the compiler isn't happy.\n\nThread options have been considered to fix this issue:\n\n- Use -iquote instead of -I. The -iquote option instructs gcc to only\n  consider the header search path for headers included with the \"\"\n  version. Meson unfortunately doesn't support this option.\n\n- Rename the internal semaphore.h header. This was deemed to be the\n  beginning of a long whack-a-mole game, where namespace clashes with\n  system libraries would appear over time (possibly dependent on\n  particular system configurations) and would need to be constantly\n  fixed.\n\n- Move the internal headers to another directory to create a unique\n  namespace through path components. This causes lots of churn in all\n  the existing source files through the all project.\n\nThe first option would be best, but isn't available to us due to missing\nsupport in meson. Even if -iquote support was added, we would need to\nfix the problem before a new version of meson containing the required\nsupport would be released.\n\nThe third option is thus the only practical solution available. Bite the\nbullet, and do it, moving headers to include/libcamera/internal/.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n Documentation/Doxyfile.in                     |  6 +++---\n .../libcamera/internal}/byte_stream_buffer.h  |  0\n .../libcamera/internal}/camera_controls.h     |  2 +-\n .../libcamera/internal}/camera_sensor.h       |  4 ++--\n .../libcamera/internal}/control_serializer.h  |  0\n .../libcamera/internal}/control_validator.h   |  0\n .../libcamera/internal}/device_enumerator.h   |  0\n .../internal}/device_enumerator_sysfs.h       |  2 +-\n .../internal}/device_enumerator_udev.h        |  2 +-\n .../internal}/event_dispatcher_poll.h         |  0\n .../libcamera/internal}/file.h                |  0\n .../libcamera/internal}/formats.h             |  2 +-\n .../libcamera/internal}/ipa_context_wrapper.h |  2 +-\n .../libcamera/internal}/ipa_manager.h         |  6 +++---\n .../libcamera/internal}/ipa_module.h          |  4 ++--\n .../libcamera/internal}/ipa_proxy.h           |  0\n .../libcamera/internal}/ipc_unixsocket.h      |  0\n .../libcamera/internal}/log.h                 |  2 +-\n .../libcamera/internal}/media_device.h        |  4 ++--\n .../libcamera/internal}/media_object.h        |  0\n .../libcamera/internal}/meson.build           |  0\n .../libcamera/internal}/message.h             |  0\n .../libcamera/internal}/pipeline_handler.h    |  2 +-\n .../libcamera/internal}/process.h             |  0\n .../libcamera/internal}/pub_key.h             |  0\n .../libcamera/internal}/semaphore.h           |  2 +-\n .../libcamera/internal}/thread.h              |  2 +-\n .../libcamera/internal}/utils.h               |  0\n .../libcamera/internal}/v4l2_controls.h       |  0\n .../libcamera/internal}/v4l2_device.h         |  4 ++--\n .../libcamera/internal}/v4l2_pixelformat.h    |  0\n .../libcamera/internal}/v4l2_subdevice.h      |  8 ++++----\n .../libcamera/internal}/v4l2_videodevice.h    |  8 ++++----\n include/libcamera/meson.build                 |  2 ++\n src/android/camera3_hal.cpp                   |  3 ++-\n src/android/camera_device.cpp                 |  4 ++--\n src/android/camera_device.h                   |  2 +-\n src/android/camera_hal_manager.cpp            |  2 +-\n src/android/camera_metadata.cpp               |  2 +-\n src/ipa/libipa/ipa_interface_wrapper.cpp      |  4 ++--\n src/ipa/libipa/ipa_interface_wrapper.h        |  2 +-\n src/ipa/meson.build                           |  1 -\n src/ipa/raspberrypi/cam_helper.cpp            |  4 ++--\n src/ipa/raspberrypi/cam_helper.hpp            |  2 +-\n src/ipa/raspberrypi/raspberrypi.cpp           |  8 ++++----\n src/ipa/rkisp1/rkisp1.cpp                     |  4 ++--\n src/ipa/vimc/vimc.cpp                         |  4 ++--\n src/libcamera/bound_method.cpp                |  6 +++---\n src/libcamera/buffer.cpp                      |  2 +-\n src/libcamera/byte_stream_buffer.cpp          |  4 ++--\n src/libcamera/camera.cpp                      |  6 +++---\n src/libcamera/camera_controls.cpp             |  2 +-\n src/libcamera/camera_manager.cpp              | 12 +++++------\n src/libcamera/camera_sensor.cpp               |  8 ++++----\n src/libcamera/control_serializer.cpp          |  6 +++---\n src/libcamera/control_validator.cpp           |  2 +-\n src/libcamera/controls.cpp                    |  6 +++---\n src/libcamera/device_enumerator.cpp           | 10 +++++-----\n src/libcamera/device_enumerator_sysfs.cpp     |  6 +++---\n src/libcamera/device_enumerator_udev.cpp      |  6 +++---\n src/libcamera/event_dispatcher.cpp            |  2 +-\n src/libcamera/event_dispatcher_poll.cpp       |  8 ++++----\n src/libcamera/event_notifier.cpp              |  4 ++--\n src/libcamera/file.cpp                        |  4 ++--\n src/libcamera/file_descriptor.cpp             |  2 +-\n src/libcamera/formats.cpp                     |  4 ++--\n src/libcamera/framebuffer_allocator.cpp       |  4 ++--\n src/libcamera/ipa_context_wrapper.cpp         |  8 ++++----\n src/libcamera/ipa_manager.cpp                 | 14 ++++++-------\n src/libcamera/ipa_module.cpp                  | 10 +++++-----\n src/libcamera/ipa_proxy.cpp                   |  8 ++++----\n src/libcamera/ipa_pub_key.cpp.in              |  2 +-\n src/libcamera/ipc_unixsocket.cpp              |  4 ++--\n src/libcamera/log.cpp                         |  6 +++---\n src/libcamera/media_device.cpp                |  4 ++--\n src/libcamera/media_object.cpp                |  6 +++---\n src/libcamera/meson.build                     |  5 -----\n src/libcamera/message.cpp                     |  4 ++--\n src/libcamera/object.cpp                      | 10 +++++-----\n src/libcamera/pipeline/ipu3/ipu3.cpp          | 18 ++++++++---------\n .../pipeline/raspberrypi/raspberrypi.cpp      | 17 ++++++++--------\n .../pipeline/raspberrypi/staggered_ctrl.cpp   |  6 +++---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 19 +++++++++---------\n src/libcamera/pipeline/rkisp1/timeline.cpp    |  2 +-\n src/libcamera/pipeline/rkisp1/timeline.h      |  2 +-\n src/libcamera/pipeline/simple/converter.cpp   |  6 +++---\n src/libcamera/pipeline/simple/simple.cpp      | 14 ++++++-------\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  | 14 ++++++-------\n src/libcamera/pipeline/vimc/vimc.cpp          | 20 +++++++++----------\n src/libcamera/pipeline_handler.cpp            | 10 +++++-----\n src/libcamera/process.cpp                     |  6 +++---\n src/libcamera/proxy/ipa_proxy_linux.cpp       | 10 +++++-----\n src/libcamera/proxy/ipa_proxy_thread.cpp      | 10 +++++-----\n .../proxy/worker/ipa_proxy_linux_worker.cpp   |  8 ++++----\n src/libcamera/proxy/worker/meson.build        |  1 -\n src/libcamera/pub_key.cpp                     |  2 +-\n src/libcamera/request.cpp                     |  4 ++--\n src/libcamera/semaphore.cpp                   |  4 ++--\n src/libcamera/signal.cpp                      |  2 +-\n src/libcamera/stream.cpp                      |  4 ++--\n src/libcamera/thread.cpp                      |  8 ++++----\n src/libcamera/timer.cpp                       |  8 ++++----\n src/libcamera/utils.cpp                       |  2 +-\n src/libcamera/v4l2_controls.cpp               |  2 +-\n src/libcamera/v4l2_device.cpp                 |  8 ++++----\n src/libcamera/v4l2_pixelformat.cpp            |  6 +++---\n src/libcamera/v4l2_subdevice.cpp              | 10 +++++-----\n src/libcamera/v4l2_videodevice.cpp            | 10 +++++-----\n src/v4l2/meson.build                          |  1 -\n src/v4l2/v4l2_camera.cpp                      |  2 +-\n src/v4l2/v4l2_camera.h                        |  2 +-\n src/v4l2/v4l2_camera_proxy.cpp                |  5 +++--\n src/v4l2/v4l2_compat_manager.cpp              |  2 +-\n test/byte-stream-buffer.cpp                   |  3 ++-\n test/camera-sensor.cpp                        | 10 +++++-----\n test/camera/buffer_import.cpp                 |  6 +++---\n test/controls/control_info_map.cpp            |  2 +-\n test/controls/control_list.cpp                |  2 +-\n test/event-dispatcher.cpp                     |  3 ++-\n test/event-thread.cpp                         |  3 ++-\n test/event.cpp                                |  3 ++-\n test/file-descriptor.cpp                      |  3 ++-\n test/file.cpp                                 |  3 ++-\n test/ipa/ipa_interface_test.cpp               | 11 +++++-----\n test/ipa/ipa_module_test.cpp                  |  2 +-\n test/ipa/ipa_wrappers_test.cpp                | 10 +++++-----\n test/ipc/unixsocket.cpp                       |  7 ++++---\n test/libtest/buffer_source.cpp                |  2 +-\n test/libtest/buffer_source.h                  |  4 ++--\n test/libtest/meson.build                      |  1 -\n test/log/log_api.cpp                          |  3 ++-\n test/log/log_process.cpp                      |  9 +++++----\n test/media_device/media_device_print_test.cpp |  2 +-\n test/media_device/media_device_test.h         |  4 ++--\n test/message.cpp                              |  5 +++--\n test/object-invoke.cpp                        |  3 ++-\n test/object.cpp                               |  4 ++--\n test/pipeline/ipu3/ipu3_pipeline_test.cpp     |  7 ++++---\n test/pipeline/rkisp1/rkisp1_pipeline_test.cpp |  7 ++++---\n test/process/process_test.cpp                 |  7 ++++---\n test/serialization/control_serialization.cpp  |  5 +++--\n test/signal-threads.cpp                       |  7 ++++---\n test/threads.cpp                              |  3 ++-\n test/timer-thread.cpp                         |  3 ++-\n test/timer.cpp                                |  3 ++-\n test/utils.cpp                                |  3 ++-\n test/v4l2_subdevice/list_formats.cpp          |  3 ++-\n test/v4l2_subdevice/test_formats.cpp          |  3 ++-\n test/v4l2_subdevice/v4l2_subdevice_test.cpp   |  7 ++++---\n test/v4l2_subdevice/v4l2_subdevice_test.h     |  7 ++++---\n test/v4l2_videodevice/buffer_sharing.cpp      |  3 ++-\n test/v4l2_videodevice/capture_async.cpp       |  3 ++-\n test/v4l2_videodevice/controls.cpp            |  2 +-\n test/v4l2_videodevice/formats.cpp             |  4 ++--\n test/v4l2_videodevice/v4l2_m2mdevice.cpp      |  8 ++++----\n .../v4l2_videodevice_test.cpp                 |  6 +++---\n test/v4l2_videodevice/v4l2_videodevice_test.h | 12 +++++------\n 157 files changed, 384 insertions(+), 360 deletions(-)\n rename {src/libcamera/include => include/libcamera/internal}/byte_stream_buffer.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/camera_controls.h (91%)\n rename {src/libcamera/include => include/libcamera/internal}/camera_sensor.h (96%)\n rename {src/libcamera/include => include/libcamera/internal}/control_serializer.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/control_validator.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/device_enumerator.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_sysfs.h (92%)\n rename {src/libcamera/include => include/libcamera/internal}/device_enumerator_udev.h (96%)\n rename {src/libcamera/include => include/libcamera/internal}/event_dispatcher_poll.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/file.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/formats.h (96%)\n rename {src/libcamera/include => include/libcamera/internal}/ipa_context_wrapper.h (96%)\n rename {src/libcamera/include => include/libcamera/internal}/ipa_manager.h (88%)\n rename {src/libcamera/include => include/libcamera/internal}/ipa_module.h (93%)\n rename {src/libcamera/include => include/libcamera/internal}/ipa_proxy.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/ipc_unixsocket.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/log.h (98%)\n rename {src/libcamera/include => include/libcamera/internal}/media_device.h (96%)\n rename {src/libcamera/include => include/libcamera/internal}/media_object.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/meson.build (100%)\n rename {src/libcamera/include => include/libcamera/internal}/message.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/pipeline_handler.h (98%)\n rename {src/libcamera/include => include/libcamera/internal}/process.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/pub_key.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/semaphore.h (94%)\n rename {src/libcamera/include => include/libcamera/internal}/thread.h (97%)\n rename {src/libcamera/include => include/libcamera/internal}/utils.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/v4l2_controls.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/v4l2_device.h (94%)\n rename {src/libcamera/include => include/libcamera/internal}/v4l2_pixelformat.h (100%)\n rename {src/libcamera/include => include/libcamera/internal}/v4l2_subdevice.h (90%)\n rename {src/libcamera/include => include/libcamera/internal}/v4l2_videodevice.h (97%)","diff":"diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\nindex 86bcc4d00f88..c3fe5f663f7c 100644\n--- a/Documentation/Doxyfile.in\n+++ b/Documentation/Doxyfile.in\n@@ -842,10 +842,10 @@ RECURSIVE              = YES\n # run.\n \n EXCLUDE                = @TOP_SRCDIR@/include/libcamera/span.h \\\n+\t\t\t @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_sysfs.h \\\n+\t\t\t @TOP_SRCDIR@/include/libcamera/internal/device_enumerator_udev.h \\\n \t\t\t @TOP_SRCDIR@/src/libcamera/device_enumerator_sysfs.cpp \\\n \t\t\t @TOP_SRCDIR@/src/libcamera/device_enumerator_udev.cpp \\\n-\t\t\t @TOP_SRCDIR@/src/libcamera/include/device_enumerator_sysfs.h \\\n-\t\t\t @TOP_SRCDIR@/src/libcamera/include/device_enumerator_udev.h \\\n \t\t\t @TOP_SRCDIR@/src/libcamera/pipeline/ \\\n \t\t\t @TOP_SRCDIR@/src/libcamera/proxy/\n \n@@ -2053,7 +2053,7 @@ SEARCH_INCLUDES        = YES\n # preprocessor.\n # This tag requires that the tag SEARCH_INCLUDES is set to YES.\n \n-INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\" \"@TOP_SRCDIR@/src/libcamera/include\"\n+INCLUDE_PATH           = \"@TOP_SRCDIR@/include/libcamera\"\n \n # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard\n # patterns (like *.h and *.hpp) to filter out the header-files in the\ndiff --git a/src/libcamera/include/byte_stream_buffer.h b/include/libcamera/internal/byte_stream_buffer.h\nsimilarity index 100%\nrename from src/libcamera/include/byte_stream_buffer.h\nrename to include/libcamera/internal/byte_stream_buffer.h\ndiff --git a/src/libcamera/include/camera_controls.h b/include/libcamera/internal/camera_controls.h\nsimilarity index 91%\nrename from src/libcamera/include/camera_controls.h\nrename to include/libcamera/internal/camera_controls.h\nindex 265c1fe379db..dc8b3ba84bc4 100644\n--- a/src/libcamera/include/camera_controls.h\n+++ b/include/libcamera/internal/camera_controls.h\n@@ -7,7 +7,7 @@\n #ifndef __LIBCAMERA_CAMERA_CONTROLS_H__\n #define __LIBCAMERA_CAMERA_CONTROLS_H__\n \n-#include \"control_validator.h\"\n+#include \"libcamera/internal/control_validator.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/camera_sensor.h b/include/libcamera/internal/camera_sensor.h\nsimilarity index 96%\nrename from src/libcamera/include/camera_sensor.h\nrename to include/libcamera/internal/camera_sensor.h\nindex 30cf5f34f485..d79bd9ce9d58 100644\n--- a/src/libcamera/include/camera_sensor.h\n+++ b/include/libcamera/internal/camera_sensor.h\n@@ -14,8 +14,8 @@\n #include <libcamera/controls.h>\n #include <libcamera/geometry.h>\n \n-#include \"formats.h\"\n-#include \"log.h\"\n+#include \"libcamera/internal/formats.h\"\n+#include \"libcamera/internal/log.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/control_serializer.h b/include/libcamera/internal/control_serializer.h\nsimilarity index 100%\nrename from src/libcamera/include/control_serializer.h\nrename to include/libcamera/internal/control_serializer.h\ndiff --git a/src/libcamera/include/control_validator.h b/include/libcamera/internal/control_validator.h\nsimilarity index 100%\nrename from src/libcamera/include/control_validator.h\nrename to include/libcamera/internal/control_validator.h\ndiff --git a/src/libcamera/include/device_enumerator.h b/include/libcamera/internal/device_enumerator.h\nsimilarity index 100%\nrename from src/libcamera/include/device_enumerator.h\nrename to include/libcamera/internal/device_enumerator.h\ndiff --git a/src/libcamera/include/device_enumerator_sysfs.h b/include/libcamera/internal/device_enumerator_sysfs.h\nsimilarity index 92%\nrename from src/libcamera/include/device_enumerator_sysfs.h\nrename to include/libcamera/internal/device_enumerator_sysfs.h\nindex 5a5c9b0f5a31..a63e737a78d5 100644\n--- a/src/libcamera/include/device_enumerator_sysfs.h\n+++ b/include/libcamera/internal/device_enumerator_sysfs.h\n@@ -10,7 +10,7 @@\n #include <memory>\n #include <string>\n \n-#include \"device_enumerator.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n \n class MediaDevice;\n \ndiff --git a/src/libcamera/include/device_enumerator_udev.h b/include/libcamera/internal/device_enumerator_udev.h\nsimilarity index 96%\nrename from src/libcamera/include/device_enumerator_udev.h\nrename to include/libcamera/internal/device_enumerator_udev.h\nindex fdce4520f33a..fdaa20968ef0 100644\n--- a/src/libcamera/include/device_enumerator_udev.h\n+++ b/include/libcamera/internal/device_enumerator_udev.h\n@@ -14,7 +14,7 @@\n #include <string>\n #include <sys/types.h>\n \n-#include \"device_enumerator.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n \n struct udev;\n struct udev_device;\ndiff --git a/src/libcamera/include/event_dispatcher_poll.h b/include/libcamera/internal/event_dispatcher_poll.h\nsimilarity index 100%\nrename from src/libcamera/include/event_dispatcher_poll.h\nrename to include/libcamera/internal/event_dispatcher_poll.h\ndiff --git a/src/libcamera/include/file.h b/include/libcamera/internal/file.h\nsimilarity index 100%\nrename from src/libcamera/include/file.h\nrename to include/libcamera/internal/file.h\ndiff --git a/src/libcamera/include/formats.h b/include/libcamera/internal/formats.h\nsimilarity index 96%\nrename from src/libcamera/include/formats.h\nrename to include/libcamera/internal/formats.h\nindex 291a1108aa33..4092a93ef973 100644\n--- a/src/libcamera/include/formats.h\n+++ b/include/libcamera/internal/formats.h\n@@ -14,7 +14,7 @@\n #include <libcamera/geometry.h>\n #include <libcamera/pixelformats.h>\n \n-#include \"v4l2_pixelformat.h\"\n+#include \"libcamera/internal/v4l2_pixelformat.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/ipa_context_wrapper.h b/include/libcamera/internal/ipa_context_wrapper.h\nsimilarity index 96%\nrename from src/libcamera/include/ipa_context_wrapper.h\nrename to include/libcamera/internal/ipa_context_wrapper.h\nindex 0db022ef5a1b..a717d4067498 100644\n--- a/src/libcamera/include/ipa_context_wrapper.h\n+++ b/include/libcamera/internal/ipa_context_wrapper.h\n@@ -9,7 +9,7 @@\n \n #include <ipa/ipa_interface.h>\n \n-#include \"control_serializer.h\"\n+#include \"libcamera/internal/control_serializer.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/ipa_manager.h b/include/libcamera/internal/ipa_manager.h\nsimilarity index 88%\nrename from src/libcamera/include/ipa_manager.h\nrename to include/libcamera/internal/ipa_manager.h\nindex aa6b9adb1f87..f07d91fc7bbf 100644\n--- a/src/libcamera/include/ipa_manager.h\n+++ b/include/libcamera/internal/ipa_manager.h\n@@ -13,9 +13,9 @@\n #include <ipa/ipa_interface.h>\n #include <ipa/ipa_module_info.h>\n \n-#include \"ipa_module.h\"\n-#include \"pipeline_handler.h\"\n-#include \"pub_key.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/pub_key.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/ipa_module.h b/include/libcamera/internal/ipa_module.h\nsimilarity index 93%\nrename from src/libcamera/include/ipa_module.h\nrename to include/libcamera/internal/ipa_module.h\nindex 15022e19edce..2f569db0b848 100644\n--- a/src/libcamera/include/ipa_module.h\n+++ b/include/libcamera/internal/ipa_module.h\n@@ -14,8 +14,8 @@\n #include <ipa/ipa_interface.h>\n #include <ipa/ipa_module_info.h>\n \n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/ipa_proxy.h b/include/libcamera/internal/ipa_proxy.h\nsimilarity index 100%\nrename from src/libcamera/include/ipa_proxy.h\nrename to include/libcamera/internal/ipa_proxy.h\ndiff --git a/src/libcamera/include/ipc_unixsocket.h b/include/libcamera/internal/ipc_unixsocket.h\nsimilarity index 100%\nrename from src/libcamera/include/ipc_unixsocket.h\nrename to include/libcamera/internal/ipc_unixsocket.h\ndiff --git a/src/libcamera/include/log.h b/include/libcamera/internal/log.h\nsimilarity index 98%\nrename from src/libcamera/include/log.h\nrename to include/libcamera/internal/log.h\nindex ee0b4069bd32..cab2034aae6b 100644\n--- a/src/libcamera/include/log.h\n+++ b/include/libcamera/internal/log.h\n@@ -10,7 +10,7 @@\n #include <chrono>\n #include <sstream>\n \n-#include \"utils.h\"\n+#include \"libcamera/internal/utils.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/media_device.h b/include/libcamera/internal/media_device.h\nsimilarity index 96%\nrename from src/libcamera/include/media_device.h\nrename to include/libcamera/internal/media_device.h\nindex 4d9f76618ec0..9fe76c514b17 100644\n--- a/src/libcamera/include/media_device.h\n+++ b/include/libcamera/internal/media_device.h\n@@ -16,8 +16,8 @@\n \n #include <libcamera/signal.h>\n \n-#include \"log.h\"\n-#include \"media_object.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_object.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/media_object.h b/include/libcamera/internal/media_object.h\nsimilarity index 100%\nrename from src/libcamera/include/media_object.h\nrename to include/libcamera/internal/media_object.h\ndiff --git a/src/libcamera/include/meson.build b/include/libcamera/internal/meson.build\nsimilarity index 100%\nrename from src/libcamera/include/meson.build\nrename to include/libcamera/internal/meson.build\ndiff --git a/src/libcamera/include/message.h b/include/libcamera/internal/message.h\nsimilarity index 100%\nrename from src/libcamera/include/message.h\nrename to include/libcamera/internal/message.h\ndiff --git a/src/libcamera/include/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h\nsimilarity index 98%\nrename from src/libcamera/include/pipeline_handler.h\nrename to include/libcamera/internal/pipeline_handler.h\nindex 706413fa6e9f..428f5887c76b 100644\n--- a/src/libcamera/include/pipeline_handler.h\n+++ b/include/libcamera/internal/pipeline_handler.h\n@@ -19,7 +19,7 @@\n #include <libcamera/object.h>\n #include <libcamera/stream.h>\n \n-#include \"ipa_proxy.h\"\n+#include \"libcamera/internal/ipa_proxy.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/process.h b/include/libcamera/internal/process.h\nsimilarity index 100%\nrename from src/libcamera/include/process.h\nrename to include/libcamera/internal/process.h\ndiff --git a/src/libcamera/include/pub_key.h b/include/libcamera/internal/pub_key.h\nsimilarity index 100%\nrename from src/libcamera/include/pub_key.h\nrename to include/libcamera/internal/pub_key.h\ndiff --git a/src/libcamera/include/semaphore.h b/include/libcamera/internal/semaphore.h\nsimilarity index 94%\nrename from src/libcamera/include/semaphore.h\nrename to include/libcamera/internal/semaphore.h\nindex c6b286536eb3..4d93077c776f 100644\n--- a/src/libcamera/include/semaphore.h\n+++ b/include/libcamera/internal/semaphore.h\n@@ -9,7 +9,7 @@\n \n #include <condition_variable>\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/thread.h b/include/libcamera/internal/thread.h\nsimilarity index 97%\nrename from src/libcamera/include/thread.h\nrename to include/libcamera/internal/thread.h\nindex d700f111a3ae..6594c9b06b8d 100644\n--- a/src/libcamera/include/thread.h\n+++ b/include/libcamera/internal/thread.h\n@@ -14,7 +14,7 @@\n \n #include <libcamera/signal.h>\n \n-#include \"utils.h\"\n+#include \"libcamera/internal/utils.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/utils.h b/include/libcamera/internal/utils.h\nsimilarity index 100%\nrename from src/libcamera/include/utils.h\nrename to include/libcamera/internal/utils.h\ndiff --git a/src/libcamera/include/v4l2_controls.h b/include/libcamera/internal/v4l2_controls.h\nsimilarity index 100%\nrename from src/libcamera/include/v4l2_controls.h\nrename to include/libcamera/internal/v4l2_controls.h\ndiff --git a/src/libcamera/include/v4l2_device.h b/include/libcamera/internal/v4l2_device.h\nsimilarity index 94%\nrename from src/libcamera/include/v4l2_device.h\nrename to include/libcamera/internal/v4l2_device.h\nindex e604a40df4c9..d491eafd262e 100644\n--- a/src/libcamera/include/v4l2_device.h\n+++ b/include/libcamera/internal/v4l2_device.h\n@@ -13,8 +13,8 @@\n \n #include <linux/videodev2.h>\n \n-#include \"log.h\"\n-#include \"v4l2_controls.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/v4l2_pixelformat.h b/include/libcamera/internal/v4l2_pixelformat.h\nsimilarity index 100%\nrename from src/libcamera/include/v4l2_pixelformat.h\nrename to include/libcamera/internal/v4l2_pixelformat.h\ndiff --git a/src/libcamera/include/v4l2_subdevice.h b/include/libcamera/internal/v4l2_subdevice.h\nsimilarity index 90%\nrename from src/libcamera/include/v4l2_subdevice.h\nrename to include/libcamera/internal/v4l2_subdevice.h\nindex d0e565dbdaab..1be454f0ddda 100644\n--- a/src/libcamera/include/v4l2_subdevice.h\n+++ b/include/libcamera/internal/v4l2_subdevice.h\n@@ -12,10 +12,10 @@\n \n #include <libcamera/geometry.h>\n \n-#include \"formats.h\"\n-#include \"log.h\"\n-#include \"media_object.h\"\n-#include \"v4l2_device.h\"\n+#include \"libcamera/internal/formats.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_object.h\"\n+#include \"libcamera/internal/v4l2_device.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/include/v4l2_videodevice.h b/include/libcamera/internal/v4l2_videodevice.h\nsimilarity index 97%\nrename from src/libcamera/include/v4l2_videodevice.h\nrename to include/libcamera/internal/v4l2_videodevice.h\nindex 94565b97b6b1..dc259523599c 100644\n--- a/src/libcamera/include/v4l2_videodevice.h\n+++ b/include/libcamera/internal/v4l2_videodevice.h\n@@ -20,10 +20,10 @@\n #include <libcamera/pixelformats.h>\n #include <libcamera/signal.h>\n \n-#include \"formats.h\"\n-#include \"log.h\"\n-#include \"v4l2_device.h\"\n-#include \"v4l2_pixelformat.h\"\n+#include \"libcamera/internal/formats.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/v4l2_device.h\"\n+#include \"libcamera/internal/v4l2_pixelformat.h\"\n \n namespace libcamera {\n \ndiff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\nindex cea47eb83030..f9c8e64bd50c 100644\n--- a/include/libcamera/meson.build\n+++ b/include/libcamera/meson.build\n@@ -23,6 +23,8 @@ libcamera_api = files([\n \n include_dir = join_paths(libcamera_include_dir, 'libcamera')\n \n+subdir('internal')\n+\n install_headers(libcamera_api,\n                 subdir : include_dir)\n \ndiff --git a/src/android/camera3_hal.cpp b/src/android/camera3_hal.cpp\nindex 34301ed971b6..716e36c72b83 100644\n--- a/src/android/camera3_hal.cpp\n+++ b/src/android/camera3_hal.cpp\n@@ -7,9 +7,10 @@\n \n #include <hardware/camera_common.h>\n \n+#include \"libcamera/internal/log.h\"\n+\n #include \"camera_device.h\"\n #include \"camera_hal_manager.h\"\n-#include \"log.h\"\n \n using namespace libcamera;\n \ndiff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex 76af70ebccfa..4ec429fc3f8f 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -11,8 +11,8 @@\n #include <libcamera/controls.h>\n #include <libcamera/property_ids.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n #include \"camera_metadata.h\"\n \ndiff --git a/src/android/camera_device.h b/src/android/camera_device.h\nindex 55eac317e0e4..bce1cfbc85a4 100644\n--- a/src/android/camera_device.h\n+++ b/src/android/camera_device.h\n@@ -16,7 +16,7 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"message.h\"\n+#include \"libcamera/internal/message.h\"\n \n class CameraMetadata;\n \ndiff --git a/src/android/camera_hal_manager.cpp b/src/android/camera_hal_manager.cpp\nindex 5bd3bdba8a55..759e320dcd3b 100644\n--- a/src/android/camera_hal_manager.cpp\n+++ b/src/android/camera_hal_manager.cpp\n@@ -9,7 +9,7 @@\n \n #include <libcamera/camera.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n #include \"camera_device.h\"\n \ndiff --git a/src/android/camera_metadata.cpp b/src/android/camera_metadata.cpp\nindex 76965108c08b..47b2e4ef117a 100644\n--- a/src/android/camera_metadata.cpp\n+++ b/src/android/camera_metadata.cpp\n@@ -7,7 +7,7 @@\n \n #include \"camera_metadata.h\"\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n using namespace libcamera;\n \ndiff --git a/src/ipa/libipa/ipa_interface_wrapper.cpp b/src/ipa/libipa/ipa_interface_wrapper.cpp\nindex 21d8c98bddee..90f270c021a9 100644\n--- a/src/ipa/libipa/ipa_interface_wrapper.cpp\n+++ b/src/ipa/libipa/ipa_interface_wrapper.cpp\n@@ -14,8 +14,8 @@\n \n #include <ipa/ipa_interface.h>\n \n-#include \"byte_stream_buffer.h\"\n-#include \"camera_sensor.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n \n /**\n  * \\file ipa_interface_wrapper.h\ndiff --git a/src/ipa/libipa/ipa_interface_wrapper.h b/src/ipa/libipa/ipa_interface_wrapper.h\nindex 56507aafd81e..b426034d551d 100644\n--- a/src/ipa/libipa/ipa_interface_wrapper.h\n+++ b/src/ipa/libipa/ipa_interface_wrapper.h\n@@ -11,7 +11,7 @@\n \n #include <ipa/ipa_interface.h>\n \n-#include \"control_serializer.h\"\n+#include \"libcamera/internal/control_serializer.h\"\n \n namespace libcamera {\n \ndiff --git a/src/ipa/meson.build b/src/ipa/meson.build\nindex ab73c347021c..5a5de267c147 100644\n--- a/src/ipa/meson.build\n+++ b/src/ipa/meson.build\n@@ -6,7 +6,6 @@ ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa')\n \n ipa_includes = [\n     libcamera_includes,\n-    libcamera_internal_includes,\n ]\n \n config_h.set('IPA_CONFIG_DIR',\ndiff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp\nindex 7f05d2c6b368..a0c73f99390f 100644\n--- a/src/ipa/raspberrypi/cam_helper.cpp\n+++ b/src/ipa/raspberrypi/cam_helper.cpp\n@@ -11,11 +11,11 @@\n #include <map>\n #include <string.h>\n \n+#include \"libcamera/internal/v4l2_videodevice.h\"\n+\n #include \"cam_helper.hpp\"\n #include \"md_parser.hpp\"\n \n-#include \"v4l2_videodevice.h\"\n-\n using namespace RPi;\n \n static std::map<std::string, CamHelperCreateFunc> cam_helpers;\ndiff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp\nindex 0c8aa29a4cff..6877f4735031 100644\n--- a/src/ipa/raspberrypi/cam_helper.hpp\n+++ b/src/ipa/raspberrypi/cam_helper.hpp\n@@ -11,7 +11,7 @@\n #include \"camera_mode.h\"\n #include \"md_parser.hpp\"\n \n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace RPi {\n \ndiff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp\nindex 3bcc08156902..46b244538e32 100644\n--- a/src/ipa/raspberrypi/raspberrypi.cpp\n+++ b/src/ipa/raspberrypi/raspberrypi.cpp\n@@ -22,6 +22,10 @@\n #include <libcamera/span.h>\n #include <libipa/ipa_interface_wrapper.h>\n \n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include <linux/bcm2835-isp.h>\n \n #include \"agc_algorithm.hpp\"\n@@ -44,10 +48,6 @@\n #include \"sdn_status.h\"\n #include \"sharpen_status.h\"\n \n-#include \"camera_sensor.h\"\n-#include \"log.h\"\n-#include \"utils.h\"\n-\n namespace libcamera {\n \n /* Configure the sensor with these values initially. */\ndiff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex bfa88418fa7b..4f6e0342dac1 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -22,8 +22,8 @@\n #include <libcamera/request.h>\n #include <libipa/ipa_interface_wrapper.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n namespace libcamera {\n \ndiff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\nindex 9271f2d8acff..3fa6be6535e2 100644\n--- a/src/ipa/vimc/vimc.cpp\n+++ b/src/ipa/vimc/vimc.cpp\n@@ -19,8 +19,8 @@\n \n #include <libipa/ipa_interface_wrapper.h>\n \n-#include \"file.h\"\n-#include \"log.h\"\n+#include \"libcamera/internal/file.h\"\n+#include \"libcamera/internal/log.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/bound_method.cpp b/src/libcamera/bound_method.cpp\nindex 9aa59dc3678f..9993e5969aac 100644\n--- a/src/libcamera/bound_method.cpp\n+++ b/src/libcamera/bound_method.cpp\n@@ -7,9 +7,9 @@\n \n #include <libcamera/bound_method.h>\n \n-#include \"message.h\"\n-#include \"semaphore.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/semaphore.h\"\n+#include \"libcamera/internal/thread.h\"\n \n /**\n  * \\file bound_method.h\ndiff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp\nindex 0c5e56cf1062..1a1d4bac7aed 100644\n--- a/src/libcamera/buffer.cpp\n+++ b/src/libcamera/buffer.cpp\n@@ -12,7 +12,7 @@\n #include <sys/mman.h>\n #include <unistd.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file buffer.h\ndiff --git a/src/libcamera/byte_stream_buffer.cpp b/src/libcamera/byte_stream_buffer.cpp\nindex 20d6a6552c5f..df7029b02a7f 100644\n--- a/src/libcamera/byte_stream_buffer.cpp\n+++ b/src/libcamera/byte_stream_buffer.cpp\n@@ -5,12 +5,12 @@\n  * byte_stream_buffer.cpp - Byte stream buffer\n  */\n \n-#include \"byte_stream_buffer.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n \n #include <stdint.h>\n #include <string.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\nindex 8c3bb2c2a01f..eac769a43964 100644\n--- a/src/libcamera/camera.cpp\n+++ b/src/libcamera/camera.cpp\n@@ -14,9 +14,9 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file camera.h\ndiff --git a/src/libcamera/camera_controls.cpp b/src/libcamera/camera_controls.cpp\nindex 59dcede2ca36..371f6d079e2d 100644\n--- a/src/libcamera/camera_controls.cpp\n+++ b/src/libcamera/camera_controls.cpp\n@@ -5,7 +5,7 @@\n  * camera_controls.cpp - Camera controls\n  */\n \n-#include \"camera_controls.h\"\n+#include \"libcamera/internal/camera_controls.h\"\n \n #include <libcamera/camera.h>\n #include <libcamera/controls.h>\ndiff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\nindex fddf7349ec15..849377ad2712 100644\n--- a/src/libcamera/camera_manager.cpp\n+++ b/src/libcamera/camera_manager.cpp\n@@ -13,12 +13,12 @@\n #include <libcamera/camera.h>\n #include <libcamera/event_dispatcher.h>\n \n-#include \"device_enumerator.h\"\n-#include \"event_dispatcher_poll.h\"\n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/event_dispatcher_poll.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file camera_manager.h\ndiff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\nindex 31a916a92722..174df17cfaef 100644\n--- a/src/libcamera/camera_sensor.cpp\n+++ b/src/libcamera/camera_sensor.cpp\n@@ -5,7 +5,7 @@\n  * camera_sensor.cpp - A camera sensor\n  */\n \n-#include \"camera_sensor.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n \n #include <algorithm>\n #include <float.h>\n@@ -16,9 +16,9 @@\n \n #include <libcamera/property_ids.h>\n \n-#include \"formats.h\"\n-#include \"utils.h\"\n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/formats.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n \n /**\n  * \\file camera_sensor.h\ndiff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp\nindex fcff5e56fbf7..bf162b6cc471 100644\n--- a/src/libcamera/control_serializer.cpp\n+++ b/src/libcamera/control_serializer.cpp\n@@ -5,7 +5,7 @@\n  * control_serializer.cpp - Control (de)serializer\n  */\n \n-#include \"control_serializer.h\"\n+#include \"libcamera/internal/control_serializer.h\"\n \n #include <algorithm>\n #include <memory>\n@@ -16,8 +16,8 @@\n #include <libcamera/controls.h>\n #include <libcamera/span.h>\n \n-#include \"byte_stream_buffer.h\"\n-#include \"log.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file control_serializer.h\ndiff --git a/src/libcamera/control_validator.cpp b/src/libcamera/control_validator.cpp\nindex 8e5cf3c3e3ee..5a2f27ac9a3b 100644\n--- a/src/libcamera/control_validator.cpp\n+++ b/src/libcamera/control_validator.cpp\n@@ -5,7 +5,7 @@\n  * control_validator.cpp - Control validator\n  */\n \n-#include \"control_validator.h\"\n+#include \"libcamera/internal/control_validator.h\"\n \n /**\n  * \\file control_validator.h\ndiff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp\nindex 08df7f29e938..dca782667d88 100644\n--- a/src/libcamera/controls.cpp\n+++ b/src/libcamera/controls.cpp\n@@ -12,9 +12,9 @@\n #include <string>\n #include <string.h>\n \n-#include \"control_validator.h\"\n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/control_validator.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file controls.h\ndiff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp\nindex dd17e3e32e6c..e21a2a7deaae 100644\n--- a/src/libcamera/device_enumerator.cpp\n+++ b/src/libcamera/device_enumerator.cpp\n@@ -5,14 +5,14 @@\n  * device_enumerator.cpp - Enumeration and matching\n  */\n \n-#include \"device_enumerator.h\"\n-#include \"device_enumerator_sysfs.h\"\n-#include \"device_enumerator_udev.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/device_enumerator_sysfs.h\"\n+#include \"libcamera/internal/device_enumerator_udev.h\"\n \n #include <string.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n /**\n  * \\file device_enumerator.h\ndiff --git a/src/libcamera/device_enumerator_sysfs.cpp b/src/libcamera/device_enumerator_sysfs.cpp\nindex 3446db59e9d4..ff72885288c3 100644\n--- a/src/libcamera/device_enumerator_sysfs.cpp\n+++ b/src/libcamera/device_enumerator_sysfs.cpp\n@@ -5,7 +5,7 @@\n  * device_enumerator_sysfs.cpp - sysfs-based device enumerator\n  */\n \n-#include \"device_enumerator_sysfs.h\"\n+#include \"libcamera/internal/device_enumerator_sysfs.h\"\n \n #include <dirent.h>\n #include <fcntl.h>\n@@ -17,8 +17,8 @@\n #include <sys/types.h>\n #include <unistd.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/device_enumerator_udev.cpp b/src/libcamera/device_enumerator_udev.cpp\nindex 2e33c898aeef..56ca4dc2804b 100644\n--- a/src/libcamera/device_enumerator_udev.cpp\n+++ b/src/libcamera/device_enumerator_udev.cpp\n@@ -5,7 +5,7 @@\n  * device_enumerator_udev.cpp - udev-based device enumerator\n  */\n \n-#include \"device_enumerator_udev.h\"\n+#include \"libcamera/internal/device_enumerator_udev.h\"\n \n #include <algorithm>\n #include <fcntl.h>\n@@ -19,8 +19,8 @@\n \n #include <libcamera/event_notifier.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/event_dispatcher.cpp b/src/libcamera/event_dispatcher.cpp\nindex bb4fddfffe86..90bd5daf0612 100644\n--- a/src/libcamera/event_dispatcher.cpp\n+++ b/src/libcamera/event_dispatcher.cpp\n@@ -7,7 +7,7 @@\n \n #include <libcamera/event_dispatcher.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file event_dispatcher.h\ndiff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp\nindex 51ac5adf2f74..9ab85da7d75d 100644\n--- a/src/libcamera/event_dispatcher_poll.cpp\n+++ b/src/libcamera/event_dispatcher_poll.cpp\n@@ -5,7 +5,7 @@\n  * event_dispatcher_poll.cpp - Poll-based event dispatcher\n  */\n \n-#include \"event_dispatcher_poll.h\"\n+#include \"libcamera/internal/event_dispatcher_poll.h\"\n \n #include <algorithm>\n #include <chrono>\n@@ -19,9 +19,9 @@\n #include <libcamera/event_notifier.h>\n #include <libcamera/timer.h>\n \n-#include \"log.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file event_dispatcher_poll.h\ndiff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp\nindex a9be686f79ae..cc3ea0d91e5b 100644\n--- a/src/libcamera/event_notifier.cpp\n+++ b/src/libcamera/event_notifier.cpp\n@@ -10,8 +10,8 @@\n #include <libcamera/camera_manager.h>\n #include <libcamera/event_dispatcher.h>\n \n-#include \"message.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/thread.h\"\n \n /**\n  * \\file event_notifier.h\ndiff --git a/src/libcamera/file.cpp b/src/libcamera/file.cpp\nindex 8223743d5f6b..c471bde3fc68 100644\n--- a/src/libcamera/file.cpp\n+++ b/src/libcamera/file.cpp\n@@ -5,7 +5,7 @@\n  * file.cpp - File I/O operations\n  */\n \n-#include \"file.h\"\n+#include \"libcamera/internal/file.h\"\n \n #include <errno.h>\n #include <fcntl.h>\n@@ -14,7 +14,7 @@\n #include <sys/types.h>\n #include <unistd.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file file.h\ndiff --git a/src/libcamera/file_descriptor.cpp b/src/libcamera/file_descriptor.cpp\nindex 88385476d890..ee60064bce6e 100644\n--- a/src/libcamera/file_descriptor.cpp\n+++ b/src/libcamera/file_descriptor.cpp\n@@ -11,7 +11,7 @@\n #include <unistd.h>\n #include <utility>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file file_descriptor.h\ndiff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\nindex b3af0f7fcfcc..2ac3b412ecdb 100644\n--- a/src/libcamera/formats.cpp\n+++ b/src/libcamera/formats.cpp\n@@ -5,11 +5,11 @@\n  * formats.cpp - libcamera image formats\n  */\n \n-#include \"formats.h\"\n+#include \"libcamera/internal/formats.h\"\n \n #include <errno.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file formats.h\ndiff --git a/src/libcamera/framebuffer_allocator.cpp b/src/libcamera/framebuffer_allocator.cpp\nindex a37b564c6701..252191ba234c 100644\n--- a/src/libcamera/framebuffer_allocator.cpp\n+++ b/src/libcamera/framebuffer_allocator.cpp\n@@ -13,8 +13,8 @@\n #include <libcamera/camera.h>\n #include <libcamera/stream.h>\n \n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n \n /**\n  * \\file framebuffer_allocator.h\ndiff --git a/src/libcamera/ipa_context_wrapper.cpp b/src/libcamera/ipa_context_wrapper.cpp\nindex 0bd3a1aeca95..bcdc55c2bcbc 100644\n--- a/src/libcamera/ipa_context_wrapper.cpp\n+++ b/src/libcamera/ipa_context_wrapper.cpp\n@@ -5,15 +5,15 @@\n  * ipa_context_wrapper.cpp - Image Processing Algorithm context wrapper\n  */\n \n-#include \"ipa_context_wrapper.h\"\n+#include \"libcamera/internal/ipa_context_wrapper.h\"\n \n #include <vector>\n \n #include <libcamera/controls.h>\n \n-#include \"byte_stream_buffer.h\"\n-#include \"camera_sensor.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file ipa_context_wrapper.h\ndiff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp\nindex 1faa3dd38188..505cf61074b7 100644\n--- a/src/libcamera/ipa_manager.cpp\n+++ b/src/libcamera/ipa_manager.cpp\n@@ -5,19 +5,19 @@\n  * ipa_manager.cpp - Image Processing Algorithm module manager\n  */\n \n-#include \"ipa_manager.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n \n #include <algorithm>\n #include <dirent.h>\n #include <string.h>\n #include <sys/types.h>\n \n-#include \"file.h\"\n-#include \"ipa_module.h\"\n-#include \"ipa_proxy.h\"\n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/file.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/ipa_proxy.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file ipa_manager.h\ndiff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\nindex 3444a788b855..91534b61e2e4 100644\n--- a/src/libcamera/ipa_module.cpp\n+++ b/src/libcamera/ipa_module.cpp\n@@ -5,7 +5,7 @@\n  * ipa_module.cpp - Image Processing Algorithm module\n  */\n \n-#include \"ipa_module.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n \n #include <algorithm>\n #include <array>\n@@ -23,10 +23,10 @@\n \n #include <libcamera/span.h>\n \n-#include \"file.h\"\n-#include \"log.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/file.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file ipa_module.h\ndiff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp\nindex 401ac52d38d6..23be24ad9bf1 100644\n--- a/src/libcamera/ipa_proxy.cpp\n+++ b/src/libcamera/ipa_proxy.cpp\n@@ -5,16 +5,16 @@\n  * ipa_proxy.cpp - Image Processing Algorithm proxy\n  */\n \n-#include \"ipa_proxy.h\"\n+#include \"libcamera/internal/ipa_proxy.h\"\n \n #include <string.h>\n #include <sys/stat.h>\n #include <sys/types.h>\n #include <unistd.h>\n \n-#include \"ipa_module.h\"\n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file ipa_proxy.h\ndiff --git a/src/libcamera/ipa_pub_key.cpp.in b/src/libcamera/ipa_pub_key.cpp.in\nindex 7ffc1e24d67b..01e5333b4d30 100644\n--- a/src/libcamera/ipa_pub_key.cpp.in\n+++ b/src/libcamera/ipa_pub_key.cpp.in\n@@ -7,7 +7,7 @@\n  * This file is auto-generated. Do not edit.\n  */\n \n-#include \"ipa_manager.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp\nindex 6e5cab894a93..7df86e885f23 100644\n--- a/src/libcamera/ipc_unixsocket.cpp\n+++ b/src/libcamera/ipc_unixsocket.cpp\n@@ -5,14 +5,14 @@\n  * ipc_unixsocket.cpp - IPC mechanism based on Unix sockets\n  */\n \n-#include \"ipc_unixsocket.h\"\n+#include \"libcamera/internal/ipc_unixsocket.h\"\n \n #include <poll.h>\n #include <string.h>\n #include <sys/socket.h>\n #include <unistd.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file ipc_unixsocket.h\ndiff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp\nindex fd1b5c39a52e..180eb97ba664 100644\n--- a/src/libcamera/log.cpp\n+++ b/src/libcamera/log.cpp\n@@ -5,7 +5,7 @@\n  * log.cpp - Logging infrastructure\n  */\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n #if HAVE_BACKTRACE\n #include <execinfo.h>\n@@ -22,8 +22,8 @@\n \n #include <libcamera/logging.h>\n \n-#include \"thread.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file log.h\ndiff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\nindex d4e7e1002224..de18d572f479 100644\n--- a/src/libcamera/media_device.cpp\n+++ b/src/libcamera/media_device.cpp\n@@ -5,7 +5,7 @@\n  * media_device.cpp - Media device handler\n  */\n \n-#include \"media_device.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n #include <errno.h>\n #include <fcntl.h>\n@@ -18,7 +18,7 @@\n \n #include <linux/media.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file media_device.h\ndiff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp\nindex ef32065c161d..ce77a72712d3 100644\n--- a/src/libcamera/media_object.cpp\n+++ b/src/libcamera/media_object.cpp\n@@ -5,7 +5,7 @@\n  * media_object.cpp - Media device objects: entities, pads and links\n  */\n \n-#include \"media_object.h\"\n+#include \"libcamera/internal/media_object.h\"\n \n #include <errno.h>\n #include <string>\n@@ -15,8 +15,8 @@\n \n #include <linux/media.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n /**\n  * \\file media_object.h\ndiff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\nindex d42e9720dbd6..472af451c1ef 100644\n--- a/src/libcamera/meson.build\n+++ b/src/libcamera/meson.build\n@@ -51,13 +51,8 @@ libcamera_sources = files([\n     'v4l2_videodevice.cpp',\n ])\n \n-subdir('include')\n-\n-libcamera_internal_includes =  include_directories('include')\n-\n includes = [\n     libcamera_includes,\n-    libcamera_internal_includes,\n ]\n \n subdir('pipeline')\ndiff --git a/src/libcamera/message.cpp b/src/libcamera/message.cpp\nindex 77f2bdd5fbac..e9b3e73f3052 100644\n--- a/src/libcamera/message.cpp\n+++ b/src/libcamera/message.cpp\n@@ -5,11 +5,11 @@\n  * message.cpp - Message queue support\n  */\n \n-#include \"message.h\"\n+#include \"libcamera/internal/message.h\"\n \n #include <libcamera/signal.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file message.h\ndiff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp\nindex 99c3bf9a709b..1544a23e4410 100644\n--- a/src/libcamera/object.cpp\n+++ b/src/libcamera/object.cpp\n@@ -11,11 +11,11 @@\n \n #include <libcamera/signal.h>\n \n-#include \"log.h\"\n-#include \"message.h\"\n-#include \"semaphore.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/semaphore.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file object.h\ndiff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 1988cb0ee551..b805fea71c2d 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -17,15 +17,15 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n-#include \"v4l2_controls.h\"\n-#include \"v4l2_subdevice.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\nindex 41d1a522fa71..e254e5558d92 100644\n--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n@@ -21,15 +21,16 @@\n #include <linux/drm_fourcc.h>\n #include <linux/videodev2.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"ipa_manager.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n+\n #include \"staggered_ctrl.h\"\n-#include \"utils.h\"\n-#include \"v4l2_controls.h\"\n-#include \"v4l2_videodevice.h\"\n #include \"vcsm.h\"\n \n namespace libcamera {\ndiff --git a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\nindex d431887ea137..391e13f54ccc 100644\n--- a/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\n+++ b/src/libcamera/pipeline/raspberrypi/staggered_ctrl.cpp\n@@ -11,9 +11,9 @@\n \n #include <libcamera/controls.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 1e81a0048f09..7a0c8771ba54 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -20,16 +20,17 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"ipa_manager.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n+\n #include \"timeline.h\"\n-#include \"utils.h\"\n-#include \"v4l2_subdevice.h\"\n-#include \"v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/rkisp1/timeline.cpp b/src/libcamera/pipeline/rkisp1/timeline.cpp\nindex f6c6434d7b53..f5194608ced7 100644\n--- a/src/libcamera/pipeline/rkisp1/timeline.cpp\n+++ b/src/libcamera/pipeline/rkisp1/timeline.cpp\n@@ -7,7 +7,7 @@\n \n #include \"timeline.h\"\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file timeline.h\ndiff --git a/src/libcamera/pipeline/rkisp1/timeline.h b/src/libcamera/pipeline/rkisp1/timeline.h\nindex 9d30e4eaf874..88f99329873d 100644\n--- a/src/libcamera/pipeline/rkisp1/timeline.h\n+++ b/src/libcamera/pipeline/rkisp1/timeline.h\n@@ -12,7 +12,7 @@\n \n #include <libcamera/timer.h>\n \n-#include \"utils.h\"\n+#include \"libcamera/internal/utils.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp\nindex 6d88776dc2f0..02443e7f78ed 100644\n--- a/src/libcamera/pipeline/simple/converter.cpp\n+++ b/src/libcamera/pipeline/simple/converter.cpp\n@@ -13,9 +13,9 @@\n #include <libcamera/geometry.h>\n #include <libcamera/signal.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\nindex 6673606153b8..2565190082c8 100644\n--- a/src/libcamera/pipeline/simple/simple.cpp\n+++ b/src/libcamera/pipeline/simple/simple.cpp\n@@ -24,13 +24,13 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n-#include \"v4l2_subdevice.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include \"converter.h\"\n \ndiff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\nindex f0c1337de862..a074909499f1 100644\n--- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\n+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp\n@@ -17,13 +17,13 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"device_enumerator.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n-#include \"v4l2_controls.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline/vimc/vimc.cpp b/src/libcamera/pipeline/vimc/vimc.cpp\nindex 128301e3d99b..50a9f2df4c24 100644\n--- a/src/libcamera/pipeline/vimc/vimc.cpp\n+++ b/src/libcamera/pipeline/vimc/vimc.cpp\n@@ -22,16 +22,16 @@\n #include <libcamera/request.h>\n #include <libcamera/stream.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"ipa_manager.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"pipeline_handler.h\"\n-#include \"utils.h\"\n-#include \"v4l2_controls.h\"\n-#include \"v4l2_subdevice.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\nindex 254d341fb8a4..53aeebdcc14e 100644\n--- a/src/libcamera/pipeline_handler.cpp\n+++ b/src/libcamera/pipeline_handler.cpp\n@@ -5,7 +5,7 @@\n  * pipeline_handler.cpp - Pipeline handler infrastructure\n  */\n \n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n \n #include <sys/sysmacros.h>\n \n@@ -13,10 +13,10 @@\n #include <libcamera/camera.h>\n #include <libcamera/camera_manager.h>\n \n-#include \"device_enumerator.h\"\n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file pipeline_handler.h\ndiff --git a/src/libcamera/process.cpp b/src/libcamera/process.cpp\nindex 3b4d0f10da67..e816ee8670df 100644\n--- a/src/libcamera/process.cpp\n+++ b/src/libcamera/process.cpp\n@@ -5,7 +5,7 @@\n  * process.cpp - Process object\n  */\n \n-#include \"process.h\"\n+#include \"libcamera/internal/process.h\"\n \n #include <algorithm>\n #include <dirent.h>\n@@ -22,8 +22,8 @@\n \n #include <libcamera/event_notifier.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file process.h\ndiff --git a/src/libcamera/proxy/ipa_proxy_linux.cpp b/src/libcamera/proxy/ipa_proxy_linux.cpp\nindex 9e0f44cf314f..7d6f8799f8ff 100644\n--- a/src/libcamera/proxy/ipa_proxy_linux.cpp\n+++ b/src/libcamera/proxy/ipa_proxy_linux.cpp\n@@ -10,11 +10,11 @@\n #include <ipa/ipa_interface.h>\n #include <ipa/ipa_module_info.h>\n \n-#include \"ipa_module.h\"\n-#include \"ipa_proxy.h\"\n-#include \"ipc_unixsocket.h\"\n-#include \"log.h\"\n-#include \"process.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/ipa_proxy.h\"\n+#include \"libcamera/internal/ipc_unixsocket.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/process.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/proxy/ipa_proxy_thread.cpp b/src/libcamera/proxy/ipa_proxy_thread.cpp\nindex 81d2d68ee715..03d4c0d927b9 100644\n--- a/src/libcamera/proxy/ipa_proxy_thread.cpp\n+++ b/src/libcamera/proxy/ipa_proxy_thread.cpp\n@@ -10,11 +10,11 @@\n #include <ipa/ipa_interface.h>\n #include <ipa/ipa_module_info.h>\n \n-#include \"ipa_context_wrapper.h\"\n-#include \"ipa_module.h\"\n-#include \"ipa_proxy.h\"\n-#include \"log.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/ipa_context_wrapper.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/ipa_proxy.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/thread.h\"\n \n namespace libcamera {\n \ndiff --git a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\nindex 9cefa2405e19..9ba94d01d0ca 100644\n--- a/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n+++ b/src/libcamera/proxy/worker/ipa_proxy_linux_worker.cpp\n@@ -13,10 +13,10 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/logging.h>\n \n-#include \"ipa_module.h\"\n-#include \"ipc_unixsocket.h\"\n-#include \"log.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/ipc_unixsocket.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/thread.h\"\n \n using namespace libcamera;\n \ndiff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build\nindex 1b1bee5e0170..ac0310a74871 100644\n--- a/src/libcamera/proxy/worker/meson.build\n+++ b/src/libcamera/proxy/worker/meson.build\n@@ -8,7 +8,6 @@ proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera')\n \n foreach t : ipa_proxy_sources\n     proxy = executable(t[0], t[1],\n-                       include_directories : libcamera_internal_includes,\n                        install : true,\n                        install_dir : proxy_install_dir,\n                        dependencies : libcamera_dep)\ndiff --git a/src/libcamera/pub_key.cpp b/src/libcamera/pub_key.cpp\nindex 064d2dd200e1..2f60adbb7e62 100644\n--- a/src/libcamera/pub_key.cpp\n+++ b/src/libcamera/pub_key.cpp\n@@ -5,7 +5,7 @@\n  * pub_key.cpp - Public key signature verification\n  */\n \n-#include \"pub_key.h\"\n+#include \"libcamera/internal/pub_key.h\"\n \n #if HAVE_GNUTLS\n #include <gnutls/abstract.h>\ndiff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\nindex ea33736fbeb5..6b9e0b4a538a 100644\n--- a/src/libcamera/request.cpp\n+++ b/src/libcamera/request.cpp\n@@ -14,8 +14,8 @@\n #include <libcamera/control_ids.h>\n #include <libcamera/stream.h>\n \n-#include \"camera_controls.h\"\n-#include \"log.h\"\n+#include \"libcamera/internal/camera_controls.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file request.h\ndiff --git a/src/libcamera/semaphore.cpp b/src/libcamera/semaphore.cpp\nindex ce1eae4914ed..d8988a9189e8 100644\n--- a/src/libcamera/semaphore.cpp\n+++ b/src/libcamera/semaphore.cpp\n@@ -5,8 +5,8 @@\n  * semaphore.cpp - General-purpose counting semaphore\n  */\n \n-#include \"semaphore.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/semaphore.h\"\n+#include \"libcamera/internal/thread.h\"\n \n /**\n  * \\file semaphore.h\ndiff --git a/src/libcamera/signal.cpp b/src/libcamera/signal.cpp\nindex 6eab1fa74d42..2532df3c3073 100644\n--- a/src/libcamera/signal.cpp\n+++ b/src/libcamera/signal.cpp\n@@ -7,7 +7,7 @@\n \n #include <libcamera/signal.h>\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n \n /**\n  * \\file signal.h\ndiff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp\nindex 86c0b17db313..f34348f2aea0 100644\n--- a/src/libcamera/stream.cpp\n+++ b/src/libcamera/stream.cpp\n@@ -15,8 +15,8 @@\n \n #include <libcamera/request.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file stream.h\ndiff --git a/src/libcamera/thread.cpp b/src/libcamera/thread.cpp\nindex 85293c188c2a..d1750d72ec8a 100644\n--- a/src/libcamera/thread.cpp\n+++ b/src/libcamera/thread.cpp\n@@ -5,7 +5,7 @@\n  * thread.cpp - Thread support\n  */\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n \n #include <atomic>\n #include <condition_variable>\n@@ -16,9 +16,9 @@\n \n #include <libcamera/event_dispatcher.h>\n \n-#include \"event_dispatcher_poll.h\"\n-#include \"log.h\"\n-#include \"message.h\"\n+#include \"libcamera/internal/event_dispatcher_poll.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/message.h\"\n \n /**\n  * \\page thread Thread Support\ndiff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp\nindex 24da51524efb..24e452eda49e 100644\n--- a/src/libcamera/timer.cpp\n+++ b/src/libcamera/timer.cpp\n@@ -12,10 +12,10 @@\n #include <libcamera/camera_manager.h>\n #include <libcamera/event_dispatcher.h>\n \n-#include \"log.h\"\n-#include \"message.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file timer.h\ndiff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\nindex fbadf350908a..d55338fe681a 100644\n--- a/src/libcamera/utils.cpp\n+++ b/src/libcamera/utils.cpp\n@@ -5,7 +5,7 @@\n  * utils.cpp - Miscellaneous utility functions\n  */\n \n-#include \"utils.h\"\n+#include \"libcamera/internal/utils.h\"\n \n #include <dlfcn.h>\n #include <elf.h>\ndiff --git a/src/libcamera/v4l2_controls.cpp b/src/libcamera/v4l2_controls.cpp\nindex 8e2415f2a6df..3f8ec6ca00da 100644\n--- a/src/libcamera/v4l2_controls.cpp\n+++ b/src/libcamera/v4l2_controls.cpp\n@@ -5,7 +5,7 @@\n  * v4l2_controls.cpp - V4L2 Controls Support\n  */\n \n-#include \"v4l2_controls.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n \n #include <string.h>\n \ndiff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp\nindex d08ab531f034..56ea1ddda2c1 100644\n--- a/src/libcamera/v4l2_device.cpp\n+++ b/src/libcamera/v4l2_device.cpp\n@@ -5,7 +5,7 @@\n  * v4l2_device.cpp - Common base for V4L2 video devices and subdevices\n  */\n \n-#include \"v4l2_device.h\"\n+#include \"libcamera/internal/v4l2_device.h\"\n \n #include <fcntl.h>\n #include <iomanip>\n@@ -14,9 +14,9 @@\n #include <sys/syscall.h>\n #include <unistd.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n-#include \"v4l2_controls.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_controls.h\"\n \n /**\n  * \\file v4l2_device.h\ndiff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\nindex 561f9327780a..36776be99e59 100644\n--- a/src/libcamera/v4l2_pixelformat.cpp\n+++ b/src/libcamera/v4l2_pixelformat.cpp\n@@ -6,7 +6,7 @@\n  * v4l2_pixelformat.cpp - V4L2 Pixel Format\n  */\n \n-#include \"v4l2_pixelformat.h\"\n+#include \"libcamera/internal/v4l2_pixelformat.h\"\n \n #include <ctype.h>\n #include <map>\n@@ -16,8 +16,8 @@\n \n #include <libcamera/pixelformats.h>\n \n-#include \"formats.h\"\n-#include \"log.h\"\n+#include \"libcamera/internal/formats.h\"\n+#include \"libcamera/internal/log.h\"\n \n /**\n  * \\file v4l2_pixelformat.h\ndiff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\nindex 2b756178fc0a..7aefc1be032d 100644\n--- a/src/libcamera/v4l2_subdevice.cpp\n+++ b/src/libcamera/v4l2_subdevice.cpp\n@@ -5,7 +5,7 @@\n  * v4l2_subdevice.cpp - V4L2 Subdevice\n  */\n \n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n \n #include <fcntl.h>\n #include <iomanip>\n@@ -19,10 +19,10 @@\n \n #include <libcamera/geometry.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"media_object.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/media_object.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file v4l2_subdevice.h\ndiff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\nindex 4b9f8b5c0413..d35596bd43e4 100644\n--- a/src/libcamera/v4l2_videodevice.cpp\n+++ b/src/libcamera/v4l2_videodevice.cpp\n@@ -5,7 +5,7 @@\n  * v4l2_videodevice.cpp - V4L2 Video Device\n  */\n \n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include <fcntl.h>\n #include <iomanip>\n@@ -23,10 +23,10 @@\n #include <libcamera/event_notifier.h>\n #include <libcamera/file_descriptor.h>\n \n-#include \"log.h\"\n-#include \"media_device.h\"\n-#include \"media_object.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/media_object.h\"\n+#include \"libcamera/internal/utils.h\"\n \n /**\n  * \\file v4l2_videodevice.h\ndiff --git a/src/v4l2/meson.build b/src/v4l2/meson.build\nindex fc1be82d1b02..0fb941ea9b9d 100644\n--- a/src/v4l2/meson.build\n+++ b/src/v4l2/meson.build\n@@ -22,6 +22,5 @@ v4l2_compat = shared_library('v4l2-compat',\n                              v4l2_compat_sources,\n                              name_prefix : '',\n                              install : true,\n-                             include_directories : libcamera_internal_includes,\n                              dependencies : [ libcamera_dep, libdl ],\n                              cpp_args : v4l2_compat_cpp_args)\ndiff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp\nindex ecbb70acfb8e..50a4121cc93f 100644\n--- a/src/v4l2/v4l2_camera.cpp\n+++ b/src/v4l2/v4l2_camera.cpp\n@@ -9,7 +9,7 @@\n \n #include <errno.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n using namespace libcamera;\n \ndiff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h\nindex 130995d95eb4..c969130fb37d 100644\n--- a/src/v4l2/v4l2_camera.h\n+++ b/src/v4l2/v4l2_camera.h\n@@ -17,7 +17,7 @@\n #include <libcamera/file_descriptor.h>\n #include <libcamera/framebuffer_allocator.h>\n \n-#include \"semaphore.h\"\n+#include \"libcamera/internal/semaphore.h\"\n \n using namespace libcamera;\n \ndiff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp\nindex 47d0528b324f..19e8f6d3b98d 100644\n--- a/src/v4l2/v4l2_camera_proxy.cpp\n+++ b/src/v4l2/v4l2_camera_proxy.cpp\n@@ -17,8 +17,9 @@\n #include <libcamera/camera.h>\n #include <libcamera/object.h>\n \n-#include \"log.h\"\n-#include \"utils.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include \"v4l2_camera.h\"\n #include \"v4l2_compat_manager.h\"\n \ndiff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp\nindex 961d06b3e39a..cd8ac0b8e819 100644\n--- a/src/v4l2/v4l2_compat_manager.cpp\n+++ b/src/v4l2/v4l2_compat_manager.cpp\n@@ -22,7 +22,7 @@\n #include <libcamera/camera.h>\n #include <libcamera/camera_manager.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n \n using namespace libcamera;\n \ndiff --git a/test/byte-stream-buffer.cpp b/test/byte-stream-buffer.cpp\nindex bc1d462ebf6f..d606f146f6ef 100644\n--- a/test/byte-stream-buffer.cpp\n+++ b/test/byte-stream-buffer.cpp\n@@ -8,7 +8,8 @@\n #include <array>\n #include <iostream>\n \n-#include \"byte_stream_buffer.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/camera-sensor.cpp b/test/camera-sensor.cpp\nindex 6069d668e495..8c7fd1d2d444 100644\n--- a/test/camera-sensor.cpp\n+++ b/test/camera-sensor.cpp\n@@ -10,11 +10,11 @@\n \n #include <linux/media-bus-format.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"utils.h\"\n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/camera/buffer_import.cpp b/test/camera/buffer_import.cpp\nindex 3f392cdc0732..ad680a83f918 100644\n--- a/test/camera/buffer_import.cpp\n+++ b/test/camera/buffer_import.cpp\n@@ -12,9 +12,9 @@\n #include <numeric>\n #include <vector>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include \"buffer_source.h\"\n #include \"camera_test.h\"\ndiff --git a/test/controls/control_info_map.cpp b/test/controls/control_info_map.cpp\nindex eeb702db095b..e4305f132db7 100644\n--- a/test/controls/control_info_map.cpp\n+++ b/test/controls/control_info_map.cpp\n@@ -12,7 +12,7 @@\n #include <libcamera/control_ids.h>\n #include <libcamera/controls.h>\n \n-#include \"camera_controls.h\"\n+#include \"libcamera/internal/camera_controls.h\"\n \n #include \"camera_test.h\"\n #include \"test.h\"\ndiff --git a/test/controls/control_list.cpp b/test/controls/control_list.cpp\nindex d51ec47d61d3..5c8485b5dcc3 100644\n--- a/test/controls/control_list.cpp\n+++ b/test/controls/control_list.cpp\n@@ -12,7 +12,7 @@\n #include <libcamera/control_ids.h>\n #include <libcamera/controls.h>\n \n-#include \"camera_controls.h\"\n+#include \"libcamera/internal/camera_controls.h\"\n \n #include \"camera_test.h\"\n #include \"test.h\"\ndiff --git a/test/event-dispatcher.cpp b/test/event-dispatcher.cpp\nindex 9f9cf17818f2..1b61778699ed 100644\n--- a/test/event-dispatcher.cpp\n+++ b/test/event-dispatcher.cpp\n@@ -13,8 +13,9 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/event-thread.cpp b/test/event-thread.cpp\nindex 01120733eca4..c90e6ac04dd3 100644\n--- a/test/event-thread.cpp\n+++ b/test/event-thread.cpp\n@@ -13,8 +13,9 @@\n #include <libcamera/event_notifier.h>\n #include <libcamera/timer.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/event.cpp b/test/event.cpp\nindex 816060cc44a2..c865092c7a8a 100644\n--- a/test/event.cpp\n+++ b/test/event.cpp\n@@ -13,8 +13,9 @@\n #include <libcamera/event_notifier.h>\n #include <libcamera/timer.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/file-descriptor.cpp b/test/file-descriptor.cpp\nindex e467f3a7145e..7477a843531c 100644\n--- a/test/file-descriptor.cpp\n+++ b/test/file-descriptor.cpp\n@@ -13,8 +13,9 @@\n \n #include <libcamera/file_descriptor.h>\n \n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"utils.h\"\n \n using namespace libcamera;\n using namespace std;\ndiff --git a/test/file.cpp b/test/file.cpp\nindex 6558399808f8..6262a6f04c0b 100644\n--- a/test/file.cpp\n+++ b/test/file.cpp\n@@ -13,7 +13,8 @@\n #include <sys/types.h>\n #include <unistd.h>\n \n-#include \"file.h\"\n+#include \"libcamera/internal/file.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/ipa/ipa_interface_test.cpp b/test/ipa/ipa_interface_test.cpp\nindex 7fa88efee089..c394377dacd0 100644\n--- a/test/ipa/ipa_interface_test.cpp\n+++ b/test/ipa/ipa_interface_test.cpp\n@@ -18,12 +18,13 @@\n \n #include <ipa/ipa_vimc.h>\n \n-#include \"device_enumerator.h\"\n-#include \"ipa_manager.h\"\n-#include \"ipa_module.h\"\n-#include \"pipeline_handler.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/ipa_manager.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n+#include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/ipa/ipa_module_test.cpp b/test/ipa/ipa_module_test.cpp\nindex e3aee190b410..bd5e0e4c738e 100644\n--- a/test/ipa/ipa_module_test.cpp\n+++ b/test/ipa/ipa_module_test.cpp\n@@ -8,7 +8,7 @@\n #include <iostream>\n #include <string.h>\n \n-#include \"ipa_module.h\"\n+#include \"libcamera/internal/ipa_module.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/ipa/ipa_wrappers_test.cpp b/test/ipa/ipa_wrappers_test.cpp\nindex 4de132123525..aa7a9dcc6050 100644\n--- a/test/ipa/ipa_wrappers_test.cpp\n+++ b/test/ipa/ipa_wrappers_test.cpp\n@@ -15,11 +15,11 @@\n #include <libcamera/controls.h>\n #include <libipa/ipa_interface_wrapper.h>\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"ipa_context_wrapper.h\"\n-#include \"media_device.h\"\n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/ipa_context_wrapper.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp\nindex f53042b88720..4487d27b441d 100644\n--- a/test/ipc/unixsocket.cpp\n+++ b/test/ipc/unixsocket.cpp\n@@ -18,10 +18,11 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n-#include \"ipc_unixsocket.h\"\n+#include \"libcamera/internal/ipc_unixsocket.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n \n #define CMD_CLOSE\t0\n #define CMD_REVERSE\t1\ndiff --git a/test/libtest/buffer_source.cpp b/test/libtest/buffer_source.cpp\nindex d1dad2a0f8cf..ee87c8cd821c 100644\n--- a/test/libtest/buffer_source.cpp\n+++ b/test/libtest/buffer_source.cpp\n@@ -10,7 +10,7 @@\n #include <iostream>\n #include <memory>\n \n-#include \"device_enumerator.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/libtest/buffer_source.h b/test/libtest/buffer_source.h\nindex ae0879c99480..95a82a8229fa 100644\n--- a/test/libtest/buffer_source.h\n+++ b/test/libtest/buffer_source.h\n@@ -9,8 +9,8 @@\n \n #include <libcamera/libcamera.h>\n \n-#include \"media_device.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n using namespace libcamera;\n \ndiff --git a/test/libtest/meson.build b/test/libtest/meson.build\nindex 481f6d6baa61..542335ea5e7c 100644\n--- a/test/libtest/meson.build\n+++ b/test/libtest/meson.build\n@@ -15,7 +15,6 @@ test_includes_public = [\n \n test_includes_internal = [\n     test_includes_public,\n-    libcamera_internal_includes,\n ]\n \n libtest = static_library('libtest', libtest_sources,\ndiff --git a/test/log/log_api.cpp b/test/log/log_api.cpp\nindex 33622f841253..6f3248a79d0a 100644\n--- a/test/log/log_api.cpp\n+++ b/test/log/log_api.cpp\n@@ -18,7 +18,8 @@\n \n #include <libcamera/logging.h>\n \n-#include \"log.h\"\n+#include \"libcamera/internal/log.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/log/log_process.cpp b/test/log/log_process.cpp\nindex 2df4aa43713c..8463d0ede967 100644\n--- a/test/log/log_process.cpp\n+++ b/test/log/log_process.cpp\n@@ -18,11 +18,12 @@\n #include <libcamera/logging.h>\n #include <libcamera/timer.h>\n \n-#include \"log.h\"\n-#include \"process.h\"\n+#include \"libcamera/internal/log.h\"\n+#include \"libcamera/internal/process.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp\nindex 5018906c75e7..1f5e3f3e84c0 100644\n--- a/test/media_device/media_device_print_test.cpp\n+++ b/test/media_device/media_device_print_test.cpp\n@@ -10,7 +10,7 @@\n #include <sys/stat.h>\n #include <unistd.h>\n \n-#include \"media_device.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/media_device/media_device_test.h b/test/media_device/media_device_test.h\nindex cdbd14841d5c..0c8bf9f25563 100644\n--- a/test/media_device/media_device_test.h\n+++ b/test/media_device/media_device_test.h\n@@ -9,8 +9,8 @@\n \n #include <memory>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/message.cpp b/test/message.cpp\nindex 478bc79dffa6..9553ba8cbaed 100644\n--- a/test/message.cpp\n+++ b/test/message.cpp\n@@ -9,8 +9,9 @@\n #include <iostream>\n #include <thread>\n \n-#include \"message.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/object-invoke.cpp b/test/object-invoke.cpp\nindex fa162c838c78..1ae11bb11e16 100644\n--- a/test/object-invoke.cpp\n+++ b/test/object-invoke.cpp\n@@ -11,8 +11,9 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/object.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/object.cpp b/test/object.cpp\nindex 16118971c755..264659b405d9 100644\n--- a/test/object.cpp\n+++ b/test/object.cpp\n@@ -9,8 +9,8 @@\n \n #include <libcamera/object.h>\n \n-#include \"message.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/thread.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/pipeline/ipu3/ipu3_pipeline_test.cpp b/test/pipeline/ipu3/ipu3_pipeline_test.cpp\nindex a5c6be0955df..34998f8f6d04 100644\n--- a/test/pipeline/ipu3/ipu3_pipeline_test.cpp\n+++ b/test/pipeline/ipu3/ipu3_pipeline_test.cpp\n@@ -13,9 +13,10 @@\n #include <libcamera/camera.h>\n #include <libcamera/camera_manager.h>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"media_object.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/media_object.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\nindex d46c928fbaf7..b6678ce76e9a 100644\n--- a/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\n+++ b/test/pipeline/rkisp1/rkisp1_pipeline_test.cpp\n@@ -16,9 +16,10 @@\n #include <libcamera/camera.h>\n #include <libcamera/camera_manager.h>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"media_object.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/media_object.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/process/process_test.cpp b/test/process/process_test.cpp\nindex 7e7b3c2c8bf3..ce0cc7c972cd 100644\n--- a/test/process/process_test.cpp\n+++ b/test/process/process_test.cpp\n@@ -12,10 +12,11 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n-#include \"process.h\"\n+#include \"libcamera/internal/process.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n-#include \"utils.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp\nindex 111365241eb8..e23383d13bd6 100644\n--- a/test/serialization/control_serialization.cpp\n+++ b/test/serialization/control_serialization.cpp\n@@ -11,8 +11,9 @@\n #include <libcamera/control_ids.h>\n #include <libcamera/controls.h>\n \n-#include \"byte_stream_buffer.h\"\n-#include \"control_serializer.h\"\n+#include \"libcamera/internal/byte_stream_buffer.h\"\n+#include \"libcamera/internal/control_serializer.h\"\n+\n #include \"serialization_test.h\"\n #include \"test.h\"\n \ndiff --git a/test/signal-threads.cpp b/test/signal-threads.cpp\nindex f77733ebc030..3c5f3792e385 100644\n--- a/test/signal-threads.cpp\n+++ b/test/signal-threads.cpp\n@@ -9,10 +9,11 @@\n #include <iostream>\n #include <thread>\n \n-#include \"message.h\"\n-#include \"thread.h\"\n+#include \"libcamera/internal/message.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"utils.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/threads.cpp b/test/threads.cpp\nindex 0454761de12c..b4b8d913cd2b 100644\n--- a/test/threads.cpp\n+++ b/test/threads.cpp\n@@ -9,7 +9,8 @@\n #include <iostream>\n #include <thread>\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n \n using namespace std;\ndiff --git a/test/timer-thread.cpp b/test/timer-thread.cpp\nindex 32853b4e80ef..2f901787f5fb 100644\n--- a/test/timer-thread.cpp\n+++ b/test/timer-thread.cpp\n@@ -11,8 +11,9 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/timer.cpp b/test/timer.cpp\nindex 2bdb006edccb..7d5b93c37799 100644\n--- a/test/timer.cpp\n+++ b/test/timer.cpp\n@@ -11,8 +11,9 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n+#include \"libcamera/internal/thread.h\"\n+\n #include \"test.h\"\n-#include \"thread.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/utils.cpp b/test/utils.cpp\nindex 55ce9365a53e..66b91f1203e1 100644\n--- a/test/utils.cpp\n+++ b/test/utils.cpp\n@@ -12,8 +12,9 @@\n \n #include <libcamera/geometry.h>\n \n+#include \"libcamera/internal/utils.h\"\n+\n #include \"test.h\"\n-#include \"utils.h\"\n \n using namespace std;\n using namespace libcamera;\ndiff --git a/test/v4l2_subdevice/list_formats.cpp b/test/v4l2_subdevice/list_formats.cpp\nindex 067dc5ed30f4..25503c3334e5 100644\n--- a/test/v4l2_subdevice/list_formats.cpp\n+++ b/test/v4l2_subdevice/list_formats.cpp\n@@ -11,7 +11,8 @@\n \n #include <libcamera/geometry.h>\n \n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+\n #include \"v4l2_subdevice_test.h\"\n \n using namespace std;\ndiff --git a/test/v4l2_subdevice/test_formats.cpp b/test/v4l2_subdevice/test_formats.cpp\nindex 5cf5d5664b04..9635c9948946 100644\n--- a/test/v4l2_subdevice/test_formats.cpp\n+++ b/test/v4l2_subdevice/test_formats.cpp\n@@ -8,7 +8,8 @@\n #include <iostream>\n #include <limits.h>\n \n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+\n #include \"v4l2_subdevice_test.h\"\n \n using namespace std;\ndiff --git a/test/v4l2_subdevice/v4l2_subdevice_test.cpp b/test/v4l2_subdevice/v4l2_subdevice_test.cpp\nindex 562a638cb28e..d8fbfd9f6b0f 100644\n--- a/test/v4l2_subdevice/v4l2_subdevice_test.cpp\n+++ b/test/v4l2_subdevice/v4l2_subdevice_test.cpp\n@@ -9,9 +9,10 @@\n #include <string.h>\n #include <sys/stat.h>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"v4l2_subdevice.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+\n #include \"v4l2_subdevice_test.h\"\n \n using namespace std;\ndiff --git a/test/v4l2_subdevice/v4l2_subdevice_test.h b/test/v4l2_subdevice/v4l2_subdevice_test.h\nindex 3bce6691f8ef..00c6399d3b8a 100644\n--- a/test/v4l2_subdevice/v4l2_subdevice_test.h\n+++ b/test/v4l2_subdevice/v4l2_subdevice_test.h\n@@ -10,10 +10,11 @@\n \n #include <libcamera/buffer.h>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+\n #include \"test.h\"\n-#include \"v4l2_subdevice.h\"\n \n using namespace libcamera;\n \ndiff --git a/test/v4l2_videodevice/buffer_sharing.cpp b/test/v4l2_videodevice/buffer_sharing.cpp\nindex 14d3055ad7d1..ba2cc40d7294 100644\n--- a/test/v4l2_videodevice/buffer_sharing.cpp\n+++ b/test/v4l2_videodevice/buffer_sharing.cpp\n@@ -16,7 +16,8 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n+\n #include \"v4l2_videodevice_test.h\"\n \n class BufferSharingTest : public V4L2VideoDeviceTest\ndiff --git a/test/v4l2_videodevice/capture_async.cpp b/test/v4l2_videodevice/capture_async.cpp\nindex b38aabc6263d..13cbcc80b52b 100644\n--- a/test/v4l2_videodevice/capture_async.cpp\n+++ b/test/v4l2_videodevice/capture_async.cpp\n@@ -11,7 +11,8 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n-#include \"thread.h\"\n+#include \"libcamera/internal/thread.h\"\n+\n #include \"v4l2_videodevice_test.h\"\n \n class CaptureAsyncTest : public V4L2VideoDeviceTest\ndiff --git a/test/v4l2_videodevice/controls.cpp b/test/v4l2_videodevice/controls.cpp\nindex 347af2112f1a..9f09d036e83a 100644\n--- a/test/v4l2_videodevice/controls.cpp\n+++ b/test/v4l2_videodevice/controls.cpp\n@@ -10,7 +10,7 @@\n #include <iostream>\n #include <limits.h>\n \n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include \"v4l2_videodevice_test.h\"\n \ndiff --git a/test/v4l2_videodevice/formats.cpp b/test/v4l2_videodevice/formats.cpp\nindex a74214215faf..043732dcaba1 100644\n--- a/test/v4l2_videodevice/formats.cpp\n+++ b/test/v4l2_videodevice/formats.cpp\n@@ -8,8 +8,8 @@\n #include <iostream>\n #include <limits.h>\n \n-#include \"utils.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/utils.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include \"v4l2_videodevice_test.h\"\n \ndiff --git a/test/v4l2_videodevice/v4l2_m2mdevice.cpp b/test/v4l2_videodevice/v4l2_m2mdevice.cpp\nindex d20e5dfc3077..44a39d4d8ab7 100644\n--- a/test/v4l2_videodevice/v4l2_m2mdevice.cpp\n+++ b/test/v4l2_videodevice/v4l2_m2mdevice.cpp\n@@ -11,10 +11,10 @@\n #include <libcamera/event_dispatcher.h>\n #include <libcamera/timer.h>\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"thread.h\"\n-#include \"v4l2_videodevice.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/thread.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n \n #include \"test.h\"\n \ndiff --git a/test/v4l2_videodevice/v4l2_videodevice_test.cpp b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\nindex 93b9e72da5b4..f23aaf8f514b 100644\n--- a/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n+++ b/test/v4l2_videodevice/v4l2_videodevice_test.cpp\n@@ -9,11 +9,11 @@\n \n #include <linux/media-bus-format.h>\n \n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+\n #include \"v4l2_videodevice_test.h\"\n \n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-\n using namespace std;\n using namespace libcamera;\n \ndiff --git a/test/v4l2_videodevice/v4l2_videodevice_test.h b/test/v4l2_videodevice/v4l2_videodevice_test.h\nindex 9acaceb84fe0..21054561e068 100644\n--- a/test/v4l2_videodevice/v4l2_videodevice_test.h\n+++ b/test/v4l2_videodevice/v4l2_videodevice_test.h\n@@ -11,14 +11,14 @@\n \n #include <libcamera/buffer.h>\n \n+#include \"libcamera/internal/camera_sensor.h\"\n+#include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/media_device.h\"\n+#include \"libcamera/internal/v4l2_subdevice.h\"\n+#include \"libcamera/internal/v4l2_videodevice.h\"\n+\n #include \"test.h\"\n \n-#include \"camera_sensor.h\"\n-#include \"device_enumerator.h\"\n-#include \"media_device.h\"\n-#include \"v4l2_subdevice.h\"\n-#include \"v4l2_videodevice.h\"\n-\n using namespace libcamera;\n \n class V4L2VideoDeviceTest : public Test\n","prefixes":["libcamera-devel","v2","1/3"]}