react-native-vision-camera-spoof-detector 1.0.10 → 1.0.11
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/.cxx/Debug/2a1it684/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/Debug/2a1it684/arm64-v8a/.ninja_log +63 -125
- package/android/.cxx/Debug/2a1it684/arm64-v8a/CMakeFiles/CMakeOutput.log +22 -22
- package/android/.cxx/Debug/2a1it684/arm64-v8a/configure_fingerprint.bin +15 -15
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.cmake/api/v1/reply/{codemodel-v2-053850119b681f93cecc.json → codemodel-v2-52ac1d8b40b69596389b.json} +2 -2
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.cmake/api/v1/reply/{index-2025-11-28T05-47-43-0297.json → index-2025-11-28T10-11-49-0251.json} +2 -2
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.cmake/api/v1/reply/{target-yuv-Debug-a12ad49ff79080871bce.json → target-yuv-Debug-97f9e822dbd84a186d44.json} +2 -2
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.cmake/api/v1/reply/{target-yuv_shared-Debug-2b00e64621a56b8dd632.json → target-yuv_shared-Debug-3730d20e27c3481c06b2.json} +2 -2
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.ninja_deps +0 -0
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/.ninja_log +118 -118
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/CMakeFiles/CMakeOutput.log +20 -20
- package/android/.cxx/Debug/2a1it684/armeabi-v7a/configure_fingerprint.bin +15 -15
- package/android/.cxx/Debug/2a1it684/x86/.ninja_deps +0 -0
- package/android/.cxx/Debug/2a1it684/x86/.ninja_log +110 -110
- package/android/.cxx/Debug/2a1it684/x86/CMakeFiles/CMakeOutput.log +20 -20
- package/android/.cxx/Debug/2a1it684/x86/configure_fingerprint.bin +15 -15
- package/android/.cxx/Debug/2a1it684/x86_64/.ninja_deps +0 -0
- package/android/.cxx/Debug/2a1it684/x86_64/.ninja_log +55 -109
- package/android/.cxx/Debug/2a1it684/x86_64/CMakeFiles/CMakeOutput.log +20 -20
- package/android/.cxx/Debug/2a1it684/x86_64/configure_fingerprint.bin +15 -15
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/.cmake/api/v1/reply/{cache-v2-6623bfcc99de2cc494ef.json → cache-v2-713bdb62a69e904e7a40.json} +0 -32
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-cd34d86bd6491de94aff.json +242 -0
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/.cmake/api/v1/reply/{index-2025-11-28T06-24-02-0919.json → index-2025-11-28T10-31-16-0807.json} +4 -4
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/.ninja_log +30 -26
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/build.ninja +9 -126
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/.cmake/api/v1/reply/{cache-v2-8dbd652239f8f876061c.json → cache-v2-2d1ffe11487c93774ec8.json} +0 -32
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-add1fe675e54139ba31d.json +242 -0
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/.cmake/api/v1/reply/{index-2025-11-28T06-24-04-0739.json → index-2025-11-28T10-31-15-0830.json} +4 -4
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/.ninja_log +29 -25
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/build.ninja +9 -118
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/.cmake/api/v1/reply/{cache-v2-a231ab394224ff7786ac.json → cache-v2-0d273fdde7ef8023cff3.json} +0 -32
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/.cmake/api/v1/reply/cmakeFiles-v1-b5eb1b67ae71b7871ac6.json +242 -0
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/.cmake/api/v1/reply/{index-2025-11-28T06-24-25-0724.json → index-2025-11-28T10-31-17-0373.json} +4 -4
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/.ninja_log +27 -23
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/build.ninja +9 -110
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/.cmake/api/v1/reply/{cache-v2-9ee538105c735fb117da.json → cache-v2-dc05d184ae0d43117f44.json} +0 -32
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-30b2c98f8b47b6cd442b.json +242 -0
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/.cmake/api/v1/reply/{index-2025-11-28T06-24-36-0773.json → index-2025-11-28T10-31-17-0962.json} +4 -4
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/.ninja_log +24 -20
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/build.ninja +9 -110
- package/android/build/.transforms/4ebf3dd0dca4f83fe1776360e21ded81/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/AntiSpoofingResult.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofFrameProcessor.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced$SpoofDetectionResult.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced.dex +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/arm64-v8a/build_stdout_targets.txt +1 -62
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/arm64-v8a/generate_cxx_metadata_1929_timing.txt +11 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/arm64-v8a/generate_cxx_metadata_2140_timing.txt +9 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/armeabi-v7a/build_stdout_targets.txt +1 -58
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/{x86/generate_cxx_metadata_709_timing.txt → armeabi-v7a/generate_cxx_metadata_2140_timing.txt} +1 -1
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86/build_stdout_targets.txt +1 -54
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86/generate_cxx_metadata_1929_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86/generate_cxx_metadata_2140_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86_64/build_stdout_targets.txt +1 -54
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86_64/generate_cxx_metadata_1929_timing.txt +9 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86_64/generate_cxx_metadata_2140_timing.txt +9 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/AntiSpoofingResult.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofFrameProcessor.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced$SpoofDetectionResult.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/AntiSpoofingResult.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofFrameProcessor.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced$SpoofDetectionResult.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced.class +0 -0
- package/android/src/main/java/com/faceantispoof/FaceAntiSpoofFrameProcessor.kt +1 -7
- package/android/src/main/java/com/faceantispoof/FaceAntiSpoofingAdvanced.kt +12 -274
- package/index.js +34 -5
- package/package.json +1 -1
- package/android/.cxx/RelWithDebInfo/4j18496e/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-55b275e149a5fd56941d.json +0 -857
- package/android/.cxx/RelWithDebInfo/4j18496e/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-1807188101b481e0cb6e.json +0 -857
- package/android/.cxx/RelWithDebInfo/4j18496e/x86/.cmake/api/v1/reply/cmakeFiles-v1-c1b964e67354b2182b02.json +0 -857
- package/android/.cxx/RelWithDebInfo/4j18496e/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-e1bbc53ef79693fbefba.json +0 -857
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced$EnvironmentAssessment.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/ImageFormatEncoder$ImageFormat.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/ImageFormatEncoder$WhenMappings.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/ImageFormatEncoder.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/JpegEncoder$Companion.dex +0 -0
- package/android/build/.transforms/c0a07cd9442d741ad3cef3760159211f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/JpegEncoder.dex +0 -0
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/arm64-v8a/generate_cxx_metadata_709_timing.txt +0 -9
- package/android/build/intermediates/cxx/Debug/2a1it684/logs/x86_64/generate_cxx_metadata_709_timing.txt +0 -9
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced$EnvironmentAssessment.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/ImageFormatEncoder$ImageFormat.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/ImageFormatEncoder$WhenMappings.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/ImageFormatEncoder.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/JpegEncoder$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/JpegEncoder.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced$EnvironmentAssessment.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/ImageFormatEncoder$ImageFormat.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/ImageFormatEncoder$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/ImageFormatEncoder.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/JpegEncoder$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/JpegEncoder.class +0 -0
- package/android/src/main/java/com/faceantispoof/ImageFormatEncoder.kt +0 -519
- package/android/src/main/java/com/faceantispoof/JpegEncoder.kt +0 -245
- /package/android/.cxx/Debug/2a1it684/arm64-v8a/.cmake/api/v1/reply/{index-2025-11-28T07-46-12-0329.json → index-2025-11-28T11-07-00-0336.json} +0 -0
- /package/android/.cxx/Debug/2a1it684/x86/.cmake/api/v1/reply/{index-2025-11-28T05-47-50-0796.json → index-2025-11-28T10-11-55-0886.json} +0 -0
- /package/android/.cxx/Debug/2a1it684/x86_64/.cmake/api/v1/reply/{index-2025-11-28T07-46-59-0151.json → index-2025-11-28T11-07-01-0193.json} +0 -0
- /package/android/build/intermediates/cxx/Debug/2a1it684/logs/armeabi-v7a/{generate_cxx_metadata_709_timing.txt → generate_cxx_metadata_1929_timing.txt} +0 -0
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
package com.faceantispoof
|
|
2
|
-
|
|
3
|
-
import android.graphics.Bitmap
|
|
4
|
-
import android.graphics.Bitmap.CompressFormat
|
|
5
|
-
import android.util.Base64
|
|
6
|
-
import android.util.Log
|
|
7
|
-
import androidx.exifinterface.media.ExifInterface
|
|
8
|
-
import java.io.ByteArrayOutputStream
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* High-performance JPEG encoder for RGB data.
|
|
12
|
-
* Converts RGB data to JPEG and encodes as Base64 for network transmission.
|
|
13
|
-
* FIXED: Now includes proper EXIF orientation metadata to match hardware camera output.
|
|
14
|
-
*/
|
|
15
|
-
class JpegEncoder {
|
|
16
|
-
|
|
17
|
-
companion object {
|
|
18
|
-
private const val TAG = "JpegEncoder"
|
|
19
|
-
private const val DEFAULT_JPEG_QUALITY = 92 // Increased from 85 for better face detection
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Convert RGB byte array to JPEG and return as Base64 string.
|
|
23
|
-
* Optimized for high-speed encoding without intermediate Bitmap copies.
|
|
24
|
-
* FIXED: Now includes EXIF orientation (portrait, landscape, etc.)
|
|
25
|
-
*
|
|
26
|
-
* @param rgbData RGB data as byte array (format: RGBRGBRGB...)
|
|
27
|
-
* @param width Image width
|
|
28
|
-
* @param height Image height
|
|
29
|
-
* @param quality JPEG quality (0-100), default 92
|
|
30
|
-
* @param orientation EXIF orientation (1=normal, 6=90°CW, 8=90°CCW, 3=180°)
|
|
31
|
-
* @return Base64 encoded JPEG string, or null if encoding fails
|
|
32
|
-
*/
|
|
33
|
-
fun rgbToJpegBase64(
|
|
34
|
-
rgbData: ByteArray,
|
|
35
|
-
width: Int,
|
|
36
|
-
height: Int,
|
|
37
|
-
quality: Int = DEFAULT_JPEG_QUALITY,
|
|
38
|
-
orientation: Int = ExifInterface.ORIENTATION_NORMAL
|
|
39
|
-
): String? {
|
|
40
|
-
return try {
|
|
41
|
-
val jpegBytes = rgbToJpeg(rgbData, width, height, quality, orientation) ?: return null
|
|
42
|
-
Base64.encodeToString(jpegBytes, Base64.NO_WRAP)
|
|
43
|
-
} catch (e: Exception) {
|
|
44
|
-
Log.e(TAG, "Failed to encode RGB to JPEG Base64", e)
|
|
45
|
-
null
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Convert RGB float array (normalized 0-1) to JPEG and return as Base64 string.
|
|
51
|
-
* Each pixel is stored as 3 floats (R, G, B).
|
|
52
|
-
*
|
|
53
|
-
* @param rgbFloats RGB data as float array (normalized to 0-1)
|
|
54
|
-
* @param width Image width
|
|
55
|
-
* @param height Image height
|
|
56
|
-
* @param quality JPEG quality (0-100), default 92
|
|
57
|
-
* @param orientation EXIF orientation (1=normal, 6=90°CW, 8=90°CCW, 3=180°)
|
|
58
|
-
* @return Base64 encoded JPEG string, or null if encoding fails
|
|
59
|
-
*/
|
|
60
|
-
fun rgbFloatToJpegBase64(
|
|
61
|
-
rgbFloats: FloatArray,
|
|
62
|
-
width: Int,
|
|
63
|
-
height: Int,
|
|
64
|
-
quality: Int = DEFAULT_JPEG_QUALITY,
|
|
65
|
-
orientation: Int = ExifInterface.ORIENTATION_NORMAL
|
|
66
|
-
): String? {
|
|
67
|
-
return try {
|
|
68
|
-
// Convert float array to byte array
|
|
69
|
-
val rgbBytes = convertFloatArrayToRgbBytes(rgbFloats, width, height)
|
|
70
|
-
rgbToJpegBase64(rgbBytes, width, height, quality, orientation)
|
|
71
|
-
} catch (e: Exception) {
|
|
72
|
-
Log.e(TAG, "Failed to encode RGB float array to JPEG Base64", e)
|
|
73
|
-
null
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Convert RGB byte array to JPEG bytes.
|
|
79
|
-
* FIXED: Now includes proper EXIF orientation metadata.
|
|
80
|
-
*
|
|
81
|
-
* @param rgbData RGB data as byte array
|
|
82
|
-
* @param width Image width
|
|
83
|
-
* @param height Image height
|
|
84
|
-
* @param quality JPEG quality (0-100)
|
|
85
|
-
* @param orientation EXIF orientation (1=normal, 6=90°CW, 8=90°CCW, 3=180°)
|
|
86
|
-
* @return JPEG encoded byte array, or null if encoding fails
|
|
87
|
-
*/
|
|
88
|
-
fun rgbToJpeg(
|
|
89
|
-
rgbData: ByteArray,
|
|
90
|
-
width: Int,
|
|
91
|
-
height: Int,
|
|
92
|
-
quality: Int = DEFAULT_JPEG_QUALITY,
|
|
93
|
-
orientation: Int = ExifInterface.ORIENTATION_NORMAL
|
|
94
|
-
): ByteArray? {
|
|
95
|
-
return try {
|
|
96
|
-
// Create bitmap from RGB data
|
|
97
|
-
val bitmap = createBitmapFromRgb(rgbData, width, height)
|
|
98
|
-
val jpegBytes = compressBitmapToJpeg(bitmap, quality)
|
|
99
|
-
bitmap.recycle()
|
|
100
|
-
|
|
101
|
-
// FIXED: Add EXIF orientation metadata if needed
|
|
102
|
-
return if (orientation != ExifInterface.ORIENTATION_NORMAL) {
|
|
103
|
-
addExifOrientationToJpeg(jpegBytes, orientation)
|
|
104
|
-
} else {
|
|
105
|
-
jpegBytes
|
|
106
|
-
}
|
|
107
|
-
} catch (e: Exception) {
|
|
108
|
-
Log.e(TAG, "Failed to encode RGB to JPEG", e)
|
|
109
|
-
null
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Compress bitmap to JPEG bytes.
|
|
115
|
-
*/
|
|
116
|
-
private fun compressBitmapToJpeg(bitmap: Bitmap, quality: Int): ByteArray {
|
|
117
|
-
val stream = ByteArrayOutputStream()
|
|
118
|
-
bitmap.compress(CompressFormat.JPEG, quality.coerceIn(0, 100), stream)
|
|
119
|
-
return stream.toByteArray()
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Create Bitmap from RGB byte array.
|
|
124
|
-
* Assumes RGB format: RGBRGBRGB...
|
|
125
|
-
*/
|
|
126
|
-
private fun createBitmapFromRgb(rgbData: ByteArray, width: Int, height: Int): Bitmap {
|
|
127
|
-
val pixels = IntArray(width * height)
|
|
128
|
-
var rgbIndex = 0
|
|
129
|
-
|
|
130
|
-
for (i in pixels.indices) {
|
|
131
|
-
val r = rgbData[rgbIndex++].toInt() and 0xFF
|
|
132
|
-
val g = rgbData[rgbIndex++].toInt() and 0xFF
|
|
133
|
-
val b = rgbData[rgbIndex++].toInt() and 0xFF
|
|
134
|
-
pixels[i] = (0xFF shl 24) or (r shl 16) or (g shl 8) or b
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
return Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Add EXIF orientation metadata to JPEG bytes.
|
|
142
|
-
* CRITICAL: Face recognition systems may fail without proper orientation!
|
|
143
|
-
*/
|
|
144
|
-
private fun addExifOrientationToJpeg(jpegBytes: ByteArray, orientation: Int): ByteArray {
|
|
145
|
-
return try {
|
|
146
|
-
val tempFile = java.io.File.createTempFile("jpeg", ".jpg")
|
|
147
|
-
tempFile.writeBytes(jpegBytes)
|
|
148
|
-
|
|
149
|
-
val exif = ExifInterface(tempFile.absolutePath)
|
|
150
|
-
exif.setAttribute(ExifInterface.TAG_ORIENTATION, orientation.toString())
|
|
151
|
-
exif.saveAttributes()
|
|
152
|
-
|
|
153
|
-
val resultBytes = tempFile.readBytes()
|
|
154
|
-
tempFile.delete()
|
|
155
|
-
resultBytes
|
|
156
|
-
} catch (e: Exception) {
|
|
157
|
-
Log.w(TAG, "Failed to add EXIF orientation, returning original JPEG: ${e.message}")
|
|
158
|
-
jpegBytes // Fallback to original if EXIF writing fails
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Convert float array (normalized 0-1) to RGB byte array (0-255).
|
|
164
|
-
*/
|
|
165
|
-
private fun convertFloatArrayToRgbBytes(rgbFloats: FloatArray, width: Int, height: Int): ByteArray {
|
|
166
|
-
val rgbBytes = ByteArray(width * height * 3)
|
|
167
|
-
var byteIndex = 0
|
|
168
|
-
|
|
169
|
-
for (i in rgbFloats.indices step 3) {
|
|
170
|
-
rgbBytes[byteIndex++] = (rgbFloats[i] * 255f).toInt().coerceIn(0, 255).toByte()
|
|
171
|
-
rgbBytes[byteIndex++] = (rgbFloats[i + 1] * 255f).toInt().coerceIn(0, 255).toByte()
|
|
172
|
-
rgbBytes[byteIndex++] = (rgbFloats[i + 2] * 255f).toInt().coerceIn(0, 255).toByte()
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return rgbBytes
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Fast JPEG encoding with minimal memory footprint.
|
|
180
|
-
* Directly processes YUV data to JPEG without intermediate RGB conversion.
|
|
181
|
-
* Note: For best performance, use this when you have NV21/I420 data directly.
|
|
182
|
-
*/
|
|
183
|
-
fun directYuvToJpegBase64(
|
|
184
|
-
nv21Data: ByteArray,
|
|
185
|
-
width: Int,
|
|
186
|
-
height: Int,
|
|
187
|
-
quality: Int = DEFAULT_JPEG_QUALITY
|
|
188
|
-
): String? {
|
|
189
|
-
return try {
|
|
190
|
-
// This is a placeholder for direct YUV to JPEG conversion
|
|
191
|
-
// In production, you might use libjpeg-turbo or native code
|
|
192
|
-
// For now, convert to RGB first then to JPEG
|
|
193
|
-
val rgbBytes = ByteArray(width * height * 3)
|
|
194
|
-
nv21ToRgbDirect(nv21Data, width, height, rgbBytes)
|
|
195
|
-
rgbToJpegBase64(rgbBytes, width, height, quality)
|
|
196
|
-
} catch (e: Exception) {
|
|
197
|
-
Log.e(TAG, "Failed to encode NV21 to JPEG Base64", e)
|
|
198
|
-
null
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Direct NV21 to RGB conversion (minimal overhead).
|
|
204
|
-
* FIXED: Now uses corrected YUV to RGB conversion formula.
|
|
205
|
-
*/
|
|
206
|
-
private fun nv21ToRgbDirect(nv21: ByteArray, width: Int, height: Int, rgbOut: ByteArray) {
|
|
207
|
-
val ySize = width * height
|
|
208
|
-
var rgbIndex = 0
|
|
209
|
-
|
|
210
|
-
for (y in 0 until height) {
|
|
211
|
-
val yRowOffset = y * width
|
|
212
|
-
for (x in 0 until width) {
|
|
213
|
-
val yVal = nv21[yRowOffset + x].toInt() and 0xFF
|
|
214
|
-
val uvIndex = ySize + (y / 2) * width + (x / 2) * 2
|
|
215
|
-
val vVal = nv21[uvIndex].toInt() and 0xFF
|
|
216
|
-
val uVal = nv21[uvIndex + 1].toInt() and 0xFF
|
|
217
|
-
|
|
218
|
-
val yf = yVal.toFloat()
|
|
219
|
-
val uf = uVal - 128f
|
|
220
|
-
val vf = vVal - 128f
|
|
221
|
-
|
|
222
|
-
// FIXED: Corrected YUV to RGB conversion formula
|
|
223
|
-
// Using ITU-R BT.601 standard coefficients
|
|
224
|
-
val r = (yf + 1.402f * vf).coerceIn(0f, 255f).toInt().toByte()
|
|
225
|
-
val g = (yf - 0.34414f * uf - 0.71414f * vf).coerceIn(0f, 255f).toInt().toByte()
|
|
226
|
-
val b = (yf + 1.772f * uf).coerceIn(0f, 255f).toInt().toByte()
|
|
227
|
-
|
|
228
|
-
rgbOut[rgbIndex++] = r
|
|
229
|
-
rgbOut[rgbIndex++] = g
|
|
230
|
-
rgbOut[rgbIndex++] = b
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Get compressed file size estimate for JPEG.
|
|
237
|
-
*/
|
|
238
|
-
fun estimateJpegSize(width: Int, height: Int, quality: Int): Int {
|
|
239
|
-
// Rough estimate: RGB uncompressed size * quality factor
|
|
240
|
-
val uncompressedSize = width * height * 3
|
|
241
|
-
val qualityFactor = 100.0 / (100 + (100 - quality))
|
|
242
|
-
return (uncompressedSize * qualityFactor).toInt()
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|