Message ID | 20210126082628.1902267-1-hiroh@chromium.org |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
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@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@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
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 + + 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
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 locally and can be used with Android HAL implementation code. Signed-off-by: Hirokazu Honda <hiroh@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 -- 2.30.0.280.ga3ce27912f-goog