{"id":11127,"url":"https://patchwork.libcamera.org/api/patches/11127/?format=json","web_url":"https://patchwork.libcamera.org/patch/11127/","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":"<20210204012731.1942112-2-hiroh@chromium.org>","date":"2021-02-04T01:27:30","name":"[libcamera-devel,v4,1/2] subprojects: Add libyuv and built if -Dandroid=enabled","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"2b31d901e8dc3e83d2b7559b4ca23429d3bb4960","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/?format=json","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/11127/mbox/","series":[{"id":1647,"url":"https://patchwork.libcamera.org/api/series/1647/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1647","date":"2021-02-04T01:27:29","name":"Introduce libyuv to subprojects","version":4,"mbox":"https://patchwork.libcamera.org/series/1647/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/11127/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/11127/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 142C1BD162\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  4 Feb 2021 01:27:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D6042613F4;\n\tThu,  4 Feb 2021 02:27:41 +0100 (CET)","from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com\n\t[IPv6:2607:f8b0:4864:20::102f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A41B060302\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  4 Feb 2021 02:27:39 +0100 (CET)","by mail-pj1-x102f.google.com with SMTP id s24so744988pjp.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 03 Feb 2021 17:27:39 -0800 (PST)","from hiroh.c.googlers.com.com\n\t(128.141.236.35.bc.googleusercontent.com. [35.236.141.128])\n\tby smtp.gmail.com with ESMTPSA id\n\tj26sm3300936pfa.35.2021.02.03.17.27.36\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 03 Feb 2021 17:27:37 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"at6/boQ6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=U0d0DtwGlOR352mRu+Zs7NWaRFQs4XMCsxNRlgUogmk=;\n\tb=at6/boQ6nVgvh0QXR2Jkv4O8jcmC+Sln81l1mgPTgY0NupZofMZYgc7XmwYpI/CkS0\n\t9ue1Yqp00KSdbrtcxNCnWLUJYM+Z1syfua3pqEdrwVQAHHXlHN/rczwU4W2kO/O2qJyb\n\tm67DAm937N0gL6PoX9mvQZx7SxatY8lZ2cHJ4=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=U0d0DtwGlOR352mRu+Zs7NWaRFQs4XMCsxNRlgUogmk=;\n\tb=GWSXk74zlqNxTeRZ9ST5DcylnXfJWjBTRA4wP05WbuyUCEzwExtApVII+LioXBTsDb\n\tyjpRYfyKxOfEzZoRy5YciDzTRdAJqTI1i3OVvkLjDQevGx2wKp4Wyvvy/xoToQNFyl4L\n\tp87M2kiSmJA9S3yalf1JacObsSMu9ehRkblROf6gzL2m66Tm5HwjB72a6gfHZXPhBlFB\n\tUI68f7pHmitlzBpS/6rG6q58KrQxq2cG7/EMgVJ49PyyxKHoWsyr5zzZ7w1bfwujR7G4\n\tE+ilNNgttWu3MOM+heOx5peRN4gNuRu3TwC0Mci1LC7U+p3gl67W5chZI330vnztTQ0Y\n\tqYhg==","X-Gm-Message-State":"AOAM532sAEmnobBrYwE7aSw8vgpAVlXzH5eJujcQ8WB1FCDmNrhm2Cbk\n\tPlUqLURldTCXoq9hGTZGOfgAUO+YIOyUG/4s","X-Google-Smtp-Source":"ABdhPJy3jFnmmvTAAk6yQJSmlsuhWbHoNCdE34XNnhAFyZmq0VMDcxsHoAgs25pwg9+aYz+ylMDGCw==","X-Received":"by 2002:a17:90a:6d96:: with SMTP id\n\ta22mr5897787pjk.84.1612402058062; \n\tWed, 03 Feb 2021 17:27:38 -0800 (PST)","From":"Hirokazu Honda <hiroh@chromium.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Thu,  4 Feb 2021 01:27:30 +0000","Message-Id":"<20210204012731.1942112-2-hiroh@chromium.org>","X-Mailer":"git-send-email 2.30.0.365.g02bc693789-goog","In-Reply-To":"<20210204012731.1942112-1-hiroh@chromium.org>","References":"<20210204012731.1942112-1-hiroh@chromium.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v4 1/2] subprojects: Add libyuv and built\n\tif -Dandroid=enabled","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>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Android HAL adaptation layer may need image processing, for\nexample, scaling and format conversion. Libyuv is a general image\nprocessing. This adds libyuv to subprojects, so that it is forked\nlocally and can be used with Android HAL implementation code.\n\nSigned-off-by: Hirokazu Honda <hiroh@chromium.org>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n README.rst              |  2 +-\n meson.build             |  2 +-\n src/android/meson.build | 17 +++++++++++++++++\n subprojects/.gitignore  |  1 +\n subprojects/libyuv.wrap |  4 ++++\n 5 files changed, 24 insertions(+), 2 deletions(-)\n create mode 100644 subprojects/.gitignore\n create mode 100644 subprojects/libyuv.wrap\n\n--\n2.30.0.365.g02bc693789-goog","diff":"diff --git a/README.rst b/README.rst\nindex 251291b7..08bfd5ad 100644\n--- a/README.rst\n+++ b/README.rst\n@@ -47,7 +47,7 @@ A C++ toolchain: [required]\n \tEither {g++, clang}\n\n Meson Build system: [required]\n-        meson (>= 0.51) ninja-build pkg-config\n+        meson (>= 0.55) ninja-build pkg-config\n\n         If your distribution doesn't provide a recent enough version of meson,\n         you can install or upgrade it using pip3.\ndiff --git a/meson.build b/meson.build\nindex 743cb1d2..be77191d 100644\n--- a/meson.build\n+++ b/meson.build\n@@ -1,7 +1,7 @@\n # SPDX-License-Identifier: CC0-1.0\n\n project('libcamera', 'c', 'cpp',\n-    meson_version : '>= 0.53',\n+    meson_version : '>= 0.55',\n     version : '0.0.0',\n     default_options : [\n         'werror=true',\ndiff --git a/src/android/meson.build b/src/android/meson.build\nindex 3d4d3be4..7619517a 100644\n--- a/src/android/meson.build\n+++ b/src/android/meson.build\n@@ -14,6 +14,23 @@ foreach dep : android_deps\n     endif\n endforeach\n\n+if android_enabled\n+    cmake = import('cmake')\n+\n+    libyuv_vars = cmake.subproject_options()\n+    libyuv_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})\n+    libyuv_vars.set_override_option('cpp_std', 'c++17')\n+    libyuv_vars.append_compile_args('cpp',\n+         '-Wno-sign-compare',\n+         '-Wno-unused-variable',\n+         '-Wno-unused-parameter')\n+    libyuv_vars.append_link_args('-ljpeg')\n+    libyuv = cmake.subproject('libyuv', options : libyuv_vars)\n+    libyuv_dep = libyuv.dependency('yuv')\n+\n+    android_deps += [ libyuv_dep, ]\n+endif\n+\n android_hal_sources = files([\n     'camera3_hal.cpp',\n     'camera_hal_manager.cpp',\ndiff --git a/subprojects/.gitignore b/subprojects/.gitignore\nnew file mode 100644\nindex 00000000..410b8bd6\n--- /dev/null\n+++ b/subprojects/.gitignore\n@@ -0,0 +1 @@\n+/libyuv\n\\ No newline at end of file\ndiff --git a/subprojects/libyuv.wrap b/subprojects/libyuv.wrap\nnew file mode 100644\nindex 00000000..8ba51fa0\n--- /dev/null\n+++ b/subprojects/libyuv.wrap\n@@ -0,0 +1,4 @@\n+[wrap-git]\n+directory = libyuv\n+url = https://chromium.googlesource.com/libyuv/libyuv.git\n+revision = 93b1b332cd60b56ab90aea14182755e379c28a80\n","prefixes":["libcamera-devel","v4","1/2"]}