react-native-vision-camera-spoof-detector 1.1.22 → 1.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +12 -0
- package/android/build.gradle +10 -9
- package/android/src/main/cpp/cpp-adapter.cpp +6 -3
- package/android/src/main/java/com/faceantispoof/FaceAntiSpoofingAdvanced.kt +83 -0
- package/android/src/main/java/com/margelo/nitro/camera/spoofdetector/HybridSpoofDetectorOutput.kt +26 -11
- package/package.json +1 -1
- package/android/src/main/cpp/CMakeLists.txt +0 -33
- package/android/src/main/cpp/FaceAntiSpoofJSI.cpp +0 -142
- package/android/src/main/cpp/FastYuvJni.cpp +0 -111
- package/android/src/main/cpp/fast_yuv.cpp +0 -342
- package/android/src/main/cpp/fast_yuv.h +0 -23
- package/android/src/main/cpp/libyuv/.clang-format +0 -6
- package/android/src/main/cpp/libyuv/.gn +0 -40
- package/android/src/main/cpp/libyuv/.vpython3 +0 -410
- package/android/src/main/cpp/libyuv/AUTHORS +0 -7
- package/android/src/main/cpp/libyuv/Android.bp +0 -202
- package/android/src/main/cpp/libyuv/Android.mk +0 -106
- package/android/src/main/cpp/libyuv/BUILD.gn +0 -490
- package/android/src/main/cpp/libyuv/CM_linux_packages.cmake +0 -70
- package/android/src/main/cpp/libyuv/CMakeLists.txt +0 -259
- package/android/src/main/cpp/libyuv/DEPS +0 -935
- package/android/src/main/cpp/libyuv/DIR_METADATA +0 -3
- package/android/src/main/cpp/libyuv/LICENSE +0 -29
- package/android/src/main/cpp/libyuv/OWNERS +0 -11
- package/android/src/main/cpp/libyuv/PATENTS +0 -24
- package/android/src/main/cpp/libyuv/PRESUBMIT.py +0 -65
- package/android/src/main/cpp/libyuv/README.chromium +0 -11
- package/android/src/main/cpp/libyuv/README.md +0 -19
- package/android/src/main/cpp/libyuv/build_overrides/build.gni +0 -60
- package/android/src/main/cpp/libyuv/build_overrides/gtest.gni +0 -19
- package/android/src/main/cpp/libyuv/build_overrides/partition_alloc.gni +0 -17
- package/android/src/main/cpp/libyuv/codereview.settings +0 -5
- package/android/src/main/cpp/libyuv/docs/deprecated_builds.md +0 -409
- package/android/src/main/cpp/libyuv/docs/environment_variables.md +0 -64
- package/android/src/main/cpp/libyuv/docs/feature_detection.md +0 -108
- package/android/src/main/cpp/libyuv/docs/filtering.md +0 -196
- package/android/src/main/cpp/libyuv/docs/formats.md +0 -208
- package/android/src/main/cpp/libyuv/docs/getting_started.md +0 -296
- package/android/src/main/cpp/libyuv/docs/rotation.md +0 -107
- package/android/src/main/cpp/libyuv/download_vs_toolchain.py +0 -29
- package/android/src/main/cpp/libyuv/include/libyuv/basic_types.h +0 -68
- package/android/src/main/cpp/libyuv/include/libyuv/compare.h +0 -111
- package/android/src/main/cpp/libyuv/include/libyuv/compare_row.h +0 -112
- package/android/src/main/cpp/libyuv/include/libyuv/convert.h +0 -1117
- package/android/src/main/cpp/libyuv/include/libyuv/convert_argb.h +0 -2335
- package/android/src/main/cpp/libyuv/include/libyuv/convert_from.h +0 -203
- package/android/src/main/cpp/libyuv/include/libyuv/convert_from_argb.h +0 -394
- package/android/src/main/cpp/libyuv/include/libyuv/cpu_id.h +0 -147
- package/android/src/main/cpp/libyuv/include/libyuv/cpu_support.h +0 -99
- package/android/src/main/cpp/libyuv/include/libyuv/loongson_intrinsics.h +0 -1949
- package/android/src/main/cpp/libyuv/include/libyuv/mjpeg_decoder.h +0 -195
- package/android/src/main/cpp/libyuv/include/libyuv/planar_functions.h +0 -1131
- package/android/src/main/cpp/libyuv/include/libyuv/rotate.h +0 -296
- package/android/src/main/cpp/libyuv/include/libyuv/rotate_argb.h +0 -37
- package/android/src/main/cpp/libyuv/include/libyuv/rotate_row.h +0 -265
- package/android/src/main/cpp/libyuv/include/libyuv/row.h +0 -6738
- package/android/src/main/cpp/libyuv/include/libyuv/row_sve.h +0 -2154
- package/android/src/main/cpp/libyuv/include/libyuv/scale.h +0 -336
- package/android/src/main/cpp/libyuv/include/libyuv/scale_argb.h +0 -76
- package/android/src/main/cpp/libyuv/include/libyuv/scale_rgb.h +0 -42
- package/android/src/main/cpp/libyuv/include/libyuv/scale_row.h +0 -1726
- package/android/src/main/cpp/libyuv/include/libyuv/scale_uv.h +0 -51
- package/android/src/main/cpp/libyuv/include/libyuv/version.h +0 -16
- package/android/src/main/cpp/libyuv/include/libyuv/video_common.h +0 -222
- package/android/src/main/cpp/libyuv/include/libyuv.h +0 -33
- package/android/src/main/cpp/libyuv/infra/config/OWNERS +0 -3
- package/android/src/main/cpp/libyuv/infra/config/PRESUBMIT.py +0 -17
- package/android/src/main/cpp/libyuv/infra/config/README.md +0 -2
- package/android/src/main/cpp/libyuv/infra/config/codereview.settings +0 -6
- package/android/src/main/cpp/libyuv/infra/config/commit-queue.cfg +0 -144
- package/android/src/main/cpp/libyuv/infra/config/cr-buildbucket.cfg +0 -1185
- package/android/src/main/cpp/libyuv/infra/config/luci-logdog.cfg +0 -9
- package/android/src/main/cpp/libyuv/infra/config/luci-milo.cfg +0 -246
- package/android/src/main/cpp/libyuv/infra/config/luci-scheduler.cfg +0 -385
- package/android/src/main/cpp/libyuv/infra/config/main.star +0 -402
- package/android/src/main/cpp/libyuv/infra/config/project.cfg +0 -16
- package/android/src/main/cpp/libyuv/infra/config/realms.cfg +0 -111
- package/android/src/main/cpp/libyuv/libyuv.gni +0 -34
- package/android/src/main/cpp/libyuv/libyuv.gyp +0 -149
- package/android/src/main/cpp/libyuv/libyuv.gypi +0 -87
- package/android/src/main/cpp/libyuv/linux.mk +0 -96
- package/android/src/main/cpp/libyuv/public.mk +0 -13
- package/android/src/main/cpp/libyuv/pylintrc +0 -49
- package/android/src/main/cpp/libyuv/riscv_script/prepare_toolchain_qemu.sh +0 -74
- package/android/src/main/cpp/libyuv/riscv_script/riscv-clang.cmake +0 -56
- package/android/src/main/cpp/libyuv/riscv_script/run_qemu.sh +0 -15
- package/android/src/main/cpp/libyuv/source/compare.cc +0 -435
- package/android/src/main/cpp/libyuv/source/compare_common.cc +0 -74
- package/android/src/main/cpp/libyuv/source/compare_gcc.cc +0 -362
- package/android/src/main/cpp/libyuv/source/compare_neon.cc +0 -96
- package/android/src/main/cpp/libyuv/source/compare_neon64.cc +0 -223
- package/android/src/main/cpp/libyuv/source/compare_win.cc +0 -241
- package/android/src/main/cpp/libyuv/source/convert.cc +0 -4746
- package/android/src/main/cpp/libyuv/source/convert_argb.cc +0 -9179
- package/android/src/main/cpp/libyuv/source/convert_from.cc +0 -866
- package/android/src/main/cpp/libyuv/source/convert_from_argb.cc +0 -3671
- package/android/src/main/cpp/libyuv/source/convert_jpeg.cc +0 -602
- package/android/src/main/cpp/libyuv/source/convert_to_argb.cc +0 -391
- package/android/src/main/cpp/libyuv/source/convert_to_i420.cc +0 -288
- package/android/src/main/cpp/libyuv/source/cpu_id.cc +0 -496
- package/android/src/main/cpp/libyuv/source/mjpeg_decoder.cc +0 -580
- package/android/src/main/cpp/libyuv/source/mjpeg_validate.cc +0 -71
- package/android/src/main/cpp/libyuv/source/planar_functions.cc +0 -5663
- package/android/src/main/cpp/libyuv/source/rotate.cc +0 -1241
- package/android/src/main/cpp/libyuv/source/rotate_any.cc +0 -76
- package/android/src/main/cpp/libyuv/source/rotate_argb.cc +0 -259
- package/android/src/main/cpp/libyuv/source/rotate_common.cc +0 -208
- package/android/src/main/cpp/libyuv/source/rotate_gcc.cc +0 -505
- package/android/src/main/cpp/libyuv/source/rotate_lsx.cc +0 -233
- package/android/src/main/cpp/libyuv/source/rotate_neon.cc +0 -219
- package/android/src/main/cpp/libyuv/source/rotate_neon64.cc +0 -273
- package/android/src/main/cpp/libyuv/source/rotate_sme.cc +0 -174
- package/android/src/main/cpp/libyuv/source/rotate_win.cc +0 -253
- package/android/src/main/cpp/libyuv/source/row_any.cc +0 -2519
- package/android/src/main/cpp/libyuv/source/row_common.cc +0 -4461
- package/android/src/main/cpp/libyuv/source/row_gcc.cc +0 -9570
- package/android/src/main/cpp/libyuv/source/row_lasx.cc +0 -2343
- package/android/src/main/cpp/libyuv/source/row_lsx.cc +0 -3030
- package/android/src/main/cpp/libyuv/source/row_neon.cc +0 -4026
- package/android/src/main/cpp/libyuv/source/row_neon64.cc +0 -5617
- package/android/src/main/cpp/libyuv/source/row_rvv.cc +0 -2599
- package/android/src/main/cpp/libyuv/source/row_sme.cc +0 -1183
- package/android/src/main/cpp/libyuv/source/row_sve.cc +0 -1088
- package/android/src/main/cpp/libyuv/source/row_win.cc +0 -6453
- package/android/src/main/cpp/libyuv/source/scale.cc +0 -2710
- package/android/src/main/cpp/libyuv/source/scale_any.cc +0 -991
- package/android/src/main/cpp/libyuv/source/scale_argb.cc +0 -1158
- package/android/src/main/cpp/libyuv/source/scale_common.cc +0 -1977
- package/android/src/main/cpp/libyuv/source/scale_gcc.cc +0 -2947
- package/android/src/main/cpp/libyuv/source/scale_lsx.cc +0 -739
- package/android/src/main/cpp/libyuv/source/scale_neon.cc +0 -1449
- package/android/src/main/cpp/libyuv/source/scale_neon64.cc +0 -1552
- package/android/src/main/cpp/libyuv/source/scale_rgb.cc +0 -82
- package/android/src/main/cpp/libyuv/source/scale_rvv.cc +0 -1971
- package/android/src/main/cpp/libyuv/source/scale_sme.cc +0 -555
- package/android/src/main/cpp/libyuv/source/scale_uv.cc +0 -1159
- package/android/src/main/cpp/libyuv/source/scale_win.cc +0 -1392
- package/android/src/main/cpp/libyuv/source/test.sh +0 -35
- package/android/src/main/cpp/libyuv/source/video_common.cc +0 -62
- package/android/src/main/cpp/libyuv/tools_libyuv/OWNERS +0 -4
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/roll_deps.py +0 -931
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/roll_deps_test.py +0 -164
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS +0 -21
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.new +0 -13
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old +0 -13
- package/android/src/main/cpp/libyuv/tools_libyuv/get_landmines.py +0 -38
- package/android/src/main/cpp/libyuv/tools_libyuv/msan/OWNERS +0 -3
- package/android/src/main/cpp/libyuv/tools_libyuv/msan/blacklist.txt +0 -9
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/OWNERS +0 -3
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/blacklist.txt +0 -15
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/vptr_blacklist.txt +0 -25
- package/android/src/main/cpp/libyuv/unit_test/basictypes_test.cc +0 -43
- package/android/src/main/cpp/libyuv/unit_test/color_test.cc +0 -848
- package/android/src/main/cpp/libyuv/unit_test/compare_test.cc +0 -739
- package/android/src/main/cpp/libyuv/unit_test/convert_argb_test.cc +0 -2867
- package/android/src/main/cpp/libyuv/unit_test/convert_test.cc +0 -2133
- package/android/src/main/cpp/libyuv/unit_test/cpu_test.cc +0 -427
- package/android/src/main/cpp/libyuv/unit_test/cpu_thread_test.cc +0 -63
- package/android/src/main/cpp/libyuv/unit_test/math_test.cc +0 -160
- package/android/src/main/cpp/libyuv/unit_test/planar_test.cc +0 -4731
- package/android/src/main/cpp/libyuv/unit_test/rotate_argb_test.cc +0 -334
- package/android/src/main/cpp/libyuv/unit_test/rotate_test.cc +0 -962
- package/android/src/main/cpp/libyuv/unit_test/scale_argb_test.cc +0 -590
- package/android/src/main/cpp/libyuv/unit_test/scale_plane_test.cc +0 -465
- package/android/src/main/cpp/libyuv/unit_test/scale_rgb_test.cc +0 -280
- package/android/src/main/cpp/libyuv/unit_test/scale_test.cc +0 -1135
- package/android/src/main/cpp/libyuv/unit_test/scale_uv_test.cc +0 -249
- package/android/src/main/cpp/libyuv/unit_test/testdata/arm_v7.txt +0 -12
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips.txt +0 -7
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson2k.txt +0 -5
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson3.txt +0 -10
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson_mmi.txt +0 -7
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64.txt +0 -4
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv.txt +0 -4
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv_zvfh.txt +0 -4
- package/android/src/main/cpp/libyuv/unit_test/testdata/tegra3.txt +0 -23
- package/android/src/main/cpp/libyuv/unit_test/testdata/test0.jpg +0 -0
- package/android/src/main/cpp/libyuv/unit_test/testdata/test1.jpg +0 -0
- package/android/src/main/cpp/libyuv/unit_test/testdata/test2.jpg +0 -0
- package/android/src/main/cpp/libyuv/unit_test/testdata/test3.jpg +0 -0
- package/android/src/main/cpp/libyuv/unit_test/testdata/test4.jpg +0 -0
- package/android/src/main/cpp/libyuv/unit_test/unit_test.cc +0 -581
- package/android/src/main/cpp/libyuv/unit_test/unit_test.h +0 -232
- package/android/src/main/cpp/libyuv/unit_test/video_common_test.cc +0 -112
- package/android/src/main/cpp/libyuv/util/Makefile +0 -9
- package/android/src/main/cpp/libyuv/util/color.cc +0 -120
- package/android/src/main/cpp/libyuv/util/compare.cc +0 -67
- package/android/src/main/cpp/libyuv/util/cpuid.c +0 -211
- package/android/src/main/cpp/libyuv/util/i444tonv12_eg.cc +0 -28
- package/android/src/main/cpp/libyuv/util/psnr.cc +0 -291
- package/android/src/main/cpp/libyuv/util/psnr.h +0 -47
- package/android/src/main/cpp/libyuv/util/psnr_main.cc +0 -620
- package/android/src/main/cpp/libyuv/util/ssim.cc +0 -364
- package/android/src/main/cpp/libyuv/util/ssim.h +0 -38
- package/android/src/main/cpp/libyuv/util/yuvconstants.c +0 -114
- package/android/src/main/cpp/libyuv/util/yuvconvert.cc +0 -367
- package/android/src/main/cpp/libyuv/winarm.mk +0 -47
- package/android/src/main/java/com/faceantispoof/ByteBufferPool.kt +0 -68
- package/android/src/main/java/com/faceantispoof/FastYuv.kt +0 -51
- package/android/src/main/java/com/faceantispoof/YuvToFloatArrayConverter.kt +0 -584
- package/android/src/main/java/com/faceantispoof/YuvToRgbConverter.kt +0 -73
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
Copyright 2011 The LibYuv Project Authors. All rights reserved.
|
|
2
|
-
|
|
3
|
-
Redistribution and use in source and binary forms, with or without
|
|
4
|
-
modification, are permitted provided that the following conditions are
|
|
5
|
-
met:
|
|
6
|
-
|
|
7
|
-
* Redistributions of source code must retain the above copyright
|
|
8
|
-
notice, this list of conditions and the following disclaimer.
|
|
9
|
-
|
|
10
|
-
* Redistributions in binary form must reproduce the above copyright
|
|
11
|
-
notice, this list of conditions and the following disclaimer in
|
|
12
|
-
the documentation and/or other materials provided with the
|
|
13
|
-
distribution.
|
|
14
|
-
|
|
15
|
-
* Neither the name of Google nor the names of its contributors may
|
|
16
|
-
be used to endorse or promote products derived from this software
|
|
17
|
-
without specific prior written permission.
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
20
|
-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
21
|
-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
22
|
-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
23
|
-
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
25
|
-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
26
|
-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
27
|
-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
28
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
29
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
mbonadei@chromium.org
|
|
2
|
-
fbarchard@chromium.org
|
|
3
|
-
magjed@chromium.org
|
|
4
|
-
wtc@google.com
|
|
5
|
-
jansson@google.com
|
|
6
|
-
|
|
7
|
-
per-file *.gn=mbonadei@chromium.org,jansson@google.com
|
|
8
|
-
per-file .gitignore=*
|
|
9
|
-
per-file AUTHORS=*
|
|
10
|
-
per-file DEPS=*
|
|
11
|
-
per-file PRESUBMIT.py=mbonadei@chromium.org,jansson@google.com
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
Additional IP Rights Grant (Patents)
|
|
2
|
-
|
|
3
|
-
"This implementation" means the copyrightable works distributed by
|
|
4
|
-
Google as part of the LibYuv code package.
|
|
5
|
-
|
|
6
|
-
Google hereby grants to you a perpetual, worldwide, non-exclusive,
|
|
7
|
-
no-charge, irrevocable (except as stated in this section) patent
|
|
8
|
-
license to make, have made, use, offer to sell, sell, import,
|
|
9
|
-
transfer, and otherwise run, modify and propagate the contents of this
|
|
10
|
-
implementation of the LibYuv code package, where such license applies
|
|
11
|
-
only to those patent claims, both currently owned by Google and
|
|
12
|
-
acquired in the future, licensable by Google that are necessarily
|
|
13
|
-
infringed by this implementation of the LibYuv code package. This
|
|
14
|
-
grant does not include claims that would be infringed only as a
|
|
15
|
-
consequence of further modification of this implementation. If you or
|
|
16
|
-
your agent or exclusive licensee institute or order or agree to the
|
|
17
|
-
institution of patent litigation against any entity (including a
|
|
18
|
-
cross-claim or counterclaim in a lawsuit) alleging that this
|
|
19
|
-
implementation of the LibYuv code package or any code incorporated
|
|
20
|
-
within this implementation of the LibYuv code package constitutes
|
|
21
|
-
direct or contributory patent infringement, or inducement of patent
|
|
22
|
-
infringement, then any patent rights granted to you under this License
|
|
23
|
-
for this implementation of the LibYuv code package shall terminate as
|
|
24
|
-
of the date such litigation is filed.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Copyright 2017 The LibYuv Project Authors. All rights reserved.
|
|
2
|
-
#
|
|
3
|
-
# Use of this source code is governed by a BSD-style license
|
|
4
|
-
# that can be found in the LICENSE file in the root of the source
|
|
5
|
-
# tree. An additional intellectual property rights grant can be found
|
|
6
|
-
# in the file PATENTS. All contributing project authors may
|
|
7
|
-
# be found in the AUTHORS file in the root of the source tree.
|
|
8
|
-
|
|
9
|
-
# Runs PRESUBMIT.py in py3 mode by git cl presubmit.
|
|
10
|
-
USE_PYTHON3 = True
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def _CommonChecks(input_api, output_api):
|
|
14
|
-
"""Checks common to both upload and commit."""
|
|
15
|
-
results = []
|
|
16
|
-
results.extend(
|
|
17
|
-
input_api.canned_checks.RunPylint(
|
|
18
|
-
input_api,
|
|
19
|
-
output_api,
|
|
20
|
-
files_to_skip=(
|
|
21
|
-
r'^base[\\\/].*\.py$',
|
|
22
|
-
r'^build[\\\/].*\.py$',
|
|
23
|
-
r'^buildtools[\\\/].*\.py$',
|
|
24
|
-
r'^ios[\\\/].*\.py$',
|
|
25
|
-
r'^out.*[\\\/].*\.py$',
|
|
26
|
-
r'^testing[\\\/].*\.py$',
|
|
27
|
-
r'^third_party[\\\/].*\.py$',
|
|
28
|
-
r'^tools[\\\/].*\.py$',
|
|
29
|
-
# TODO(kjellander): should arguably be checked.
|
|
30
|
-
r'^tools_libyuv[\\\/]valgrind[\\\/].*\.py$',
|
|
31
|
-
r'^xcodebuild.*[\\\/].*\.py$',
|
|
32
|
-
),
|
|
33
|
-
disabled_warnings=[
|
|
34
|
-
'F0401', # Failed to import x
|
|
35
|
-
'E0611', # No package y in x
|
|
36
|
-
'W0232', # Class has no __init__ method
|
|
37
|
-
],
|
|
38
|
-
pylintrc='pylintrc',
|
|
39
|
-
version='2.7',
|
|
40
|
-
)
|
|
41
|
-
)
|
|
42
|
-
return results
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def CheckChangeOnUpload(input_api, output_api):
|
|
46
|
-
results = []
|
|
47
|
-
results.extend(_CommonChecks(input_api, output_api))
|
|
48
|
-
results.extend(
|
|
49
|
-
input_api.canned_checks.CheckGNFormatted(input_api, output_api)
|
|
50
|
-
)
|
|
51
|
-
return results
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
def CheckChangeOnCommit(input_api, output_api):
|
|
55
|
-
results = []
|
|
56
|
-
results.extend(_CommonChecks(input_api, output_api))
|
|
57
|
-
results.extend(input_api.canned_checks.CheckOwners(input_api, output_api))
|
|
58
|
-
results.extend(
|
|
59
|
-
input_api.canned_checks.CheckChangeWasUploaded(input_api, output_api)
|
|
60
|
-
)
|
|
61
|
-
results.extend(
|
|
62
|
-
input_api.canned_checks.CheckChangeHasDescription(input_api,
|
|
63
|
-
output_api)
|
|
64
|
-
)
|
|
65
|
-
return results
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Name: libyuv
|
|
2
|
-
URL: https://chromium.googlesource.com/libyuv/libyuv/
|
|
3
|
-
Version: 1922
|
|
4
|
-
License: BSD-3-Clause
|
|
5
|
-
License File: LICENSE
|
|
6
|
-
Shipped: yes
|
|
7
|
-
Security Critical: yes
|
|
8
|
-
|
|
9
|
-
Description:
|
|
10
|
-
libyuv is an open source project that includes YUV conversion and scaling functionality.
|
|
11
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
**libyuv** is an open source project that includes YUV scaling and conversion functionality.
|
|
2
|
-
|
|
3
|
-
* Scale YUV to prepare content for compression, with point, bilinear or box filter.
|
|
4
|
-
* Convert to YUV from webcam formats for compression.
|
|
5
|
-
* Convert to RGB formats for rendering/effects.
|
|
6
|
-
* Rotate by 90/180/270 degrees to adjust for mobile devices in portrait mode.
|
|
7
|
-
* Optimized for SSSE3/AVX2 on x86/x64.
|
|
8
|
-
* Optimized for Neon/SVE2/SME on Arm.
|
|
9
|
-
* Optimized for MSA on Mips.
|
|
10
|
-
* Optimized for RVV on RISC-V.
|
|
11
|
-
|
|
12
|
-
### Development
|
|
13
|
-
|
|
14
|
-
See [Getting started][1] for instructions on how to get started developing.
|
|
15
|
-
|
|
16
|
-
You can also browse the [docs directory][2] for more documentation.
|
|
17
|
-
|
|
18
|
-
[1]: ./docs/getting_started.md
|
|
19
|
-
[2]: ./docs/
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Copyright 2016 The LibYuv Project Authors. All rights reserved.
|
|
2
|
-
#
|
|
3
|
-
# Use of this source code is governed by a BSD-style license
|
|
4
|
-
# that can be found in the LICENSE file in the root of the source
|
|
5
|
-
# tree. An additional intellectual property rights grant can be found
|
|
6
|
-
# in the file PATENTS. All contributing project authors may
|
|
7
|
-
# be found in the AUTHORS file in the root of the source tree.
|
|
8
|
-
|
|
9
|
-
# Variable that can be used to support multiple build scenarios, like having
|
|
10
|
-
# Chromium specific targets in a client project's GN file etc.
|
|
11
|
-
build_with_chromium = false
|
|
12
|
-
|
|
13
|
-
# Some non-Chromium builds don't support building java targets.
|
|
14
|
-
enable_java_templates = true
|
|
15
|
-
|
|
16
|
-
# Enables assertions on safety checks in libc++.
|
|
17
|
-
enable_safe_libcxx = true
|
|
18
|
-
|
|
19
|
-
# Allow using custom suppressions files (currently not used by libyuv).
|
|
20
|
-
asan_suppressions_file = "//build/sanitizers/asan_suppressions.cc"
|
|
21
|
-
lsan_suppressions_file = "//build/sanitizers/lsan_suppressions.cc"
|
|
22
|
-
tsan_suppressions_file = "//build/sanitizers/tsan_suppressions.cc"
|
|
23
|
-
|
|
24
|
-
msan_blacklist_path =
|
|
25
|
-
rebase_path("//tools_libyuv/msan/blacklist.txt", root_build_dir)
|
|
26
|
-
ubsan_blacklist_path =
|
|
27
|
-
rebase_path("//tools_libyuv/ubsan/blacklist.txt", root_build_dir)
|
|
28
|
-
ubsan_vptr_blacklist_path =
|
|
29
|
-
rebase_path("//tools_libyuv/ubsan/vptr_blacklist.txt", root_build_dir)
|
|
30
|
-
|
|
31
|
-
# For Chromium, Android 32-bit non-component, non-clang builds hit a 4GiB size
|
|
32
|
-
# limit, making them requiring symbol_level=2. WebRTC doesn't hit that problem
|
|
33
|
-
# so we just ignore that assert. See https://crbug.com/648948 for more info.
|
|
34
|
-
ignore_elf32_limitations = true
|
|
35
|
-
|
|
36
|
-
# Use bundled hermetic Xcode installation maintained by Chromium,
|
|
37
|
-
# except for local iOS builds where it is unsupported.
|
|
38
|
-
# Allow for mac cross compile on linux machines.
|
|
39
|
-
if (host_os == "mac" || host_os == "linux") {
|
|
40
|
-
_result = exec_script("//build/mac/should_use_hermetic_xcode.py",
|
|
41
|
-
[ target_os ],
|
|
42
|
-
"value")
|
|
43
|
-
assert(_result != 2,
|
|
44
|
-
"Do not allow building targets with the default " +
|
|
45
|
-
"hermetic toolchain if the minimum OS version is not met.")
|
|
46
|
-
use_system_xcode = _result == 0
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
declare_args() {
|
|
50
|
-
# Limits the defined //third_party/android_deps targets to only "buildCompile"
|
|
51
|
-
# and "buildCompileNoDeps" targets. This is useful for third-party
|
|
52
|
-
# repositories which do not use JUnit tests. For instance,
|
|
53
|
-
# limit_android_deps == true removes "gn gen" requirement for
|
|
54
|
-
# //third_party/robolectric .
|
|
55
|
-
limit_android_deps = false
|
|
56
|
-
|
|
57
|
-
# Allows googletest to pretty-print various absl types.
|
|
58
|
-
# Defined here rather than in gtest.gni to match chromium.
|
|
59
|
-
gtest_enable_absl_printers = true
|
|
60
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2016 The LibYuv project authors. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Use of this source code is governed by a BSD-style license
|
|
4
|
-
# that can be found in the LICENSE file in the root of the source
|
|
5
|
-
# tree. An additional intellectual property rights grant can be found
|
|
6
|
-
# in the file PATENTS. All contributing project authors may
|
|
7
|
-
# be found in the AUTHORS file in the root of the source tree.
|
|
8
|
-
|
|
9
|
-
# Include support for registering main function in multi-process tests.
|
|
10
|
-
gtest_include_multiprocess = true
|
|
11
|
-
|
|
12
|
-
# Include support for platform-specific operations across unit tests.
|
|
13
|
-
gtest_include_platform_test = true
|
|
14
|
-
|
|
15
|
-
# Exclude support for testing Objective C code on OS X and iOS.
|
|
16
|
-
gtest_include_objc_support = true
|
|
17
|
-
|
|
18
|
-
# Exclude support for flushing coverage files on iOS.
|
|
19
|
-
gtest_include_ios_coverage = true
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Copyright 2022 The LibYuv Project Authors. All rights reserved.
|
|
2
|
-
#
|
|
3
|
-
# Use of this source code is governed by a BSD-style license
|
|
4
|
-
# that can be found in the LICENSE file in the root of the source
|
|
5
|
-
# tree. An additional intellectual property rights grant can be found
|
|
6
|
-
# in the file PATENTS. All contributing project authors may
|
|
7
|
-
# be found in the AUTHORS file in the root of the source tree.
|
|
8
|
-
|
|
9
|
-
# Use default values for PartitionAlloc as standalone library from
|
|
10
|
-
# base/allocator/partition_allocator/build_overrides/partition_alloc.gni
|
|
11
|
-
use_partition_alloc_as_malloc_default = false
|
|
12
|
-
use_allocator_shim_default = false
|
|
13
|
-
enable_backup_ref_ptr_support_default = false
|
|
14
|
-
enable_mte_checked_ptr_support_default = false
|
|
15
|
-
put_ref_count_in_previous_slot_default = false
|
|
16
|
-
enable_backup_ref_ptr_slow_checks_default = false
|
|
17
|
-
enable_dangling_raw_ptr_checks_default = false
|
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
# Deprecated Builds
|
|
2
|
-
|
|
3
|
-
Older documentation on build configs which are no longer supported.
|
|
4
|
-
|
|
5
|
-
## Pre-requisites
|
|
6
|
-
|
|
7
|
-
You'll need to have depot tools installed: https://www.chromium.org/developers/how-tos/install-depot-tools
|
|
8
|
-
Refer to chromium instructions for each platform for other prerequisites.
|
|
9
|
-
|
|
10
|
-
## Getting the Code
|
|
11
|
-
|
|
12
|
-
Create a working directory, enter it, and run:
|
|
13
|
-
|
|
14
|
-
fetch libyuv
|
|
15
|
-
|
|
16
|
-
For iOS add `;target_os=['ios'];` to your OSX .gclient and run `GYP_DEFINES="OS=ios" gclient sync.`
|
|
17
|
-
|
|
18
|
-
Browse the Git reprository: https://chromium.googlesource.com/libyuv/libyuv/+/master
|
|
19
|
-
|
|
20
|
-
### Android
|
|
21
|
-
For Android add `;target_os=['android'];` to your Linux .gclient
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
solutions = [
|
|
25
|
-
{ "name" : "libyuv",
|
|
26
|
-
"url" : "https://chromium.googlesource.com/libyuv/libyuv",
|
|
27
|
-
"deps_file" : "DEPS",
|
|
28
|
-
"managed" : True,
|
|
29
|
-
"custom_deps" : {
|
|
30
|
-
},
|
|
31
|
-
"safesync_url": "",
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
target_os = ["android", "unix"];
|
|
35
|
-
|
|
36
|
-
Then run:
|
|
37
|
-
|
|
38
|
-
export GYP_DEFINES="OS=android"
|
|
39
|
-
gclient sync
|
|
40
|
-
|
|
41
|
-
Caveat: Theres an error with Google Play services updates. If you get the error "Your version of the Google Play services library is not up to date", run the following:
|
|
42
|
-
|
|
43
|
-
cd chromium/src
|
|
44
|
-
./build/android/play_services/update.py download
|
|
45
|
-
cd ../..
|
|
46
|
-
|
|
47
|
-
For Windows the gclient sync must be done from an Administrator command prompt.
|
|
48
|
-
|
|
49
|
-
The sync will generate native build files for your environment using gyp (Windows: Visual Studio, OSX: XCode, Linux: make). This generation can also be forced manually: `gclient runhooks`
|
|
50
|
-
|
|
51
|
-
To get just the source (not buildable):
|
|
52
|
-
|
|
53
|
-
git clone https://chromium.googlesource.com/libyuv/libyuv
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
## Building the Library and Unittests
|
|
57
|
-
|
|
58
|
-
### Windows
|
|
59
|
-
|
|
60
|
-
set GYP_DEFINES=target_arch=ia32
|
|
61
|
-
call python gyp_libyuv -fninja -G msvs_version=2013
|
|
62
|
-
ninja -j7 -C out\Release
|
|
63
|
-
ninja -j7 -C out\Debug
|
|
64
|
-
|
|
65
|
-
set GYP_DEFINES=target_arch=x64
|
|
66
|
-
call python gyp_libyuv -fninja -G msvs_version=2013
|
|
67
|
-
ninja -C out\Debug_x64
|
|
68
|
-
ninja -C out\Release_x64
|
|
69
|
-
|
|
70
|
-
#### Building with clangcl
|
|
71
|
-
set GYP_DEFINES=clang=1 target_arch=ia32
|
|
72
|
-
call python tools\clang\scripts\update.py
|
|
73
|
-
call python gyp_libyuv -fninja libyuv_test.gyp
|
|
74
|
-
ninja -C out\Debug
|
|
75
|
-
ninja -C out\Release
|
|
76
|
-
|
|
77
|
-
### OSX
|
|
78
|
-
|
|
79
|
-
Clang 64 bit shown. Remove `clang=1` for GCC and change x64 to ia32 for 32 bit.
|
|
80
|
-
|
|
81
|
-
GYP_DEFINES="clang=1 target_arch=x64" ./gyp_libyuv
|
|
82
|
-
ninja -j7 -C out/Debug
|
|
83
|
-
ninja -j7 -C out/Release
|
|
84
|
-
|
|
85
|
-
GYP_DEFINES="clang=1 target_arch=ia32" ./gyp_libyuv
|
|
86
|
-
ninja -j7 -C out/Debug
|
|
87
|
-
ninja -j7 -C out/Release
|
|
88
|
-
|
|
89
|
-
### iOS
|
|
90
|
-
http://www.chromium.org/developers/how-tos/build-instructions-ios
|
|
91
|
-
|
|
92
|
-
Add to .gclient last line: `target_os=['ios'];`
|
|
93
|
-
|
|
94
|
-
armv7
|
|
95
|
-
|
|
96
|
-
GYP_DEFINES="OS=ios target_arch=armv7 target_subarch=arm32" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_ios" ./gyp_libyuv
|
|
97
|
-
ninja -j7 -C out_ios/Debug-iphoneos libyuv_unittest
|
|
98
|
-
ninja -j7 -C out_ios/Release-iphoneos libyuv_unittest
|
|
99
|
-
|
|
100
|
-
arm64
|
|
101
|
-
|
|
102
|
-
GYP_DEFINES="OS=ios target_arch=arm64 target_subarch=arm64" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_ios" ./gyp_libyuv
|
|
103
|
-
ninja -j7 -C out_ios/Debug-iphoneos libyuv_unittest
|
|
104
|
-
ninja -j7 -C out_ios/Release-iphoneos libyuv_unittest
|
|
105
|
-
|
|
106
|
-
both armv7 and arm64 (fat)
|
|
107
|
-
|
|
108
|
-
GYP_DEFINES="OS=ios target_arch=armv7 target_subarch=both" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_ios" ./gyp_libyuv
|
|
109
|
-
ninja -j7 -C out_ios/Debug-iphoneos libyuv_unittest
|
|
110
|
-
ninja -j7 -C out_ios/Release-iphoneos libyuv_unittest
|
|
111
|
-
|
|
112
|
-
simulator
|
|
113
|
-
|
|
114
|
-
GYP_DEFINES="OS=ios target_arch=ia32 target_subarch=arm32" GYP_CROSSCOMPILE=1 GYP_GENERATOR_FLAGS="output_dir=out_sim" ./gyp_libyuv
|
|
115
|
-
ninja -j7 -C out_sim/Debug-iphonesimulator libyuv_unittest
|
|
116
|
-
ninja -j7 -C out_sim/Release-iphonesimulator libyuv_unittest
|
|
117
|
-
|
|
118
|
-
### Android
|
|
119
|
-
https://code.google.com/p/chromium/wiki/AndroidBuildInstructions
|
|
120
|
-
|
|
121
|
-
Add to .gclient last line: `target_os=['android'];`
|
|
122
|
-
|
|
123
|
-
armv7
|
|
124
|
-
|
|
125
|
-
GYP_DEFINES="OS=android" GYP_CROSSCOMPILE=1 ./gyp_libyuv
|
|
126
|
-
ninja -j7 -C out/Debug yuv_unittest_apk
|
|
127
|
-
ninja -j7 -C out/Release yuv_unittest_apk
|
|
128
|
-
|
|
129
|
-
arm64
|
|
130
|
-
|
|
131
|
-
GYP_DEFINES="OS=android target_arch=arm64 target_subarch=arm64" GYP_CROSSCOMPILE=1 ./gyp_libyuv
|
|
132
|
-
ninja -j7 -C out/Debug yuv_unittest_apk
|
|
133
|
-
ninja -j7 -C out/Release yuv_unittest_apk
|
|
134
|
-
|
|
135
|
-
ia32
|
|
136
|
-
|
|
137
|
-
GYP_DEFINES="OS=android target_arch=ia32" GYP_CROSSCOMPILE=1 ./gyp_libyuv
|
|
138
|
-
ninja -j7 -C out/Debug yuv_unittest_apk
|
|
139
|
-
ninja -j7 -C out/Release yuv_unittest_apk
|
|
140
|
-
|
|
141
|
-
GYP_DEFINES="OS=android target_arch=ia32 android_full_debug=1" GYP_CROSSCOMPILE=1 ./gyp_libyuv
|
|
142
|
-
ninja -j7 -C out/Debug yuv_unittest_apk
|
|
143
|
-
|
|
144
|
-
arm32 disassembly:
|
|
145
|
-
|
|
146
|
-
llvm-objdump -d out/Release/obj/source/libyuv.row_neon.o
|
|
147
|
-
|
|
148
|
-
arm64 disassembly:
|
|
149
|
-
|
|
150
|
-
llvm-objdump -d out/Release/obj/source/libyuv.row_neon64.o
|
|
151
|
-
|
|
152
|
-
Running tests:
|
|
153
|
-
|
|
154
|
-
build/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose --release --gtest_filter=*
|
|
155
|
-
|
|
156
|
-
Running test as benchmark:
|
|
157
|
-
|
|
158
|
-
build/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose --release --gtest_filter=* -a "--libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=-1"
|
|
159
|
-
|
|
160
|
-
Running test with C code:
|
|
161
|
-
|
|
162
|
-
build/android/test_runner.py gtest -s libyuv_unittest -t 7200 --verbose --release --gtest_filter=* -a "--libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=999 --libyuv_flags=1 --libyuv_cpu_info=1"
|
|
163
|
-
|
|
164
|
-
#### Building with GN
|
|
165
|
-
|
|
166
|
-
gn gen out/Release "--args=is_debug=false target_cpu=\"x86\""
|
|
167
|
-
gn gen out/Debug "--args=is_debug=true target_cpu=\"x86\""
|
|
168
|
-
ninja -C out/Release
|
|
169
|
-
ninja -C out/Debug
|
|
170
|
-
|
|
171
|
-
### Building Offical with GN
|
|
172
|
-
|
|
173
|
-
gn gen out/Official "--args=is_debug=false is_official_build=true is_chrome_branded=true"
|
|
174
|
-
ninja -C out/Official
|
|
175
|
-
|
|
176
|
-
### Linux
|
|
177
|
-
|
|
178
|
-
GYP_DEFINES="target_arch=x64" ./gyp_libyuv
|
|
179
|
-
ninja -j7 -C out/Debug
|
|
180
|
-
ninja -j7 -C out/Release
|
|
181
|
-
|
|
182
|
-
GYP_DEFINES="target_arch=ia32" ./gyp_libyuv
|
|
183
|
-
ninja -j7 -C out/Debug
|
|
184
|
-
ninja -j7 -C out/Release
|
|
185
|
-
|
|
186
|
-
#### CentOS
|
|
187
|
-
|
|
188
|
-
On CentOS 32 bit the following work around allows a sync:
|
|
189
|
-
|
|
190
|
-
export GYP_DEFINES="host_arch=ia32"
|
|
191
|
-
gclient sync
|
|
192
|
-
|
|
193
|
-
### Windows Shared Library
|
|
194
|
-
|
|
195
|
-
Modify libyuv.gyp from 'static_library' to 'shared_library', and add 'LIBYUV_BUILDING_SHARED_LIBRARY' to 'defines'.
|
|
196
|
-
|
|
197
|
-
gclient runhooks
|
|
198
|
-
|
|
199
|
-
After this command follow the building the library instructions above.
|
|
200
|
-
|
|
201
|
-
If you get a compile error for atlthunk.lib on Windows, read http://www.chromium.org/developers/how-tos/build-instructions-windows
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
### Build targets
|
|
205
|
-
|
|
206
|
-
ninja -C out/Debug libyuv
|
|
207
|
-
ninja -C out/Debug libyuv_unittest
|
|
208
|
-
ninja -C out/Debug compare
|
|
209
|
-
ninja -C out/Debug yuvconvert
|
|
210
|
-
ninja -C out/Debug yuvconstants
|
|
211
|
-
ninja -C out/Debug psnr
|
|
212
|
-
ninja -C out/Debug cpuid
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
## Building the Library with make
|
|
216
|
-
|
|
217
|
-
### Linux
|
|
218
|
-
|
|
219
|
-
make -j7 V=1 -f linux.mk
|
|
220
|
-
make -j7 V=1 -f linux.mk clean
|
|
221
|
-
make -j7 V=1 -f linux.mk CXX=clang++
|
|
222
|
-
|
|
223
|
-
## Building the Library with cmake
|
|
224
|
-
|
|
225
|
-
Install cmake: http://www.cmake.org/
|
|
226
|
-
|
|
227
|
-
Default debug build:
|
|
228
|
-
|
|
229
|
-
mkdir out
|
|
230
|
-
cd out
|
|
231
|
-
cmake ..
|
|
232
|
-
cmake --build .
|
|
233
|
-
|
|
234
|
-
Release build/install
|
|
235
|
-
|
|
236
|
-
mkdir out
|
|
237
|
-
cd out
|
|
238
|
-
cmake -DCMAKE_INSTALL_PREFIX="/usr/lib" -DCMAKE_BUILD_TYPE="Release" ..
|
|
239
|
-
cmake --build . --config Release
|
|
240
|
-
sudo cmake --build . --target install --config Release
|
|
241
|
-
|
|
242
|
-
### Windows 8 Phone
|
|
243
|
-
|
|
244
|
-
Pre-requisite:
|
|
245
|
-
|
|
246
|
-
* Install Visual Studio 2012 and Arm to your environment.<br>
|
|
247
|
-
|
|
248
|
-
Then:
|
|
249
|
-
|
|
250
|
-
call "c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_arm\vcvarsx86_arm.bat"
|
|
251
|
-
|
|
252
|
-
or with Visual Studio 2013:
|
|
253
|
-
|
|
254
|
-
call "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_arm\vcvarsx86_arm.bat"
|
|
255
|
-
nmake /f winarm.mk clean
|
|
256
|
-
nmake /f winarm.mk
|
|
257
|
-
|
|
258
|
-
### Windows Shared Library
|
|
259
|
-
|
|
260
|
-
Modify libyuv.gyp from 'static_library' to 'shared_library', and add 'LIBYUV_BUILDING_SHARED_LIBRARY' to 'defines'. Then run this.
|
|
261
|
-
|
|
262
|
-
gclient runhooks
|
|
263
|
-
|
|
264
|
-
After this command follow the building the library instructions above.
|
|
265
|
-
|
|
266
|
-
If you get a compile error for atlthunk.lib on Windows, read http://www.chromium.org/developers/how-tos/build-instructions-windows
|
|
267
|
-
|
|
268
|
-
### 64 bit Windows
|
|
269
|
-
|
|
270
|
-
set GYP_DEFINES=target_arch=x64
|
|
271
|
-
gclient runhooks V=1
|
|
272
|
-
|
|
273
|
-
### ARM Linux
|
|
274
|
-
|
|
275
|
-
export GYP_DEFINES="target_arch=arm"
|
|
276
|
-
export CROSSTOOL=`<path>`/arm-none-linux-gnueabi
|
|
277
|
-
export CXX=$CROSSTOOL-g++
|
|
278
|
-
export CC=$CROSSTOOL-gcc
|
|
279
|
-
export AR=$CROSSTOOL-ar
|
|
280
|
-
export AS=$CROSSTOOL-as
|
|
281
|
-
export RANLIB=$CROSSTOOL-ranlib
|
|
282
|
-
gclient runhooks
|
|
283
|
-
|
|
284
|
-
## Running Unittests
|
|
285
|
-
|
|
286
|
-
### Windows
|
|
287
|
-
|
|
288
|
-
out\Release\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter="*"
|
|
289
|
-
|
|
290
|
-
### OSX
|
|
291
|
-
|
|
292
|
-
out/Release/libyuv_unittest --gtest_filter="*"
|
|
293
|
-
|
|
294
|
-
### Linux
|
|
295
|
-
|
|
296
|
-
out/Release/libyuv_unittest --gtest_filter="*"
|
|
297
|
-
|
|
298
|
-
Replace --gtest_filter="*" with specific unittest to run. May include wildcards. e.g.
|
|
299
|
-
|
|
300
|
-
out/Release/libyuv_unittest --gtest_filter=libyuvTest.I420ToARGB_Opt
|
|
301
|
-
|
|
302
|
-
## CPU Emulator tools
|
|
303
|
-
|
|
304
|
-
### Intel SDE (Software Development Emulator)
|
|
305
|
-
|
|
306
|
-
Pre-requisite: Install IntelSDE for Windows: http://software.intel.com/en-us/articles/intel-software-development-emulator
|
|
307
|
-
|
|
308
|
-
Then run:
|
|
309
|
-
|
|
310
|
-
c:\intelsde\sde -hsw -- out\release\libyuv_unittest.exe --gtest_filter=*
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
## Memory tools
|
|
314
|
-
|
|
315
|
-
### Running Dr Memory memcheck for Windows
|
|
316
|
-
|
|
317
|
-
Pre-requisite: Install Dr Memory for Windows and add it to your path: http://www.drmemory.org/docs/page_install_windows.html
|
|
318
|
-
|
|
319
|
-
set GYP_DEFINES=build_for_tool=drmemory target_arch=ia32
|
|
320
|
-
call python gyp_libyuv -fninja -G msvs_version=2013
|
|
321
|
-
ninja -C out\Debug
|
|
322
|
-
drmemory out\Debug\libyuv_unittest.exe --gtest_catch_exceptions=0 --gtest_filter=*
|
|
323
|
-
|
|
324
|
-
### Running UBSan
|
|
325
|
-
|
|
326
|
-
See Chromium instructions for sanitizers: https://www.chromium.org/developers/testing/undefinedbehaviorsanitizer
|
|
327
|
-
|
|
328
|
-
Sanitizers available: TSan, MSan, ASan, UBSan, LSan
|
|
329
|
-
|
|
330
|
-
GYP_DEFINES='ubsan=1' gclient runhooks
|
|
331
|
-
ninja -C out/Release
|
|
332
|
-
|
|
333
|
-
### Running Valgrind memcheck
|
|
334
|
-
|
|
335
|
-
Memory errors and race conditions can be found by running tests under special memory tools. [Valgrind] [1] is an instrumentation framework for building dynamic analysis tools. Various tests and profilers are built upon it to find memory handling errors and memory leaks, for instance.
|
|
336
|
-
|
|
337
|
-
[1]: http://valgrind.org
|
|
338
|
-
|
|
339
|
-
solutions = [
|
|
340
|
-
{ "name" : "libyuv",
|
|
341
|
-
"url" : "https://chromium.googlesource.com/libyuv/libyuv",
|
|
342
|
-
"deps_file" : "DEPS",
|
|
343
|
-
"managed" : True,
|
|
344
|
-
"custom_deps" : {
|
|
345
|
-
"libyuv/chromium/src/third_party/valgrind": "https://chromium.googlesource.com/chromium/deps/valgrind/binaries",
|
|
346
|
-
},
|
|
347
|
-
"safesync_url": "",
|
|
348
|
-
},
|
|
349
|
-
]
|
|
350
|
-
|
|
351
|
-
Then run:
|
|
352
|
-
|
|
353
|
-
GYP_DEFINES="clang=0 target_arch=x64 build_for_tool=memcheck" python gyp_libyuv
|
|
354
|
-
ninja -C out/Debug
|
|
355
|
-
valgrind out/Debug/libyuv_unittest
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
For more information, see http://www.chromium.org/developers/how-tos/using-valgrind
|
|
359
|
-
|
|
360
|
-
### Running Thread Sanitizer (TSan)
|
|
361
|
-
|
|
362
|
-
GYP_DEFINES="clang=0 target_arch=x64 build_for_tool=tsan" python gyp_libyuv
|
|
363
|
-
ninja -C out/Debug
|
|
364
|
-
valgrind out/Debug/libyuv_unittest
|
|
365
|
-
|
|
366
|
-
For more info, see http://www.chromium.org/developers/how-tos/using-valgrind/threadsanitizer
|
|
367
|
-
|
|
368
|
-
### Running Address Sanitizer (ASan)
|
|
369
|
-
|
|
370
|
-
GYP_DEFINES="clang=0 target_arch=x64 build_for_tool=asan" python gyp_libyuv
|
|
371
|
-
ninja -C out/Debug
|
|
372
|
-
valgrind out/Debug/libyuv_unittest
|
|
373
|
-
|
|
374
|
-
For more info, see http://dev.chromium.org/developers/testing/addresssanitizer
|
|
375
|
-
|
|
376
|
-
## Benchmarking
|
|
377
|
-
|
|
378
|
-
The unittests can be used to benchmark.
|
|
379
|
-
|
|
380
|
-
### Windows
|
|
381
|
-
|
|
382
|
-
set LIBYUV_WIDTH=1280
|
|
383
|
-
set LIBYUV_HEIGHT=720
|
|
384
|
-
set LIBYUV_REPEAT=999
|
|
385
|
-
set LIBYUV_FLAGS=-1
|
|
386
|
-
out\Release\libyuv_unittest.exe --gtest_filter=*I420ToARGB_Opt
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
### Linux and Mac
|
|
390
|
-
|
|
391
|
-
LIBYUV_WIDTH=1280 LIBYUV_HEIGHT=720 LIBYUV_REPEAT=1000 out/Release/libyuv_unittest --gtest_filter=*I420ToARGB_Opt
|
|
392
|
-
|
|
393
|
-
libyuvTest.I420ToARGB_Opt (547 ms)
|
|
394
|
-
|
|
395
|
-
Indicates 0.547 ms/frame for 1280 x 720.
|
|
396
|
-
|
|
397
|
-
## Making a change
|
|
398
|
-
|
|
399
|
-
gclient sync
|
|
400
|
-
git checkout -b mycl -t origin/master
|
|
401
|
-
git pull
|
|
402
|
-
<edit files>
|
|
403
|
-
git add -u
|
|
404
|
-
git commit -m "my change"
|
|
405
|
-
git cl lint
|
|
406
|
-
git cl try
|
|
407
|
-
git cl upload -r a-reviewer@chomium.org -s
|
|
408
|
-
<once approved..>
|
|
409
|
-
git cl land
|