[libcamera-devel] [PATCH 0/5] android: Add initial Camera HAL implementation
Jacopo Mondi
jacopo at jmondi.org
Thu Aug 1 17:54:15 CEST 2019
Hello,
this series adds an initial implementation of an Android compatbile HAL
module that wraps libcamera.
The series adds by exposing the Camera state to have it accessible to the HAL
and continues tweaking the build system to add a condtional 'android' option.
Patches 3 and 4 import from Chrome OS the Android camera HALv3 headers and the
Android metadata library, which is linked against then newly created HAL.
The last patch finally implements the HAL module itself, split between an HAL
module that is used by the Android/Cros camera stack to load the .so file and
setup callbacks and a CameraModule and CameraProxy modules, that realize the
Android camera HALv3 APIs.
The HAL implementation is still immature and incomplete, as it provides only
basic functionalities, but it is enough to test capture of a single video stream
using Chromium OS camera applications.
Thanks
j
Jacopo Mondi (5):
libcamera: camera: Make camera state accessible
meson: options: Add 'android' configuration option
include: android: Add Android headers from Cros
android: Add camera metadata library
android: hal: Add Camera3 HAL
.../libhardware/include/hardware/camera3.h | 3093 +++++++++++++++++
.../include/hardware/camera_common.h | 916 +++++
.../libhardware/include/hardware/fb.h | 173 +
.../libhardware/include/hardware/gralloc.h | 384 ++
.../libhardware/include/hardware/hardware.h | 238 ++
.../android/metadata/camera_metadata_hidden.h | 100 +
.../android/metadata/system/camera_metadata.h | 580 ++++
.../metadata/system/camera_metadata_tags.h | 1005 ++++++
.../metadata/system/camera_vendor_tags.h | 158 +
.../android/system/core/include/android/log.h | 144 +
.../system/core/include/cutils/compiler.h | 44 +
.../core/include/cutils/native_handle.h | 69 +
.../system/core/include/system/camera.h | 298 ++
.../system/core/include/system/graphics.h | 763 ++++
.../system/core/include/system/window.h | 954 +++++
include/libcamera/camera.h | 16 +-
meson.build | 5 +
meson_options.txt | 5 +
src/android/camera3_hal.cpp | 130 +
src/android/camera_hal_manager.cpp | 173 +
src/android/camera_hal_manager.h | 56 +
src/android/camera_module.cpp | 795 +++++
src/android/camera_module.h | 69 +
src/android/camera_proxy.cpp | 181 +
src/android/camera_proxy.h | 41 +
src/android/meson.build | 18 +
src/android/metadata/camera_metadata.c | 1204 +++++++
.../metadata/camera_metadata_tag_info.c | 2811 +++++++++++++++
src/android/tags | 424 +++
src/android/thread_rpc.cpp | 41 +
src/android/thread_rpc.h | 56 +
src/libcamera/camera.cpp | 33 +-
src/libcamera/meson.build | 22 +-
src/meson.build | 4 +
34 files changed, 14985 insertions(+), 18 deletions(-)
create mode 100644 include/android/hardware/libhardware/include/hardware/camera3.h
create mode 100644 include/android/hardware/libhardware/include/hardware/camera_common.h
create mode 100644 include/android/hardware/libhardware/include/hardware/fb.h
create mode 100644 include/android/hardware/libhardware/include/hardware/gralloc.h
create mode 100644 include/android/hardware/libhardware/include/hardware/hardware.h
create mode 100644 include/android/metadata/camera_metadata_hidden.h
create mode 100644 include/android/metadata/system/camera_metadata.h
create mode 100644 include/android/metadata/system/camera_metadata_tags.h
create mode 100644 include/android/metadata/system/camera_vendor_tags.h
create mode 100644 include/android/system/core/include/android/log.h
create mode 100644 include/android/system/core/include/cutils/compiler.h
create mode 100644 include/android/system/core/include/cutils/native_handle.h
create mode 100644 include/android/system/core/include/system/camera.h
create mode 100644 include/android/system/core/include/system/graphics.h
create mode 100644 include/android/system/core/include/system/window.h
create mode 100644 src/android/camera3_hal.cpp
create mode 100644 src/android/camera_hal_manager.cpp
create mode 100644 src/android/camera_hal_manager.h
create mode 100644 src/android/camera_module.cpp
create mode 100644 src/android/camera_module.h
create mode 100644 src/android/camera_proxy.cpp
create mode 100644 src/android/camera_proxy.h
create mode 100644 src/android/meson.build
create mode 100644 src/android/metadata/camera_metadata.c
create mode 100644 src/android/metadata/camera_metadata_tag_info.c
create mode 100644 src/android/tags
create mode 100644 src/android/thread_rpc.cpp
create mode 100644 src/android/thread_rpc.h
--
2.22.0
More information about the libcamera-devel
mailing list