[libcamera-devel] [PATCH 5/5] android: hal: Add Camera3 HAL

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Aug 5 13:53:55 CEST 2019


Hi Jacopo,

Thank you for the patch.

On Thu, Aug 01, 2019 at 05:54:20PM +0200, Jacopo Mondi wrote:
> Add Libcamera Android Camerav3 HAL implementation.

s/Libcamera/libcamera/
s/Camerav3/Camera HAL v3/

> 
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  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            |   8 +
>  src/android/tags                   | 424 +++++++++++++++

Could you send a v2 without this file ? :-)

>  src/android/thread_rpc.cpp         |  41 ++
>  src/android/thread_rpc.h           |  56 ++
>  src/libcamera/meson.build          |  22 +-
>  src/meson.build                    |   4 +
>  13 files changed, 1995 insertions(+), 5 deletions(-)
>  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/tags
>  create mode 100644 src/android/thread_rpc.cpp
>  create mode 100644 src/android/thread_rpc.h

[snip]

> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
> index a09b23d60022..9b6e4b769760 100644
> --- a/src/libcamera/meson.build
> +++ b/src/libcamera/meson.build
> @@ -103,11 +103,23 @@ libcamera_deps = [
>      dependency('threads'),
>  ]
>  
> -libcamera = shared_library('camera',
> -                           libcamera_sources,
> -                           install : true,
> -                           include_directories : includes,
> -                           dependencies : libcamera_deps)
> +if get_option('android')
> +    libcamera_sources += android_hal_sources
> +    includes += android_includes
> +
> +    libcamera = shared_library('camera',
> +                               libcamera_sources,
> +                               install : true,
> +                               link_with : android_camera_metadata,
> +                               include_directories : includes,
> +                               dependencies : libcamera_deps)
> +else
> +    libcamera = shared_library('camera',
> +                               libcamera_sources,
> +                               install : true,
> +                               include_directories : includes,
> +                               dependencies : libcamera_deps)
> +endif

Would it be possible to keep a single shared_library statement, with a
variable for link_with that is declared initially empty, and is updated
when the android option is set ?

>  
>  libcamera_dep = declare_dependency(sources : [libcamera_api, libcamera_h],
>                                     include_directories : libcamera_includes,
> diff --git a/src/meson.build b/src/meson.build
> index 628e7a7f23f2..67ad20aab86b 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -1,3 +1,7 @@
> +if get_option('android')
> +    subdir('android')
> +endif
> +
>  subdir('libcamera')
>  subdir('ipa')
>  subdir('cam')

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list