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
package/android/build.gradle
CHANGED
|
@@ -81,6 +81,14 @@ android {
|
|
|
81
81
|
])
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
// 支持 Android 15+ 的 16KB 页面大小
|
|
85
|
+
// https://developer.android.com/guide/practices/page-sizes
|
|
86
|
+
packagingOptions {
|
|
87
|
+
jniLibs {
|
|
88
|
+
useLegacyPackaging false
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
84
92
|
externalNativeBuild {
|
|
85
93
|
cmake {
|
|
86
94
|
path "src/main/cpp/CMakeLists.txt"
|
|
@@ -108,12 +116,12 @@ dependencies {
|
|
|
108
116
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
|
|
109
117
|
|
|
110
118
|
// TensorFlow Lite (includes NNAPI support built-in)
|
|
111
|
-
implementation "org.tensorflow:tensorflow-lite:2.
|
|
112
|
-
implementation "org.tensorflow:tensorflow-lite-support:0.
|
|
119
|
+
implementation "org.tensorflow:tensorflow-lite:2.17.0"
|
|
120
|
+
implementation "org.tensorflow:tensorflow-lite-support:0.5.0"
|
|
113
121
|
|
|
114
122
|
// GPU Delegate for TensorFlow Lite
|
|
115
|
-
implementation "org.tensorflow:tensorflow-lite-gpu:2.
|
|
116
|
-
implementation "org.tensorflow:tensorflow-lite-gpu-api:2.
|
|
123
|
+
implementation "org.tensorflow:tensorflow-lite-gpu:2.17.0"
|
|
124
|
+
implementation "org.tensorflow:tensorflow-lite-gpu-api:2.17.0"
|
|
117
125
|
|
|
118
126
|
// Kotlin Coroutines
|
|
119
127
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
|
|
@@ -1,94 +1,101 @@
|
|
|
1
|
-
cmake_minimum_required(VERSION 3.4.1)
|
|
2
|
-
|
|
3
|
-
project(fastyuv)
|
|
4
|
-
|
|
5
|
-
set(SOURCE_FILES
|
|
6
|
-
FastYuvJni.cpp
|
|
7
|
-
fast_yuv.cpp
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
add_library(fastyuv SHARED ${SOURCE_FILES})
|
|
11
|
-
|
|
12
|
-
# Enable NEON SIMD optimizations for ARM architectures
|
|
13
|
-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7" OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
14
|
-
# ARM NEON optimization flags
|
|
15
|
-
target_compile_options(fastyuv PRIVATE
|
|
16
|
-
-fPIC
|
|
17
|
-
-O3
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
# ARM-specific NEON enablement (clang doesn't support -march=native for cross-compilation)
|
|
21
|
-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7")
|
|
22
|
-
# ARMv7 with NEON (32-bit ARM)
|
|
23
|
-
target_compile_options(fastyuv PRIVATE -march=armv7-a -mfpu=neon -mfloat-abi=softfp)
|
|
24
|
-
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
25
|
-
# ARMv8 with full SIMD support (64-bit ARM)
|
|
26
|
-
target_compile_options(fastyuv PRIVATE -march=armv8-a)
|
|
27
|
-
endif()
|
|
28
|
-
endif()
|
|
29
|
-
|
|
30
|
-
# Always add libyuv include dir so headers like libyuv/convert.h are found.
|
|
31
|
-
target_include_directories(fastyuv PRIVATE ${CMAKE_SOURCE_DIR}/libyuv/include)
|
|
32
|
-
|
|
33
|
-
# Prefer using libyuv subproject if available.
|
|
34
|
-
if (EXISTS ${CMAKE_SOURCE_DIR}/libyuv/CMakeLists.txt)
|
|
35
|
-
add_subdirectory(libyuv)
|
|
36
|
-
# Link against the libyuv target produced by that CMake. The lib creates
|
|
37
|
-
# targets named 'yuv' (static) and 'yuv_shared' (shared) whose output
|
|
38
|
-
# library name is 'libyuv'. Prefer the shared target when available.
|
|
39
|
-
if (TARGET yuv_shared)
|
|
40
|
-
target_link_libraries(fastyuv PRIVATE yuv_shared)
|
|
41
|
-
elseif (TARGET yuv)
|
|
42
|
-
target_link_libraries(fastyuv PRIVATE yuv)
|
|
43
|
-
endif()
|
|
44
|
-
endif()
|
|
45
|
-
|
|
46
|
-
# Android
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
get_filename_component(
|
|
61
|
-
|
|
62
|
-
get_filename_component(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"${REACT_COMMON_DIR}"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
1
|
+
cmake_minimum_required(VERSION 3.4.1)
|
|
2
|
+
|
|
3
|
+
project(fastyuv)
|
|
4
|
+
|
|
5
|
+
set(SOURCE_FILES
|
|
6
|
+
FastYuvJni.cpp
|
|
7
|
+
fast_yuv.cpp
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
add_library(fastyuv SHARED ${SOURCE_FILES})
|
|
11
|
+
|
|
12
|
+
# Enable NEON SIMD optimizations for ARM architectures
|
|
13
|
+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7" OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
14
|
+
# ARM NEON optimization flags
|
|
15
|
+
target_compile_options(fastyuv PRIVATE
|
|
16
|
+
-fPIC
|
|
17
|
+
-O3
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# ARM-specific NEON enablement (clang doesn't support -march=native for cross-compilation)
|
|
21
|
+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7")
|
|
22
|
+
# ARMv7 with NEON (32-bit ARM)
|
|
23
|
+
target_compile_options(fastyuv PRIVATE -march=armv7-a -mfpu=neon -mfloat-abi=softfp)
|
|
24
|
+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
25
|
+
# ARMv8 with full SIMD support (64-bit ARM)
|
|
26
|
+
target_compile_options(fastyuv PRIVATE -march=armv8-a)
|
|
27
|
+
endif()
|
|
28
|
+
endif()
|
|
29
|
+
|
|
30
|
+
# Always add libyuv include dir so headers like libyuv/convert.h are found.
|
|
31
|
+
target_include_directories(fastyuv PRIVATE ${CMAKE_SOURCE_DIR}/libyuv/include)
|
|
32
|
+
|
|
33
|
+
# Prefer using libyuv subproject if available.
|
|
34
|
+
if (EXISTS ${CMAKE_SOURCE_DIR}/libyuv/CMakeLists.txt)
|
|
35
|
+
add_subdirectory(libyuv)
|
|
36
|
+
# Link against the libyuv target produced by that CMake. The lib creates
|
|
37
|
+
# targets named 'yuv' (static) and 'yuv_shared' (shared) whose output
|
|
38
|
+
# library name is 'libyuv'. Prefer the shared target when available.
|
|
39
|
+
if (TARGET yuv_shared)
|
|
40
|
+
target_link_libraries(fastyuv PRIVATE yuv_shared)
|
|
41
|
+
elseif (TARGET yuv)
|
|
42
|
+
target_link_libraries(fastyuv PRIVATE yuv)
|
|
43
|
+
endif()
|
|
44
|
+
endif()
|
|
45
|
+
|
|
46
|
+
# 支持 Android 15+ 的 16KB 页面大小
|
|
47
|
+
# https://developer.android.com/guide/practices/page-sizes
|
|
48
|
+
target_link_options(fastyuv PRIVATE "-Wl,-z,max-page-size=16384")
|
|
49
|
+
|
|
50
|
+
# Android log
|
|
51
|
+
find_library(log-lib log)
|
|
52
|
+
target_link_libraries(fastyuv PRIVATE ${log-lib})
|
|
53
|
+
cmake_minimum_required(VERSION 3.18)
|
|
54
|
+
project(faceantispoof)
|
|
55
|
+
|
|
56
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
57
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
58
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
59
|
+
|
|
60
|
+
get_filename_component(CMAKE_SOURCE_ABS "${CMAKE_SOURCE_DIR}" ABSOLUTE)
|
|
61
|
+
# .../react-native-vision-camera-spoof-detector/android/src/main/cpp -> ../../../.. = .../node_modules
|
|
62
|
+
get_filename_component(PARENT_1 "${CMAKE_SOURCE_ABS}/.." ABSOLUTE) # main
|
|
63
|
+
get_filename_component(PARENT_2 "${PARENT_1}/.." ABSOLUTE) # src
|
|
64
|
+
get_filename_component(PARENT_3 "${PARENT_2}/.." ABSOLUTE) # android
|
|
65
|
+
get_filename_component(PARENT_4 "${PARENT_3}/.." ABSOLUTE) # react-native-vision-camera-spoof-detector
|
|
66
|
+
get_filename_component(NODE_MODULES_ABS "${PARENT_4}/.." ABSOLUTE) # node_modules
|
|
67
|
+
|
|
68
|
+
set(REACT_NATIVE_DIR "${NODE_MODULES_ABS}/react-native")
|
|
69
|
+
set(REACT_COMMON_DIR "${REACT_NATIVE_DIR}/ReactCommon")
|
|
70
|
+
|
|
71
|
+
message(STATUS "NODE_MODULES_ABS: ${NODE_MODULES_ABS}")
|
|
72
|
+
message(STATUS "REACT_NATIVE_DIR: ${REACT_NATIVE_DIR}")
|
|
73
|
+
message(STATUS "REACT_COMMON_DIR: ${REACT_COMMON_DIR}")
|
|
74
|
+
|
|
75
|
+
# Compile JSI implementation
|
|
76
|
+
file(GLOB JSI_CPP "${REACT_COMMON_DIR}/jsi/jsi/jsi.cpp")
|
|
77
|
+
|
|
78
|
+
add_library(faceantispoof SHARED FaceAntiSpoofJSI.cpp ${JSI_CPP})
|
|
79
|
+
|
|
80
|
+
target_include_directories(faceantispoof PRIVATE
|
|
81
|
+
"${REACT_COMMON_DIR}/jsi"
|
|
82
|
+
"${REACT_COMMON_DIR}/cxxreact"
|
|
83
|
+
"${REACT_COMMON_DIR}/callinvoker/ReactCommon"
|
|
84
|
+
"${REACT_COMMON_DIR}/runtimeexecutor/ReactCommon"
|
|
85
|
+
"${REACT_COMMON_DIR}"
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
find_library(log-lib log)
|
|
89
|
+
|
|
90
|
+
# 支持 Android 15+ 的 16KB 页面大小
|
|
91
|
+
target_link_options(faceantispoof PRIVATE "-Wl,-z,max-page-size=16384")
|
|
92
|
+
|
|
93
|
+
target_link_libraries(
|
|
94
|
+
faceantispoof
|
|
95
|
+
"${log-lib}"
|
|
96
|
+
c++_shared
|
|
97
|
+
atomic
|
|
98
|
+
m
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Defines the Chromium style for automatic reformatting.
|
|
2
|
-
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
3
|
-
BasedOnStyle: Chromium
|
|
4
|
-
---
|
|
5
|
-
Language: Java
|
|
6
|
-
BasedOnStyle: Google
|
|
1
|
+
# Defines the Chromium style for automatic reformatting.
|
|
2
|
+
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
3
|
+
BasedOnStyle: Chromium
|
|
4
|
+
---
|
|
5
|
+
Language: Java
|
|
6
|
+
BasedOnStyle: Google
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
# Copyright 2015 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
|
-
import("//build/dotfile_settings.gni")
|
|
10
|
-
|
|
11
|
-
# The location of the build configuration file.
|
|
12
|
-
buildconfig = "//build/config/BUILDCONFIG.gn"
|
|
13
|
-
|
|
14
|
-
# The python interpreter to use by default. On Windows, this will look
|
|
15
|
-
# for python3.exe and python3.bat.
|
|
16
|
-
script_executable = "python3"
|
|
17
|
-
|
|
18
|
-
# The secondary source root is a parallel directory tree where
|
|
19
|
-
# GN build files are placed when they can not be placed directly
|
|
20
|
-
# in the source tree, e.g. for third party source trees.
|
|
21
|
-
secondary_source = "//build/secondary/"
|
|
22
|
-
|
|
23
|
-
# These are the targets to check headers for by default. The files in targets
|
|
24
|
-
# matching these patterns (see "gn help label_pattern" for format) will have
|
|
25
|
-
# their includes checked for proper dependencies when you run either
|
|
26
|
-
# "gn check" or "gn gen --check".
|
|
27
|
-
check_targets = [ "//libyuv/*" ]
|
|
28
|
-
|
|
29
|
-
# These are the list of GN files that run exec_script. This allowlist exists
|
|
30
|
-
# to force additional review for new uses of exec_script, which is strongly
|
|
31
|
-
# discouraged except for gypi_to_gn calls.
|
|
32
|
-
exec_script_allowlist = build_dotfile_settings.exec_script_allowlist +
|
|
33
|
-
[ "//build_overrides/build.gni" ]
|
|
34
|
-
|
|
35
|
-
default_args = {
|
|
36
|
-
mac_sdk_min = "10.12"
|
|
37
|
-
ios_deployment_target = "12.0"
|
|
38
|
-
# Use Siso instead of Ninja.
|
|
39
|
-
use_siso = true
|
|
40
|
-
}
|
|
1
|
+
# Copyright 2015 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
|
+
import("//build/dotfile_settings.gni")
|
|
10
|
+
|
|
11
|
+
# The location of the build configuration file.
|
|
12
|
+
buildconfig = "//build/config/BUILDCONFIG.gn"
|
|
13
|
+
|
|
14
|
+
# The python interpreter to use by default. On Windows, this will look
|
|
15
|
+
# for python3.exe and python3.bat.
|
|
16
|
+
script_executable = "python3"
|
|
17
|
+
|
|
18
|
+
# The secondary source root is a parallel directory tree where
|
|
19
|
+
# GN build files are placed when they can not be placed directly
|
|
20
|
+
# in the source tree, e.g. for third party source trees.
|
|
21
|
+
secondary_source = "//build/secondary/"
|
|
22
|
+
|
|
23
|
+
# These are the targets to check headers for by default. The files in targets
|
|
24
|
+
# matching these patterns (see "gn help label_pattern" for format) will have
|
|
25
|
+
# their includes checked for proper dependencies when you run either
|
|
26
|
+
# "gn check" or "gn gen --check".
|
|
27
|
+
check_targets = [ "//libyuv/*" ]
|
|
28
|
+
|
|
29
|
+
# These are the list of GN files that run exec_script. This allowlist exists
|
|
30
|
+
# to force additional review for new uses of exec_script, which is strongly
|
|
31
|
+
# discouraged except for gypi_to_gn calls.
|
|
32
|
+
exec_script_allowlist = build_dotfile_settings.exec_script_allowlist +
|
|
33
|
+
[ "//build_overrides/build.gni" ]
|
|
34
|
+
|
|
35
|
+
default_args = {
|
|
36
|
+
mac_sdk_min = "10.12"
|
|
37
|
+
ios_deployment_target = "12.0"
|
|
38
|
+
# Use Siso instead of Ninja.
|
|
39
|
+
use_siso = true
|
|
40
|
+
}
|