react-native-vision-camera-spoof-detector 1.0.21 → 1.0.23
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/.gitattributes +2 -0
- package/.gitignore +27 -0
- package/CHANGELOG.md +2 -2
- package/CONTRIBUTING.md +2 -2
- package/README.md +442 -443
- package/android/build.gradle +12 -4
- package/android/src/main/cpp/CMakeLists.txt +101 -94
- package/android/src/main/cpp/libyuv/.clang-format +6 -6
- package/android/src/main/cpp/libyuv/.gn +40 -40
- package/android/src/main/cpp/libyuv/.vpython3 +410 -410
- package/android/src/main/cpp/libyuv/AUTHORS +7 -7
- package/android/src/main/cpp/libyuv/Android.bp +202 -202
- package/android/src/main/cpp/libyuv/Android.mk +106 -106
- package/android/src/main/cpp/libyuv/BUILD.gn +490 -490
- package/android/src/main/cpp/libyuv/CM_linux_packages.cmake +70 -70
- package/android/src/main/cpp/libyuv/CMakeLists.txt +259 -252
- package/android/src/main/cpp/libyuv/DEPS +935 -935
- package/android/src/main/cpp/libyuv/DIR_METADATA +3 -3
- package/android/src/main/cpp/libyuv/LICENSE +29 -29
- package/android/src/main/cpp/libyuv/OWNERS +11 -11
- package/android/src/main/cpp/libyuv/PATENTS +23 -23
- package/android/src/main/cpp/libyuv/PRESUBMIT.py +65 -65
- package/android/src/main/cpp/libyuv/README.chromium +11 -11
- package/android/src/main/cpp/libyuv/README.md +19 -19
- package/android/src/main/cpp/libyuv/build_overrides/build.gni +60 -60
- package/android/src/main/cpp/libyuv/build_overrides/gtest.gni +19 -19
- package/android/src/main/cpp/libyuv/build_overrides/partition_alloc.gni +17 -17
- package/android/src/main/cpp/libyuv/codereview.settings +5 -5
- package/android/src/main/cpp/libyuv/docs/deprecated_builds.md +409 -409
- package/android/src/main/cpp/libyuv/docs/environment_variables.md +64 -64
- package/android/src/main/cpp/libyuv/docs/feature_detection.md +108 -108
- package/android/src/main/cpp/libyuv/docs/filtering.md +196 -196
- package/android/src/main/cpp/libyuv/docs/formats.md +208 -208
- package/android/src/main/cpp/libyuv/docs/getting_started.md +296 -296
- package/android/src/main/cpp/libyuv/docs/rotation.md +107 -107
- package/android/src/main/cpp/libyuv/download_vs_toolchain.py +29 -29
- package/android/src/main/cpp/libyuv/include/libyuv/basic_types.h +68 -68
- package/android/src/main/cpp/libyuv/include/libyuv/compare.h +111 -111
- package/android/src/main/cpp/libyuv/include/libyuv/compare_row.h +112 -112
- package/android/src/main/cpp/libyuv/include/libyuv/convert.h +1117 -1117
- package/android/src/main/cpp/libyuv/include/libyuv/convert_argb.h +2335 -2335
- package/android/src/main/cpp/libyuv/include/libyuv/convert_from.h +203 -203
- package/android/src/main/cpp/libyuv/include/libyuv/convert_from_argb.h +394 -394
- package/android/src/main/cpp/libyuv/include/libyuv/cpu_id.h +147 -147
- package/android/src/main/cpp/libyuv/include/libyuv/cpu_support.h +99 -99
- package/android/src/main/cpp/libyuv/include/libyuv/loongson_intrinsics.h +1949 -1949
- package/android/src/main/cpp/libyuv/include/libyuv/mjpeg_decoder.h +195 -195
- package/android/src/main/cpp/libyuv/include/libyuv/planar_functions.h +1131 -1131
- package/android/src/main/cpp/libyuv/include/libyuv/rotate.h +296 -296
- package/android/src/main/cpp/libyuv/include/libyuv/rotate_argb.h +37 -37
- package/android/src/main/cpp/libyuv/include/libyuv/rotate_row.h +265 -265
- package/android/src/main/cpp/libyuv/include/libyuv/row.h +6738 -6738
- package/android/src/main/cpp/libyuv/include/libyuv/row_sve.h +2154 -2154
- package/android/src/main/cpp/libyuv/include/libyuv/scale.h +336 -336
- package/android/src/main/cpp/libyuv/include/libyuv/scale_argb.h +76 -76
- package/android/src/main/cpp/libyuv/include/libyuv/scale_rgb.h +42 -42
- package/android/src/main/cpp/libyuv/include/libyuv/scale_row.h +1726 -1726
- package/android/src/main/cpp/libyuv/include/libyuv/scale_uv.h +51 -51
- package/android/src/main/cpp/libyuv/include/libyuv/version.h +16 -16
- package/android/src/main/cpp/libyuv/include/libyuv/video_common.h +222 -222
- package/android/src/main/cpp/libyuv/include/libyuv.h +33 -33
- package/android/src/main/cpp/libyuv/infra/config/OWNERS +3 -3
- package/android/src/main/cpp/libyuv/infra/config/PRESUBMIT.py +17 -17
- package/android/src/main/cpp/libyuv/infra/config/README.md +2 -2
- package/android/src/main/cpp/libyuv/infra/config/codereview.settings +6 -6
- package/android/src/main/cpp/libyuv/infra/config/commit-queue.cfg +144 -144
- package/android/src/main/cpp/libyuv/infra/config/cr-buildbucket.cfg +1185 -1185
- package/android/src/main/cpp/libyuv/infra/config/luci-logdog.cfg +9 -9
- package/android/src/main/cpp/libyuv/infra/config/luci-milo.cfg +246 -246
- package/android/src/main/cpp/libyuv/infra/config/luci-scheduler.cfg +385 -385
- package/android/src/main/cpp/libyuv/infra/config/main.star +402 -402
- package/android/src/main/cpp/libyuv/infra/config/project.cfg +16 -16
- package/android/src/main/cpp/libyuv/infra/config/realms.cfg +111 -111
- package/android/src/main/cpp/libyuv/libyuv.gni +34 -34
- package/android/src/main/cpp/libyuv/libyuv.gyp +149 -149
- package/android/src/main/cpp/libyuv/libyuv.gypi +87 -87
- package/android/src/main/cpp/libyuv/linux.mk +96 -96
- package/android/src/main/cpp/libyuv/public.mk +13 -13
- package/android/src/main/cpp/libyuv/pylintrc +49 -49
- package/android/src/main/cpp/libyuv/riscv_script/prepare_toolchain_qemu.sh +74 -74
- package/android/src/main/cpp/libyuv/riscv_script/riscv-clang.cmake +56 -56
- package/android/src/main/cpp/libyuv/riscv_script/run_qemu.sh +15 -15
- package/android/src/main/cpp/libyuv/source/compare.cc +435 -435
- package/android/src/main/cpp/libyuv/source/compare_common.cc +74 -74
- package/android/src/main/cpp/libyuv/source/compare_gcc.cc +362 -362
- package/android/src/main/cpp/libyuv/source/compare_neon.cc +96 -96
- package/android/src/main/cpp/libyuv/source/compare_neon64.cc +223 -223
- package/android/src/main/cpp/libyuv/source/compare_win.cc +241 -241
- package/android/src/main/cpp/libyuv/source/convert.cc +4746 -4746
- package/android/src/main/cpp/libyuv/source/convert_argb.cc +9179 -9179
- package/android/src/main/cpp/libyuv/source/convert_from.cc +866 -866
- package/android/src/main/cpp/libyuv/source/convert_from_argb.cc +3671 -3671
- package/android/src/main/cpp/libyuv/source/convert_jpeg.cc +602 -602
- package/android/src/main/cpp/libyuv/source/convert_to_argb.cc +391 -391
- package/android/src/main/cpp/libyuv/source/convert_to_i420.cc +288 -288
- package/android/src/main/cpp/libyuv/source/cpu_id.cc +496 -496
- package/android/src/main/cpp/libyuv/source/mjpeg_decoder.cc +580 -580
- package/android/src/main/cpp/libyuv/source/mjpeg_validate.cc +71 -71
- package/android/src/main/cpp/libyuv/source/planar_functions.cc +5663 -5663
- package/android/src/main/cpp/libyuv/source/rotate.cc +1241 -1241
- package/android/src/main/cpp/libyuv/source/rotate_any.cc +76 -76
- package/android/src/main/cpp/libyuv/source/rotate_argb.cc +259 -259
- package/android/src/main/cpp/libyuv/source/rotate_common.cc +208 -208
- package/android/src/main/cpp/libyuv/source/rotate_gcc.cc +505 -505
- package/android/src/main/cpp/libyuv/source/rotate_lsx.cc +233 -233
- package/android/src/main/cpp/libyuv/source/rotate_neon.cc +219 -219
- package/android/src/main/cpp/libyuv/source/rotate_neon64.cc +273 -273
- package/android/src/main/cpp/libyuv/source/rotate_sme.cc +174 -174
- package/android/src/main/cpp/libyuv/source/rotate_win.cc +253 -253
- package/android/src/main/cpp/libyuv/source/row_any.cc +2519 -2519
- package/android/src/main/cpp/libyuv/source/row_common.cc +4461 -4461
- package/android/src/main/cpp/libyuv/source/row_gcc.cc +9570 -9570
- package/android/src/main/cpp/libyuv/source/row_lasx.cc +2343 -2343
- package/android/src/main/cpp/libyuv/source/row_lsx.cc +3030 -3030
- package/android/src/main/cpp/libyuv/source/row_neon.cc +4026 -4026
- package/android/src/main/cpp/libyuv/source/row_neon64.cc +5617 -5617
- package/android/src/main/cpp/libyuv/source/row_rvv.cc +2599 -2599
- package/android/src/main/cpp/libyuv/source/row_sme.cc +1183 -1183
- package/android/src/main/cpp/libyuv/source/row_sve.cc +1088 -1088
- package/android/src/main/cpp/libyuv/source/row_win.cc +6453 -6453
- package/android/src/main/cpp/libyuv/source/scale.cc +2710 -2710
- package/android/src/main/cpp/libyuv/source/scale_any.cc +991 -991
- package/android/src/main/cpp/libyuv/source/scale_argb.cc +1158 -1158
- package/android/src/main/cpp/libyuv/source/scale_common.cc +1977 -1977
- package/android/src/main/cpp/libyuv/source/scale_gcc.cc +2947 -2947
- package/android/src/main/cpp/libyuv/source/scale_lsx.cc +739 -739
- package/android/src/main/cpp/libyuv/source/scale_neon.cc +1449 -1449
- package/android/src/main/cpp/libyuv/source/scale_neon64.cc +1552 -1552
- package/android/src/main/cpp/libyuv/source/scale_rgb.cc +82 -82
- package/android/src/main/cpp/libyuv/source/scale_rvv.cc +1971 -1971
- package/android/src/main/cpp/libyuv/source/scale_sme.cc +555 -555
- package/android/src/main/cpp/libyuv/source/scale_uv.cc +1159 -1159
- package/android/src/main/cpp/libyuv/source/scale_win.cc +1392 -1392
- package/android/src/main/cpp/libyuv/source/test.sh +35 -35
- package/android/src/main/cpp/libyuv/source/video_common.cc +62 -62
- package/android/src/main/cpp/libyuv/tools_libyuv/OWNERS +4 -4
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/roll_deps.py +931 -931
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/roll_deps_test.py +164 -164
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS +21 -21
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.new +13 -13
- package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old +13 -13
- package/android/src/main/cpp/libyuv/tools_libyuv/get_landmines.py +38 -38
- package/android/src/main/cpp/libyuv/tools_libyuv/msan/OWNERS +3 -3
- package/android/src/main/cpp/libyuv/tools_libyuv/msan/blacklist.txt +9 -9
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/OWNERS +3 -3
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/blacklist.txt +15 -15
- package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/vptr_blacklist.txt +25 -25
- package/android/src/main/cpp/libyuv/unit_test/basictypes_test.cc +43 -43
- package/android/src/main/cpp/libyuv/unit_test/color_test.cc +848 -848
- package/android/src/main/cpp/libyuv/unit_test/compare_test.cc +739 -739
- package/android/src/main/cpp/libyuv/unit_test/convert_argb_test.cc +2867 -2867
- package/android/src/main/cpp/libyuv/unit_test/convert_test.cc +2133 -2133
- package/android/src/main/cpp/libyuv/unit_test/cpu_test.cc +427 -427
- package/android/src/main/cpp/libyuv/unit_test/cpu_thread_test.cc +63 -63
- package/android/src/main/cpp/libyuv/unit_test/math_test.cc +160 -160
- package/android/src/main/cpp/libyuv/unit_test/planar_test.cc +4731 -4731
- package/android/src/main/cpp/libyuv/unit_test/rotate_argb_test.cc +334 -334
- package/android/src/main/cpp/libyuv/unit_test/rotate_test.cc +962 -962
- package/android/src/main/cpp/libyuv/unit_test/scale_argb_test.cc +590 -590
- package/android/src/main/cpp/libyuv/unit_test/scale_plane_test.cc +465 -465
- package/android/src/main/cpp/libyuv/unit_test/scale_rgb_test.cc +280 -280
- package/android/src/main/cpp/libyuv/unit_test/scale_test.cc +1135 -1135
- package/android/src/main/cpp/libyuv/unit_test/scale_uv_test.cc +249 -249
- package/android/src/main/cpp/libyuv/unit_test/testdata/arm_v7.txt +12 -12
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips.txt +7 -7
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson2k.txt +5 -5
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson3.txt +10 -10
- package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson_mmi.txt +7 -7
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64.txt +3 -3
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv.txt +3 -3
- package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv_zvfh.txt +3 -3
- package/android/src/main/cpp/libyuv/unit_test/testdata/tegra3.txt +23 -23
- package/android/src/main/cpp/libyuv/unit_test/unit_test.cc +581 -581
- package/android/src/main/cpp/libyuv/unit_test/unit_test.h +232 -232
- package/android/src/main/cpp/libyuv/unit_test/video_common_test.cc +112 -112
- package/android/src/main/cpp/libyuv/util/Makefile +9 -9
- package/android/src/main/cpp/libyuv/util/color.cc +120 -120
- package/android/src/main/cpp/libyuv/util/compare.cc +67 -67
- package/android/src/main/cpp/libyuv/util/cpuid.c +211 -211
- package/android/src/main/cpp/libyuv/util/i444tonv12_eg.cc +27 -27
- package/android/src/main/cpp/libyuv/util/psnr.cc +291 -291
- package/android/src/main/cpp/libyuv/util/psnr.h +47 -47
- package/android/src/main/cpp/libyuv/util/psnr_main.cc +620 -620
- package/android/src/main/cpp/libyuv/util/ssim.cc +364 -364
- package/android/src/main/cpp/libyuv/util/ssim.h +38 -38
- package/android/src/main/cpp/libyuv/util/yuvconstants.c +114 -114
- package/android/src/main/cpp/libyuv/util/yuvconvert.cc +367 -367
- package/android/src/main/cpp/libyuv/winarm.mk +47 -47
- package/package.json +86 -84
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# Copyright 2014 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
|
-
{
|
|
10
|
-
'variables': {
|
|
11
|
-
'libyuv_sources': [
|
|
12
|
-
# includes.
|
|
13
|
-
'include/libyuv.h',
|
|
14
|
-
'include/libyuv/basic_types.h',
|
|
15
|
-
'include/libyuv/compare.h',
|
|
16
|
-
'include/libyuv/compare_row.h',
|
|
17
|
-
'include/libyuv/convert.h',
|
|
18
|
-
'include/libyuv/convert_argb.h',
|
|
19
|
-
'include/libyuv/convert_from.h',
|
|
20
|
-
'include/libyuv/convert_from_argb.h',
|
|
21
|
-
'include/libyuv/cpu_id.h',
|
|
22
|
-
'include/libyuv/cpu_support.h',
|
|
23
|
-
'include/libyuv/loongson_intrinsics.h',
|
|
24
|
-
'include/libyuv/mjpeg_decoder.h',
|
|
25
|
-
'include/libyuv/planar_functions.h',
|
|
26
|
-
'include/libyuv/rotate.h',
|
|
27
|
-
'include/libyuv/rotate_argb.h',
|
|
28
|
-
'include/libyuv/rotate_row.h',
|
|
29
|
-
'include/libyuv/row.h',
|
|
30
|
-
'include/libyuv/scale.h',
|
|
31
|
-
'include/libyuv/scale_argb.h',
|
|
32
|
-
'include/libyuv/scale_rgb.h',
|
|
33
|
-
'include/libyuv/scale_row.h',
|
|
34
|
-
'include/libyuv/scale_uv.h',
|
|
35
|
-
'include/libyuv/version.h',
|
|
36
|
-
'include/libyuv/video_common.h',
|
|
37
|
-
|
|
38
|
-
# sources.
|
|
39
|
-
'source/compare.cc',
|
|
40
|
-
'source/compare_common.cc',
|
|
41
|
-
'source/compare_gcc.cc',
|
|
42
|
-
'source/compare_neon.cc',
|
|
43
|
-
'source/compare_neon64.cc',
|
|
44
|
-
'source/compare_win.cc',
|
|
45
|
-
'source/convert.cc',
|
|
46
|
-
'source/convert_argb.cc',
|
|
47
|
-
'source/convert_from.cc',
|
|
48
|
-
'source/convert_from_argb.cc',
|
|
49
|
-
'source/convert_jpeg.cc',
|
|
50
|
-
'source/convert_to_argb.cc',
|
|
51
|
-
'source/convert_to_i420.cc',
|
|
52
|
-
'source/cpu_id.cc',
|
|
53
|
-
'source/mjpeg_decoder.cc',
|
|
54
|
-
'source/mjpeg_validate.cc',
|
|
55
|
-
'source/planar_functions.cc',
|
|
56
|
-
'source/rotate.cc',
|
|
57
|
-
'source/rotate_any.cc',
|
|
58
|
-
'source/rotate_argb.cc',
|
|
59
|
-
'source/rotate_common.cc',
|
|
60
|
-
'source/rotate_gcc.cc',
|
|
61
|
-
'source/rotate_lsx.cc',
|
|
62
|
-
'source/rotate_neon.cc',
|
|
63
|
-
'source/rotate_neon64.cc',
|
|
64
|
-
'source/rotate_win.cc',
|
|
65
|
-
'source/row_any.cc',
|
|
66
|
-
'source/row_common.cc',
|
|
67
|
-
'source/row_gcc.cc',
|
|
68
|
-
'source/row_lasx.cc',
|
|
69
|
-
'source/row_lsx.cc',
|
|
70
|
-
'source/row_neon.cc',
|
|
71
|
-
'source/row_neon64.cc',
|
|
72
|
-
'source/row_win.cc',
|
|
73
|
-
'source/scale.cc',
|
|
74
|
-
'source/scale_any.cc',
|
|
75
|
-
'source/scale_argb.cc',
|
|
76
|
-
'source/scale_common.cc',
|
|
77
|
-
'source/scale_gcc.cc',
|
|
78
|
-
'source/scale_lsx.cc',
|
|
79
|
-
'source/scale_neon.cc',
|
|
80
|
-
'source/scale_neon64.cc',
|
|
81
|
-
'source/scale_rgb.cc',
|
|
82
|
-
'source/scale_uv.cc',
|
|
83
|
-
'source/scale_win.cc',
|
|
84
|
-
'source/video_common.cc',
|
|
85
|
-
],
|
|
86
|
-
}
|
|
87
|
-
}
|
|
1
|
+
# Copyright 2014 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
|
+
{
|
|
10
|
+
'variables': {
|
|
11
|
+
'libyuv_sources': [
|
|
12
|
+
# includes.
|
|
13
|
+
'include/libyuv.h',
|
|
14
|
+
'include/libyuv/basic_types.h',
|
|
15
|
+
'include/libyuv/compare.h',
|
|
16
|
+
'include/libyuv/compare_row.h',
|
|
17
|
+
'include/libyuv/convert.h',
|
|
18
|
+
'include/libyuv/convert_argb.h',
|
|
19
|
+
'include/libyuv/convert_from.h',
|
|
20
|
+
'include/libyuv/convert_from_argb.h',
|
|
21
|
+
'include/libyuv/cpu_id.h',
|
|
22
|
+
'include/libyuv/cpu_support.h',
|
|
23
|
+
'include/libyuv/loongson_intrinsics.h',
|
|
24
|
+
'include/libyuv/mjpeg_decoder.h',
|
|
25
|
+
'include/libyuv/planar_functions.h',
|
|
26
|
+
'include/libyuv/rotate.h',
|
|
27
|
+
'include/libyuv/rotate_argb.h',
|
|
28
|
+
'include/libyuv/rotate_row.h',
|
|
29
|
+
'include/libyuv/row.h',
|
|
30
|
+
'include/libyuv/scale.h',
|
|
31
|
+
'include/libyuv/scale_argb.h',
|
|
32
|
+
'include/libyuv/scale_rgb.h',
|
|
33
|
+
'include/libyuv/scale_row.h',
|
|
34
|
+
'include/libyuv/scale_uv.h',
|
|
35
|
+
'include/libyuv/version.h',
|
|
36
|
+
'include/libyuv/video_common.h',
|
|
37
|
+
|
|
38
|
+
# sources.
|
|
39
|
+
'source/compare.cc',
|
|
40
|
+
'source/compare_common.cc',
|
|
41
|
+
'source/compare_gcc.cc',
|
|
42
|
+
'source/compare_neon.cc',
|
|
43
|
+
'source/compare_neon64.cc',
|
|
44
|
+
'source/compare_win.cc',
|
|
45
|
+
'source/convert.cc',
|
|
46
|
+
'source/convert_argb.cc',
|
|
47
|
+
'source/convert_from.cc',
|
|
48
|
+
'source/convert_from_argb.cc',
|
|
49
|
+
'source/convert_jpeg.cc',
|
|
50
|
+
'source/convert_to_argb.cc',
|
|
51
|
+
'source/convert_to_i420.cc',
|
|
52
|
+
'source/cpu_id.cc',
|
|
53
|
+
'source/mjpeg_decoder.cc',
|
|
54
|
+
'source/mjpeg_validate.cc',
|
|
55
|
+
'source/planar_functions.cc',
|
|
56
|
+
'source/rotate.cc',
|
|
57
|
+
'source/rotate_any.cc',
|
|
58
|
+
'source/rotate_argb.cc',
|
|
59
|
+
'source/rotate_common.cc',
|
|
60
|
+
'source/rotate_gcc.cc',
|
|
61
|
+
'source/rotate_lsx.cc',
|
|
62
|
+
'source/rotate_neon.cc',
|
|
63
|
+
'source/rotate_neon64.cc',
|
|
64
|
+
'source/rotate_win.cc',
|
|
65
|
+
'source/row_any.cc',
|
|
66
|
+
'source/row_common.cc',
|
|
67
|
+
'source/row_gcc.cc',
|
|
68
|
+
'source/row_lasx.cc',
|
|
69
|
+
'source/row_lsx.cc',
|
|
70
|
+
'source/row_neon.cc',
|
|
71
|
+
'source/row_neon64.cc',
|
|
72
|
+
'source/row_win.cc',
|
|
73
|
+
'source/scale.cc',
|
|
74
|
+
'source/scale_any.cc',
|
|
75
|
+
'source/scale_argb.cc',
|
|
76
|
+
'source/scale_common.cc',
|
|
77
|
+
'source/scale_gcc.cc',
|
|
78
|
+
'source/scale_lsx.cc',
|
|
79
|
+
'source/scale_neon.cc',
|
|
80
|
+
'source/scale_neon64.cc',
|
|
81
|
+
'source/scale_rgb.cc',
|
|
82
|
+
'source/scale_uv.cc',
|
|
83
|
+
'source/scale_win.cc',
|
|
84
|
+
'source/video_common.cc',
|
|
85
|
+
],
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
# This is a generic makefile for libyuv for gcc.
|
|
2
|
-
# make -f linux.mk CXX=clang++
|
|
3
|
-
|
|
4
|
-
CC?=gcc
|
|
5
|
-
CFLAGS?=-O2 -fomit-frame-pointer
|
|
6
|
-
CFLAGS+=-Iinclude/
|
|
7
|
-
|
|
8
|
-
CXX?=g++
|
|
9
|
-
CXXFLAGS?=-O2 -fomit-frame-pointer
|
|
10
|
-
CXXFLAGS+=-Iinclude/
|
|
11
|
-
|
|
12
|
-
LOCAL_OBJ_FILES := \
|
|
13
|
-
source/compare.o \
|
|
14
|
-
source/compare_common.o \
|
|
15
|
-
source/compare_gcc.o \
|
|
16
|
-
source/compare_neon.o \
|
|
17
|
-
source/compare_neon64.o \
|
|
18
|
-
source/compare_win.o \
|
|
19
|
-
source/convert.o \
|
|
20
|
-
source/convert_argb.o \
|
|
21
|
-
source/convert_from.o \
|
|
22
|
-
source/convert_from_argb.o \
|
|
23
|
-
source/convert_jpeg.o \
|
|
24
|
-
source/convert_to_argb.o \
|
|
25
|
-
source/convert_to_i420.o \
|
|
26
|
-
source/cpu_id.o \
|
|
27
|
-
source/mjpeg_decoder.o \
|
|
28
|
-
source/mjpeg_validate.o \
|
|
29
|
-
source/planar_functions.o \
|
|
30
|
-
source/rotate.o \
|
|
31
|
-
source/rotate_any.o \
|
|
32
|
-
source/rotate_argb.o \
|
|
33
|
-
source/rotate_common.o \
|
|
34
|
-
source/rotate_gcc.o \
|
|
35
|
-
source/rotate_lsx.o \
|
|
36
|
-
source/rotate_neon.o \
|
|
37
|
-
source/rotate_neon64.o \
|
|
38
|
-
source/rotate_win.o \
|
|
39
|
-
source/row_any.o \
|
|
40
|
-
source/row_common.o \
|
|
41
|
-
source/row_gcc.o \
|
|
42
|
-
source/row_lasx.o \
|
|
43
|
-
source/row_lsx.o \
|
|
44
|
-
source/row_neon.o \
|
|
45
|
-
source/row_neon64.o \
|
|
46
|
-
source/row_rvv.o \
|
|
47
|
-
source/row_win.o \
|
|
48
|
-
source/scale.o \
|
|
49
|
-
source/scale_any.o \
|
|
50
|
-
source/scale_argb.o \
|
|
51
|
-
source/scale_common.o \
|
|
52
|
-
source/scale_gcc.o \
|
|
53
|
-
source/scale_lsx.o \
|
|
54
|
-
source/scale_neon.o \
|
|
55
|
-
source/scale_neon64.o \
|
|
56
|
-
source/scale_rgb.o \
|
|
57
|
-
source/scale_rvv.o \
|
|
58
|
-
source/scale_uv.o \
|
|
59
|
-
source/scale_win.o \
|
|
60
|
-
source/video_common.o
|
|
61
|
-
|
|
62
|
-
.cc.o:
|
|
63
|
-
$(CXX) -c $(CXXFLAGS) $*.cc -o $*.o
|
|
64
|
-
|
|
65
|
-
.c.o:
|
|
66
|
-
$(CC) -c $(CFLAGS) $*.c -o $*.o
|
|
67
|
-
|
|
68
|
-
all: libyuv.a i444tonv12_eg yuvconvert yuvconstants cpuid psnr
|
|
69
|
-
|
|
70
|
-
libyuv.a: $(LOCAL_OBJ_FILES)
|
|
71
|
-
$(AR) $(ARFLAGS) $@ $(LOCAL_OBJ_FILES)
|
|
72
|
-
|
|
73
|
-
# A C++ test utility that uses libyuv conversion.
|
|
74
|
-
yuvconvert: util/yuvconvert.cc libyuv.a
|
|
75
|
-
$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/yuvconvert.cc libyuv.a
|
|
76
|
-
|
|
77
|
-
# A C test utility that generates yuvconstants for yuv to rgb.
|
|
78
|
-
yuvconstants: util/yuvconstants.c libyuv.a
|
|
79
|
-
$(CXX) $(CXXFLAGS) -Iutil/ -lm -o $@ util/yuvconstants.c libyuv.a
|
|
80
|
-
|
|
81
|
-
# A standalone test utility
|
|
82
|
-
psnr: util/psnr.cc
|
|
83
|
-
$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/psnr.cc util/psnr_main.cc util/ssim.cc
|
|
84
|
-
|
|
85
|
-
# A simple conversion example.
|
|
86
|
-
i444tonv12_eg: util/i444tonv12_eg.cc libyuv.a
|
|
87
|
-
$(CXX) $(CXXFLAGS) -o $@ util/i444tonv12_eg.cc libyuv.a
|
|
88
|
-
|
|
89
|
-
# A C test utility that uses libyuv conversion from C.
|
|
90
|
-
# gcc 4.4 and older require -fno-exceptions to avoid link error on __gxx_personality_v0
|
|
91
|
-
# CC=gcc-4.4 CXXFLAGS=-fno-exceptions CXX=g++-4.4 make -f linux.mk
|
|
92
|
-
cpuid: util/cpuid.c libyuv.a
|
|
93
|
-
$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
|
|
94
|
-
|
|
95
|
-
clean:
|
|
96
|
-
/bin/rm -f source/*.o *.ii *.s libyuv.a i444tonv12_eg yuvconvert yuvconstants cpuid psnr
|
|
1
|
+
# This is a generic makefile for libyuv for gcc.
|
|
2
|
+
# make -f linux.mk CXX=clang++
|
|
3
|
+
|
|
4
|
+
CC?=gcc
|
|
5
|
+
CFLAGS?=-O2 -fomit-frame-pointer
|
|
6
|
+
CFLAGS+=-Iinclude/
|
|
7
|
+
|
|
8
|
+
CXX?=g++
|
|
9
|
+
CXXFLAGS?=-O2 -fomit-frame-pointer
|
|
10
|
+
CXXFLAGS+=-Iinclude/
|
|
11
|
+
|
|
12
|
+
LOCAL_OBJ_FILES := \
|
|
13
|
+
source/compare.o \
|
|
14
|
+
source/compare_common.o \
|
|
15
|
+
source/compare_gcc.o \
|
|
16
|
+
source/compare_neon.o \
|
|
17
|
+
source/compare_neon64.o \
|
|
18
|
+
source/compare_win.o \
|
|
19
|
+
source/convert.o \
|
|
20
|
+
source/convert_argb.o \
|
|
21
|
+
source/convert_from.o \
|
|
22
|
+
source/convert_from_argb.o \
|
|
23
|
+
source/convert_jpeg.o \
|
|
24
|
+
source/convert_to_argb.o \
|
|
25
|
+
source/convert_to_i420.o \
|
|
26
|
+
source/cpu_id.o \
|
|
27
|
+
source/mjpeg_decoder.o \
|
|
28
|
+
source/mjpeg_validate.o \
|
|
29
|
+
source/planar_functions.o \
|
|
30
|
+
source/rotate.o \
|
|
31
|
+
source/rotate_any.o \
|
|
32
|
+
source/rotate_argb.o \
|
|
33
|
+
source/rotate_common.o \
|
|
34
|
+
source/rotate_gcc.o \
|
|
35
|
+
source/rotate_lsx.o \
|
|
36
|
+
source/rotate_neon.o \
|
|
37
|
+
source/rotate_neon64.o \
|
|
38
|
+
source/rotate_win.o \
|
|
39
|
+
source/row_any.o \
|
|
40
|
+
source/row_common.o \
|
|
41
|
+
source/row_gcc.o \
|
|
42
|
+
source/row_lasx.o \
|
|
43
|
+
source/row_lsx.o \
|
|
44
|
+
source/row_neon.o \
|
|
45
|
+
source/row_neon64.o \
|
|
46
|
+
source/row_rvv.o \
|
|
47
|
+
source/row_win.o \
|
|
48
|
+
source/scale.o \
|
|
49
|
+
source/scale_any.o \
|
|
50
|
+
source/scale_argb.o \
|
|
51
|
+
source/scale_common.o \
|
|
52
|
+
source/scale_gcc.o \
|
|
53
|
+
source/scale_lsx.o \
|
|
54
|
+
source/scale_neon.o \
|
|
55
|
+
source/scale_neon64.o \
|
|
56
|
+
source/scale_rgb.o \
|
|
57
|
+
source/scale_rvv.o \
|
|
58
|
+
source/scale_uv.o \
|
|
59
|
+
source/scale_win.o \
|
|
60
|
+
source/video_common.o
|
|
61
|
+
|
|
62
|
+
.cc.o:
|
|
63
|
+
$(CXX) -c $(CXXFLAGS) $*.cc -o $*.o
|
|
64
|
+
|
|
65
|
+
.c.o:
|
|
66
|
+
$(CC) -c $(CFLAGS) $*.c -o $*.o
|
|
67
|
+
|
|
68
|
+
all: libyuv.a i444tonv12_eg yuvconvert yuvconstants cpuid psnr
|
|
69
|
+
|
|
70
|
+
libyuv.a: $(LOCAL_OBJ_FILES)
|
|
71
|
+
$(AR) $(ARFLAGS) $@ $(LOCAL_OBJ_FILES)
|
|
72
|
+
|
|
73
|
+
# A C++ test utility that uses libyuv conversion.
|
|
74
|
+
yuvconvert: util/yuvconvert.cc libyuv.a
|
|
75
|
+
$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/yuvconvert.cc libyuv.a
|
|
76
|
+
|
|
77
|
+
# A C test utility that generates yuvconstants for yuv to rgb.
|
|
78
|
+
yuvconstants: util/yuvconstants.c libyuv.a
|
|
79
|
+
$(CXX) $(CXXFLAGS) -Iutil/ -lm -o $@ util/yuvconstants.c libyuv.a
|
|
80
|
+
|
|
81
|
+
# A standalone test utility
|
|
82
|
+
psnr: util/psnr.cc
|
|
83
|
+
$(CXX) $(CXXFLAGS) -Iutil/ -o $@ util/psnr.cc util/psnr_main.cc util/ssim.cc
|
|
84
|
+
|
|
85
|
+
# A simple conversion example.
|
|
86
|
+
i444tonv12_eg: util/i444tonv12_eg.cc libyuv.a
|
|
87
|
+
$(CXX) $(CXXFLAGS) -o $@ util/i444tonv12_eg.cc libyuv.a
|
|
88
|
+
|
|
89
|
+
# A C test utility that uses libyuv conversion from C.
|
|
90
|
+
# gcc 4.4 and older require -fno-exceptions to avoid link error on __gxx_personality_v0
|
|
91
|
+
# CC=gcc-4.4 CXXFLAGS=-fno-exceptions CXX=g++-4.4 make -f linux.mk
|
|
92
|
+
cpuid: util/cpuid.c libyuv.a
|
|
93
|
+
$(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
|
|
94
|
+
|
|
95
|
+
clean:
|
|
96
|
+
/bin/rm -f source/*.o *.ii *.s libyuv.a i444tonv12_eg yuvconvert yuvconstants cpuid psnr
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# This file contains all the common make variables which are useful for
|
|
2
|
-
# anyone depending on this library.
|
|
3
|
-
# Note that dependencies on NDK are not directly listed since NDK auto adds
|
|
4
|
-
# them.
|
|
5
|
-
|
|
6
|
-
LIBYUV_INCLUDES := $(LIBYUV_PATH)/include
|
|
7
|
-
|
|
8
|
-
LIBYUV_C_FLAGS :=
|
|
9
|
-
|
|
10
|
-
LIBYUV_CPP_FLAGS :=
|
|
11
|
-
|
|
12
|
-
LIBYUV_LDLIBS :=
|
|
13
|
-
LIBYUV_DEP_MODULES :=
|
|
1
|
+
# This file contains all the common make variables which are useful for
|
|
2
|
+
# anyone depending on this library.
|
|
3
|
+
# Note that dependencies on NDK are not directly listed since NDK auto adds
|
|
4
|
+
# them.
|
|
5
|
+
|
|
6
|
+
LIBYUV_INCLUDES := $(LIBYUV_PATH)/include
|
|
7
|
+
|
|
8
|
+
LIBYUV_C_FLAGS :=
|
|
9
|
+
|
|
10
|
+
LIBYUV_CPP_FLAGS :=
|
|
11
|
+
|
|
12
|
+
LIBYUV_LDLIBS :=
|
|
13
|
+
LIBYUV_DEP_MODULES :=
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
[MESSAGES CONTROL]
|
|
2
|
-
|
|
3
|
-
# Disable the message, report, category or checker with the given id(s).
|
|
4
|
-
# TODO(kjellander): Reduce this list to as small as possible.
|
|
5
|
-
disable=I0010,I0011,bad-continuation,broad-except,duplicate-code,eval-used,exec-used,fixme,invalid-name,missing-docstring,no-init,no-member,too-few-public-methods,too-many-ancestors,too-many-arguments,too-many-branches,too-many-function-args,too-many-instance-attributes,too-many-lines,too-many-locals,too-many-public-methods,too-many-return-statements,too-many-statements
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
[REPORTS]
|
|
9
|
-
|
|
10
|
-
# Don't write out full reports, just messages.
|
|
11
|
-
reports=no
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[FORMAT]
|
|
15
|
-
|
|
16
|
-
# Maximum number of characters on a single line.
|
|
17
|
-
max-line-length=79
|
|
18
|
-
|
|
19
|
-
# We use four spaces for indents.
|
|
20
|
-
indent-string=' '
|
|
21
|
-
|
|
22
|
-
[BASIC]
|
|
23
|
-
|
|
24
|
-
# List of builtins function names that should not be used, separated by a comma
|
|
25
|
-
bad-functions=map,filter,apply,input
|
|
26
|
-
|
|
27
|
-
# Naming style matching correct module names.
|
|
28
|
-
module-naming-style=snake_case
|
|
29
|
-
|
|
30
|
-
# Naming style matching correct constant names.
|
|
31
|
-
const-naming-style=UPPER_CASE
|
|
32
|
-
|
|
33
|
-
# Naming style matching correct class names.
|
|
34
|
-
class-naming-style=PascalCase
|
|
35
|
-
|
|
36
|
-
# Naming style matching correct function names.
|
|
37
|
-
function-naming-style=snake_case
|
|
38
|
-
|
|
39
|
-
# Regular expression matching correct method names.
|
|
40
|
-
method-rgx=([a-z_][a-z0-9_]{2,}|setUp|tearDown)$
|
|
41
|
-
|
|
42
|
-
# Naming style matching correct attribute names.
|
|
43
|
-
attr-naming-style=snake_case
|
|
44
|
-
|
|
45
|
-
# Naming style matching correct argument names.
|
|
46
|
-
argument-naming-style=snake_case
|
|
47
|
-
|
|
48
|
-
# Naming style matching correct variable names.
|
|
49
|
-
variable-naming-style=snake_case
|
|
1
|
+
[MESSAGES CONTROL]
|
|
2
|
+
|
|
3
|
+
# Disable the message, report, category or checker with the given id(s).
|
|
4
|
+
# TODO(kjellander): Reduce this list to as small as possible.
|
|
5
|
+
disable=I0010,I0011,bad-continuation,broad-except,duplicate-code,eval-used,exec-used,fixme,invalid-name,missing-docstring,no-init,no-member,too-few-public-methods,too-many-ancestors,too-many-arguments,too-many-branches,too-many-function-args,too-many-instance-attributes,too-many-lines,too-many-locals,too-many-public-methods,too-many-return-statements,too-many-statements
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
[REPORTS]
|
|
9
|
+
|
|
10
|
+
# Don't write out full reports, just messages.
|
|
11
|
+
reports=no
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
[FORMAT]
|
|
15
|
+
|
|
16
|
+
# Maximum number of characters on a single line.
|
|
17
|
+
max-line-length=79
|
|
18
|
+
|
|
19
|
+
# We use four spaces for indents.
|
|
20
|
+
indent-string=' '
|
|
21
|
+
|
|
22
|
+
[BASIC]
|
|
23
|
+
|
|
24
|
+
# List of builtins function names that should not be used, separated by a comma
|
|
25
|
+
bad-functions=map,filter,apply,input
|
|
26
|
+
|
|
27
|
+
# Naming style matching correct module names.
|
|
28
|
+
module-naming-style=snake_case
|
|
29
|
+
|
|
30
|
+
# Naming style matching correct constant names.
|
|
31
|
+
const-naming-style=UPPER_CASE
|
|
32
|
+
|
|
33
|
+
# Naming style matching correct class names.
|
|
34
|
+
class-naming-style=PascalCase
|
|
35
|
+
|
|
36
|
+
# Naming style matching correct function names.
|
|
37
|
+
function-naming-style=snake_case
|
|
38
|
+
|
|
39
|
+
# Regular expression matching correct method names.
|
|
40
|
+
method-rgx=([a-z_][a-z0-9_]{2,}|setUp|tearDown)$
|
|
41
|
+
|
|
42
|
+
# Naming style matching correct attribute names.
|
|
43
|
+
attr-naming-style=snake_case
|
|
44
|
+
|
|
45
|
+
# Naming style matching correct argument names.
|
|
46
|
+
argument-naming-style=snake_case
|
|
47
|
+
|
|
48
|
+
# Naming style matching correct variable names.
|
|
49
|
+
variable-naming-style=snake_case
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -ev
|
|
3
|
-
|
|
4
|
-
# Download & build RISC-V Clang toolchain & QEMU emulator.
|
|
5
|
-
# RISC-V Clang is for cross compile with the RISC-V Vector ISA.
|
|
6
|
-
# RISC-V QEMU is used to run the test suite.
|
|
7
|
-
#
|
|
8
|
-
# Requirements: Linux host w/ working C++ compiler, git, cmake, ninja, wget, tar
|
|
9
|
-
|
|
10
|
-
# NOTE: this script must be run from the top-level directory of the LIBYUV_SRC_DIR.
|
|
11
|
-
|
|
12
|
-
RISCV_TRIPLE="riscv64-unknown-linux-gnu"
|
|
13
|
-
RISCV_QEMU="qemu-riscv64"
|
|
14
|
-
|
|
15
|
-
LIBYUV_SRC_DIR=$(pwd)
|
|
16
|
-
BUILD_DIR="$LIBYUV_SRC_DIR"/build-toolchain-qemu
|
|
17
|
-
INSTALL_QEMU="$BUILD_DIR"/riscv-qemu
|
|
18
|
-
INSTALL_CLANG="$BUILD_DIR"/riscv-clang
|
|
19
|
-
|
|
20
|
-
LLVM_VERSION="16.0.0"
|
|
21
|
-
LLVM_NAME=llvm-project-"$LLVM_VERSION".src
|
|
22
|
-
|
|
23
|
-
RISCV_GNU_TOOLCHAIN="$BUILD_DIR"/riscv-gnu-toolchain
|
|
24
|
-
RISCV_CLANG_TOOLCHAIN="$BUILD_DIR"/"$LLVM_NAME"
|
|
25
|
-
|
|
26
|
-
QEMU_NAME="qemu-7.0.0"
|
|
27
|
-
|
|
28
|
-
mkdir -p "$BUILD_DIR"
|
|
29
|
-
cd "$BUILD_DIR"
|
|
30
|
-
|
|
31
|
-
# Download and install RISC-V GNU Toolchain (needed to build Clang)
|
|
32
|
-
if [ ! -d "$RISCV_GNU_TOOLCHAIN" ]
|
|
33
|
-
then
|
|
34
|
-
git clone git@github.com:riscv/riscv-gnu-toolchain.git
|
|
35
|
-
pushd "$RISCV_GNU_TOOLCHAIN"
|
|
36
|
-
git submodule update --init --recursive
|
|
37
|
-
./configure --with-cmodel=medany --prefix="$INSTALL_CLANG"
|
|
38
|
-
ionice nice make linux -j `nproc` install
|
|
39
|
-
popd
|
|
40
|
-
fi
|
|
41
|
-
|
|
42
|
-
# Download Clang toolchain & build cross compiler
|
|
43
|
-
if [ ! -d "$RISCV_CLANG_TOOLCHAIN" ]
|
|
44
|
-
then
|
|
45
|
-
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-"$LLVM_VERSION"/"$LLVM_NAME".tar.xz
|
|
46
|
-
tar xvJf "$LLVM_NAME".tar.xz
|
|
47
|
-
pushd "$RISCV_CLANG_TOOLCHAIN"
|
|
48
|
-
cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_CLANG" \
|
|
49
|
-
-DCMAKE_BUILD_TYPE=Release \
|
|
50
|
-
-DLLVM_TARGETS_TO_BUILD="RISCV" \
|
|
51
|
-
-DLLVM_ENABLE_PROJECTS="clang" \
|
|
52
|
-
-DLLVM_DEFAULT_TARGET_TRIPLE="$RISCV_TRIPLE" \
|
|
53
|
-
-DLLVM_INSTALL_TOOLCHAIN_ONLY=On \
|
|
54
|
-
-DDEFAULT_SYSROOT=../sysroot \
|
|
55
|
-
-G "Ninja" "$RISCV_CLANG_TOOLCHAIN"/llvm
|
|
56
|
-
ionice nice ninja -j `nproc`
|
|
57
|
-
ionice nice ninja -j `nproc` install
|
|
58
|
-
popd
|
|
59
|
-
pushd "$INSTALL_CLANG"/bin
|
|
60
|
-
ln -sf clang "$RISCV_TRIPLE"-clang
|
|
61
|
-
ln -sf clang++ "$RISCV_TRIPLE"-clang++
|
|
62
|
-
popd
|
|
63
|
-
fi
|
|
64
|
-
|
|
65
|
-
# Download QEMU and build the riscv64 Linux usermode emulator
|
|
66
|
-
if [ ! -d "$QEMU_NAME" ]
|
|
67
|
-
then
|
|
68
|
-
wget https://download.qemu.org/"$QEMU_NAME".tar.xz
|
|
69
|
-
tar xvJf "$QEMU_NAME".tar.xz
|
|
70
|
-
pushd "$QEMU_NAME"
|
|
71
|
-
./configure --target-list=riscv64-linux-user --prefix="$INSTALL_QEMU"
|
|
72
|
-
ionice nice make -j `nproc` install
|
|
73
|
-
popd
|
|
74
|
-
fi
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ev
|
|
3
|
+
|
|
4
|
+
# Download & build RISC-V Clang toolchain & QEMU emulator.
|
|
5
|
+
# RISC-V Clang is for cross compile with the RISC-V Vector ISA.
|
|
6
|
+
# RISC-V QEMU is used to run the test suite.
|
|
7
|
+
#
|
|
8
|
+
# Requirements: Linux host w/ working C++ compiler, git, cmake, ninja, wget, tar
|
|
9
|
+
|
|
10
|
+
# NOTE: this script must be run from the top-level directory of the LIBYUV_SRC_DIR.
|
|
11
|
+
|
|
12
|
+
RISCV_TRIPLE="riscv64-unknown-linux-gnu"
|
|
13
|
+
RISCV_QEMU="qemu-riscv64"
|
|
14
|
+
|
|
15
|
+
LIBYUV_SRC_DIR=$(pwd)
|
|
16
|
+
BUILD_DIR="$LIBYUV_SRC_DIR"/build-toolchain-qemu
|
|
17
|
+
INSTALL_QEMU="$BUILD_DIR"/riscv-qemu
|
|
18
|
+
INSTALL_CLANG="$BUILD_DIR"/riscv-clang
|
|
19
|
+
|
|
20
|
+
LLVM_VERSION="16.0.0"
|
|
21
|
+
LLVM_NAME=llvm-project-"$LLVM_VERSION".src
|
|
22
|
+
|
|
23
|
+
RISCV_GNU_TOOLCHAIN="$BUILD_DIR"/riscv-gnu-toolchain
|
|
24
|
+
RISCV_CLANG_TOOLCHAIN="$BUILD_DIR"/"$LLVM_NAME"
|
|
25
|
+
|
|
26
|
+
QEMU_NAME="qemu-7.0.0"
|
|
27
|
+
|
|
28
|
+
mkdir -p "$BUILD_DIR"
|
|
29
|
+
cd "$BUILD_DIR"
|
|
30
|
+
|
|
31
|
+
# Download and install RISC-V GNU Toolchain (needed to build Clang)
|
|
32
|
+
if [ ! -d "$RISCV_GNU_TOOLCHAIN" ]
|
|
33
|
+
then
|
|
34
|
+
git clone git@github.com:riscv/riscv-gnu-toolchain.git
|
|
35
|
+
pushd "$RISCV_GNU_TOOLCHAIN"
|
|
36
|
+
git submodule update --init --recursive
|
|
37
|
+
./configure --with-cmodel=medany --prefix="$INSTALL_CLANG"
|
|
38
|
+
ionice nice make linux -j `nproc` install
|
|
39
|
+
popd
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Download Clang toolchain & build cross compiler
|
|
43
|
+
if [ ! -d "$RISCV_CLANG_TOOLCHAIN" ]
|
|
44
|
+
then
|
|
45
|
+
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-"$LLVM_VERSION"/"$LLVM_NAME".tar.xz
|
|
46
|
+
tar xvJf "$LLVM_NAME".tar.xz
|
|
47
|
+
pushd "$RISCV_CLANG_TOOLCHAIN"
|
|
48
|
+
cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_CLANG" \
|
|
49
|
+
-DCMAKE_BUILD_TYPE=Release \
|
|
50
|
+
-DLLVM_TARGETS_TO_BUILD="RISCV" \
|
|
51
|
+
-DLLVM_ENABLE_PROJECTS="clang" \
|
|
52
|
+
-DLLVM_DEFAULT_TARGET_TRIPLE="$RISCV_TRIPLE" \
|
|
53
|
+
-DLLVM_INSTALL_TOOLCHAIN_ONLY=On \
|
|
54
|
+
-DDEFAULT_SYSROOT=../sysroot \
|
|
55
|
+
-G "Ninja" "$RISCV_CLANG_TOOLCHAIN"/llvm
|
|
56
|
+
ionice nice ninja -j `nproc`
|
|
57
|
+
ionice nice ninja -j `nproc` install
|
|
58
|
+
popd
|
|
59
|
+
pushd "$INSTALL_CLANG"/bin
|
|
60
|
+
ln -sf clang "$RISCV_TRIPLE"-clang
|
|
61
|
+
ln -sf clang++ "$RISCV_TRIPLE"-clang++
|
|
62
|
+
popd
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
# Download QEMU and build the riscv64 Linux usermode emulator
|
|
66
|
+
if [ ! -d "$QEMU_NAME" ]
|
|
67
|
+
then
|
|
68
|
+
wget https://download.qemu.org/"$QEMU_NAME".tar.xz
|
|
69
|
+
tar xvJf "$QEMU_NAME".tar.xz
|
|
70
|
+
pushd "$QEMU_NAME"
|
|
71
|
+
./configure --target-list=riscv64-linux-user --prefix="$INSTALL_QEMU"
|
|
72
|
+
ionice nice make -j `nproc` install
|
|
73
|
+
popd
|
|
74
|
+
fi
|