[libcamera-devel] [PATCH v2] subprojects: Add libyuv and built if -Dandroid=enabled
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Jan 26 09:31:44 CET 2021
Hi Hiro,
Thank you for the patch.
On Tue, Jan 26, 2021 at 08:26:28AM +0000, Hirokazu Honda wrote:
> Android HAL adaptation layer may need image processing, for
> example, scaling and format conversion. Libyuv is a general image
> processing. This adds libyuv to subprojects, so that it is folked
s/folked/forked/ ?
> locally and can be used with Android HAL implementation code.
>
> Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> ---
> README.rst | 2 +-
> meson.build | 2 +-
> src/android/meson.build | 18 ++++++++++++++++++
> subprojects/.gitignore | 1 +
> subprojects/libyuv.wrap | 4 ++++
> 5 files changed, 25 insertions(+), 2 deletions(-)
> create mode 100644 subprojects/.gitignore
> create mode 100644 subprojects/libyuv.wrap
>
> diff --git a/README.rst b/README.rst
> index 251291b7..08bfd5ad 100644
> --- a/README.rst
> +++ b/README.rst
> @@ -47,7 +47,7 @@ A C++ toolchain: [required]
> Either {g++, clang}
>
> Meson Build system: [required]
> - meson (>= 0.51) ninja-build pkg-config
> + meson (>= 0.55) ninja-build pkg-config
>
> If your distribution doesn't provide a recent enough version of meson,
> you can install or upgrade it using pip3.
> diff --git a/meson.build b/meson.build
> index c47eb420..d9b63278 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1,7 +1,7 @@
> # SPDX-License-Identifier: CC0-1.0
>
> project('libcamera', 'c', 'cpp',
> - meson_version : '>= 0.51',
> + meson_version : '>= 0.55',
> version : '0.0.0',
> default_options : [
> 'werror=true',
> diff --git a/src/android/meson.build b/src/android/meson.build
> index 3d4d3be4..e1533d7c 100644
> --- a/src/android/meson.build
> +++ b/src/android/meson.build
> @@ -14,6 +14,24 @@ foreach dep : android_deps
> endif
> endforeach
>
> +if android_enabled
> + cmake = import('cmake')
> +
> + libyuv_vars = cmake.subproject_options()
> + libyuv_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})
> + libyuv_vars.set_override_option('cpp_std', 'c++17')
> + libyuv_vars.append_compile_args('cpp',
> + '-Wno-sign-compare',
> + '-Wno-unused-variable',
> + '-Wno-unused-parameter')
> + libyuv_vars.append_link_args('-ljpeg')
> + libyuv = cmake.subproject('libyuv', options : libyuv_vars)
> + libyuv_dep = libyuv.dependency('yuv')
> +
> + android_deps += [ libyuv_dep, ]
> +endif
> +
> +
One blank line is enough.
I'll address these small issues when applying, there's no need to send a
new version.
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
I will apply the patch along with the series that uses libyuv in the
Android HAL (which I'm going to review now).
> android_hal_sources = files([
> 'camera3_hal.cpp',
> 'camera_hal_manager.cpp',
> diff --git a/subprojects/.gitignore b/subprojects/.gitignore
> new file mode 100644
> index 00000000..410b8bd6
> --- /dev/null
> +++ b/subprojects/.gitignore
> @@ -0,0 +1 @@
> +/libyuv
> \ No newline at end of file
> diff --git a/subprojects/libyuv.wrap b/subprojects/libyuv.wrap
> new file mode 100644
> index 00000000..8ba51fa0
> --- /dev/null
> +++ b/subprojects/libyuv.wrap
> @@ -0,0 +1,4 @@
> +[wrap-git]
> +directory = libyuv
> +url = https://chromium.googlesource.com/libyuv/libyuv.git
> +revision = 93b1b332cd60b56ab90aea14182755e379c28a80
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list