react-native-vision-camera-spoof-detector 1.0.0

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.
Files changed (857) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +220 -0
  3. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  4. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  5. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  6. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/cache-v2-701700ba4bb2215c1ccd.json +1599 -0
  7. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-9189be15e8b04df8f258.json +857 -0
  8. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-073369af1c5eb367d160.json +185 -0
  9. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json +14 -0
  10. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/directory-libyuv-Debug-68bb497e958fc902f93a.json +100 -0
  11. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/index-2025-11-18T09-41-06-0926.json +92 -0
  12. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-cpuid-Debug-5af24d55c9649a4c3a3f.json +136 -0
  13. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-faceantispoof-Debug-aa45fddb87a8ac2074bb.json +181 -0
  14. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-fastyuv-Debug-4dd5b049ce28a8e070d1.json +182 -0
  15. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv-Debug-b8d5ee3e10a1f31a29fe.json +433 -0
  16. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv_common_objects-Debug-ae517204d04beeb2df23.json +522 -0
  17. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv_neon64-Debug-2ab157e6b75bcb340b03.json +137 -0
  18. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv_shared-Debug-2aecda61b70017f775b5.json +455 -0
  19. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv_sme-Debug-73d1e6cc8ef043b4e243.json +126 -0
  20. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuv_sve-Debug-9d95a17080a7480f85a6.json +104 -0
  21. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuvconstants-Debug-31b06c1ed2b225cf2443.json +136 -0
  22. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.cmake/api/v1/reply/target-yuvconvert-Debug-2231dac0a591237abb04.json +157 -0
  23. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.ninja_deps +0 -0
  24. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/.ninja_log +63 -0
  25. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeCache.txt +465 -0
  26. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCCompiler.cmake +72 -0
  27. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCXXCompiler.cmake +83 -0
  28. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_C.bin +0 -0
  29. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_CXX.bin +0 -0
  30. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeSystem.cmake +15 -0
  31. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.c +803 -0
  32. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.o +0 -0
  33. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
  34. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  35. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/CMakeOutput.log +276 -0
  36. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/TargetDirectories.txt +27 -0
  37. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
  38. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/faceantispoof.dir/48ddb531beec5c42d2f7a5f3aa0b5968/ReactCommon/jsi/jsi/jsi.cpp.o +0 -0
  39. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/faceantispoof.dir/FaceAntiSpoofJSI.cpp.o +0 -0
  40. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/fastyuv.dir/FastYuvJni.cpp.o +0 -0
  41. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/fastyuv.dir/fast_yuv.cpp.o +0 -0
  42. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CMakeFiles/rules.ninja +198 -0
  43. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CPackConfig.cmake +71 -0
  44. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/CPackSourceConfig.cmake +79 -0
  45. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/additional_project_files.txt +48 -0
  46. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/android_gradle_build.json +106 -0
  47. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/android_gradle_build_mini.json +87 -0
  48. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/build.ninja +1071 -0
  49. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/build_file_index.txt +3 -0
  50. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/cmake_install.cmake +59 -0
  51. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/compile_commands.json +277 -0
  52. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/compile_commands.json.bin +0 -0
  53. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/configure_fingerprint.bin +29 -0
  54. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/cpuid.dir/util/cpuid.c.o +0 -0
  55. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare.cc.o +0 -0
  56. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_common.cc.o +0 -0
  57. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_gcc.cc.o +0 -0
  58. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_win.cc.o +0 -0
  59. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert.cc.o +0 -0
  60. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_argb.cc.o +0 -0
  61. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from.cc.o +0 -0
  62. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from_argb.cc.o +0 -0
  63. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_jpeg.cc.o +0 -0
  64. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_argb.cc.o +0 -0
  65. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_i420.cc.o +0 -0
  66. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/cpu_id.cc.o +0 -0
  67. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_decoder.cc.o +0 -0
  68. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_validate.cc.o +0 -0
  69. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/planar_functions.cc.o +0 -0
  70. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate.cc.o +0 -0
  71. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_any.cc.o +0 -0
  72. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_argb.cc.o +0 -0
  73. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_common.cc.o +0 -0
  74. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_gcc.cc.o +0 -0
  75. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_lsx.cc.o +0 -0
  76. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_win.cc.o +0 -0
  77. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_any.cc.o +0 -0
  78. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_common.cc.o +0 -0
  79. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_gcc.cc.o +0 -0
  80. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lasx.cc.o +0 -0
  81. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lsx.cc.o +0 -0
  82. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_rvv.cc.o +0 -0
  83. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_win.cc.o +0 -0
  84. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale.cc.o +0 -0
  85. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_any.cc.o +0 -0
  86. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_argb.cc.o +0 -0
  87. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_common.cc.o +0 -0
  88. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_gcc.cc.o +0 -0
  89. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_lsx.cc.o +0 -0
  90. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rgb.cc.o +0 -0
  91. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rvv.cc.o +0 -0
  92. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_uv.cc.o +0 -0
  93. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_win.cc.o +0 -0
  94. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_common_objects.dir/source/video_common.cc.o +0 -0
  95. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_neon64.dir/source/compare_neon64.cc.o +0 -0
  96. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_neon64.dir/source/rotate_neon64.cc.o +0 -0
  97. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_neon64.dir/source/row_neon64.cc.o +0 -0
  98. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_neon64.dir/source/scale_neon64.cc.o +0 -0
  99. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_sme.dir/source/rotate_sme.cc.o +0 -0
  100. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_sme.dir/source/row_sme.cc.o +0 -0
  101. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_sme.dir/source/scale_sme.cc.o +0 -0
  102. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuv_sve.dir/source/row_sve.cc.o +0 -0
  103. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuvconstants.dir/util/yuvconstants.c.o +0 -0
  104. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/CMakeFiles/yuvconvert.dir/util/yuvconvert.cc.o +0 -0
  105. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/cmake_install.cmake +87 -0
  106. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/libyuv/libyuv.a +0 -0
  107. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/metadata_generation_command.txt +19 -0
  108. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/prefab_config.json +4 -0
  109. package/android/.cxx/Debug/2a3w6u3n/arm64-v8a/symbol_folder_index.txt +1 -0
  110. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  111. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  112. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  113. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/cache-v2-3c91c5cee78e3e904960.json +1587 -0
  114. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-7cc7148edcc0267ae184.json +857 -0
  115. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-3db6484795577cf354b3.json +167 -0
  116. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json +14 -0
  117. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/directory-libyuv-Debug-063ed54195fe25617bc7.json +100 -0
  118. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/index-2025-11-18T09-41-44-0186.json +92 -0
  119. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-cpuid-Debug-a3f2884614434f8f188a.json +150 -0
  120. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-faceantispoof-Debug-c905db8d2a36c2f49235.json +181 -0
  121. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-fastyuv-Debug-e08fb9fb89a090bfee1a.json +190 -0
  122. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuv-Debug-4b1ffa979fbf6ac68418.json +406 -0
  123. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuv_common_objects-Debug-245e248f528e11e2d34d.json +536 -0
  124. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuv_neon-Debug-2ea21009709c7febf67d.json +151 -0
  125. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuv_shared-Debug-e387ee44aace33b18140.json +428 -0
  126. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuvconstants-Debug-14fbb0c58620d35bb155.json +150 -0
  127. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.cmake/api/v1/reply/target-yuvconvert-Debug-c40ecea0358b0e737802.json +171 -0
  128. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.ninja_deps +0 -0
  129. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/.ninja_log +59 -0
  130. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeCache.txt +463 -0
  131. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCCompiler.cmake +72 -0
  132. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCXXCompiler.cmake +83 -0
  133. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_C.bin +0 -0
  134. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_CXX.bin +0 -0
  135. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CMakeSystem.cmake +15 -0
  136. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.c +803 -0
  137. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.o +0 -0
  138. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
  139. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  140. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/CMakeOutput.log +268 -0
  141. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/TargetDirectories.txt +25 -0
  142. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/cmake.check_cache +1 -0
  143. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/faceantispoof.dir/48ddb531beec5c42d2f7a5f3aa0b5968/ReactCommon/jsi/jsi/jsi.cpp.o +0 -0
  144. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/faceantispoof.dir/FaceAntiSpoofJSI.cpp.o +0 -0
  145. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/fastyuv.dir/FastYuvJni.cpp.o +0 -0
  146. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/fastyuv.dir/fast_yuv.cpp.o +0 -0
  147. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CMakeFiles/rules.ninja +178 -0
  148. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CPackConfig.cmake +71 -0
  149. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/CPackSourceConfig.cmake +79 -0
  150. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/additional_project_files.txt +44 -0
  151. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/android_gradle_build.json +96 -0
  152. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/android_gradle_build_mini.json +77 -0
  153. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/build.ninja +1046 -0
  154. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/build_file_index.txt +3 -0
  155. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/cmake_install.cmake +59 -0
  156. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/compile_commands.json +257 -0
  157. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/compile_commands.json.bin +0 -0
  158. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/configure_fingerprint.bin +29 -0
  159. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/cpuid.dir/util/cpuid.c.o +0 -0
  160. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare.cc.o +0 -0
  161. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_common.cc.o +0 -0
  162. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_gcc.cc.o +0 -0
  163. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_win.cc.o +0 -0
  164. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert.cc.o +0 -0
  165. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_argb.cc.o +0 -0
  166. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from.cc.o +0 -0
  167. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from_argb.cc.o +0 -0
  168. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_jpeg.cc.o +0 -0
  169. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_argb.cc.o +0 -0
  170. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_i420.cc.o +0 -0
  171. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/cpu_id.cc.o +0 -0
  172. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_decoder.cc.o +0 -0
  173. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_validate.cc.o +0 -0
  174. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/planar_functions.cc.o +0 -0
  175. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate.cc.o +0 -0
  176. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_any.cc.o +0 -0
  177. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_argb.cc.o +0 -0
  178. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_common.cc.o +0 -0
  179. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_gcc.cc.o +0 -0
  180. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_lsx.cc.o +0 -0
  181. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_win.cc.o +0 -0
  182. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_any.cc.o +0 -0
  183. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_common.cc.o +0 -0
  184. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_gcc.cc.o +0 -0
  185. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lasx.cc.o +0 -0
  186. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lsx.cc.o +0 -0
  187. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_rvv.cc.o +0 -0
  188. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_win.cc.o +0 -0
  189. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale.cc.o +0 -0
  190. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_any.cc.o +0 -0
  191. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_argb.cc.o +0 -0
  192. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_common.cc.o +0 -0
  193. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_gcc.cc.o +0 -0
  194. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_lsx.cc.o +0 -0
  195. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rgb.cc.o +0 -0
  196. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rvv.cc.o +0 -0
  197. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_uv.cc.o +0 -0
  198. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_win.cc.o +0 -0
  199. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_common_objects.dir/source/video_common.cc.o +0 -0
  200. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_neon.dir/source/compare_neon.cc.o +0 -0
  201. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_neon.dir/source/rotate_neon.cc.o +0 -0
  202. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_neon.dir/source/row_neon.cc.o +0 -0
  203. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuv_neon.dir/source/scale_neon.cc.o +0 -0
  204. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuvconstants.dir/util/yuvconstants.c.o +0 -0
  205. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/CMakeFiles/yuvconvert.dir/util/yuvconvert.cc.o +0 -0
  206. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/cmake_install.cmake +87 -0
  207. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/libyuv/libyuv.a +0 -0
  208. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/metadata_generation_command.txt +19 -0
  209. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/prefab_config.json +4 -0
  210. package/android/.cxx/Debug/2a3w6u3n/armeabi-v7a/symbol_folder_index.txt +1 -0
  211. package/android/.cxx/Debug/2a3w6u3n/hash_key.txt +26 -0
  212. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  213. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  214. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  215. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/cache-v2-2fe46b6519c8341b1982.json +1587 -0
  216. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/cmakeFiles-v1-a03e763d0c6effec9f6f.json +857 -0
  217. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/codemodel-v2-2412bbfc0c74a0dc613a.json +158 -0
  218. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json +14 -0
  219. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/directory-libyuv-Debug-7cf182a5e476bc9b5f34.json +100 -0
  220. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/index-2025-11-18T09-41-52-0585.json +92 -0
  221. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-cpuid-Debug-931d089bced0b77c5070.json +136 -0
  222. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-faceantispoof-Debug-7b58f88faeacc46f961d.json +181 -0
  223. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-fastyuv-Debug-9283b76b8a94ba273122.json +157 -0
  224. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-yuv-Debug-c270d4a92a15ef45f650.json +368 -0
  225. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-yuv_common_objects-Debug-ae517204d04beeb2df23.json +522 -0
  226. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-yuv_shared-Debug-42c6196dd1672984dcd7.json +390 -0
  227. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-yuvconstants-Debug-7e8432d4753ee3bd592d.json +136 -0
  228. package/android/.cxx/Debug/2a3w6u3n/x86/.cmake/api/v1/reply/target-yuvconvert-Debug-2cc934aa605d443ac9a1.json +157 -0
  229. package/android/.cxx/Debug/2a3w6u3n/x86/.ninja_deps +0 -0
  230. package/android/.cxx/Debug/2a3w6u3n/x86/.ninja_log +55 -0
  231. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeCache.txt +463 -0
  232. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCCompiler.cmake +72 -0
  233. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCXXCompiler.cmake +83 -0
  234. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_C.bin +0 -0
  235. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_CXX.bin +0 -0
  236. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CMakeSystem.cmake +15 -0
  237. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.c +803 -0
  238. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.o +0 -0
  239. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
  240. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  241. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/CMakeOutput.log +258 -0
  242. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/TargetDirectories.txt +24 -0
  243. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/cmake.check_cache +1 -0
  244. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/faceantispoof.dir/FaceAntiSpoofJSI.cpp.o +0 -0
  245. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/faceantispoof.dir/c9fdc8b0d027394fa06b64ba7ac7706f/react-native/ReactCommon/jsi/jsi/jsi.cpp.o +0 -0
  246. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/fastyuv.dir/FastYuvJni.cpp.o +0 -0
  247. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/fastyuv.dir/fast_yuv.cpp.o +0 -0
  248. package/android/.cxx/Debug/2a3w6u3n/x86/CMakeFiles/rules.ninja +168 -0
  249. package/android/.cxx/Debug/2a3w6u3n/x86/CPackConfig.cmake +71 -0
  250. package/android/.cxx/Debug/2a3w6u3n/x86/CPackSourceConfig.cmake +79 -0
  251. package/android/.cxx/Debug/2a3w6u3n/x86/additional_project_files.txt +40 -0
  252. package/android/.cxx/Debug/2a3w6u3n/x86/android_gradle_build.json +91 -0
  253. package/android/.cxx/Debug/2a3w6u3n/x86/android_gradle_build_mini.json +72 -0
  254. package/android/.cxx/Debug/2a3w6u3n/x86/build.ninja +945 -0
  255. package/android/.cxx/Debug/2a3w6u3n/x86/build_file_index.txt +3 -0
  256. package/android/.cxx/Debug/2a3w6u3n/x86/cmake_install.cmake +59 -0
  257. package/android/.cxx/Debug/2a3w6u3n/x86/compile_commands.json +237 -0
  258. package/android/.cxx/Debug/2a3w6u3n/x86/compile_commands.json.bin +0 -0
  259. package/android/.cxx/Debug/2a3w6u3n/x86/configure_fingerprint.bin +29 -0
  260. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/cpuid.dir/util/cpuid.c.o +0 -0
  261. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare.cc.o +0 -0
  262. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_common.cc.o +0 -0
  263. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_gcc.cc.o +0 -0
  264. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_win.cc.o +0 -0
  265. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert.cc.o +0 -0
  266. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_argb.cc.o +0 -0
  267. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from.cc.o +0 -0
  268. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from_argb.cc.o +0 -0
  269. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_jpeg.cc.o +0 -0
  270. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_argb.cc.o +0 -0
  271. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_i420.cc.o +0 -0
  272. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/cpu_id.cc.o +0 -0
  273. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_decoder.cc.o +0 -0
  274. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_validate.cc.o +0 -0
  275. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/planar_functions.cc.o +0 -0
  276. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate.cc.o +0 -0
  277. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_any.cc.o +0 -0
  278. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_argb.cc.o +0 -0
  279. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_common.cc.o +0 -0
  280. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_gcc.cc.o +0 -0
  281. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_lsx.cc.o +0 -0
  282. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_win.cc.o +0 -0
  283. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_any.cc.o +0 -0
  284. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_common.cc.o +0 -0
  285. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_gcc.cc.o +0 -0
  286. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lasx.cc.o +0 -0
  287. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lsx.cc.o +0 -0
  288. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_rvv.cc.o +0 -0
  289. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_win.cc.o +0 -0
  290. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale.cc.o +0 -0
  291. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_any.cc.o +0 -0
  292. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_argb.cc.o +0 -0
  293. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_common.cc.o +0 -0
  294. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_gcc.cc.o +0 -0
  295. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_lsx.cc.o +0 -0
  296. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rgb.cc.o +0 -0
  297. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rvv.cc.o +0 -0
  298. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_uv.cc.o +0 -0
  299. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_win.cc.o +0 -0
  300. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuv_common_objects.dir/source/video_common.cc.o +0 -0
  301. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuvconstants.dir/util/yuvconstants.c.o +0 -0
  302. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/CMakeFiles/yuvconvert.dir/util/yuvconvert.cc.o +0 -0
  303. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/cmake_install.cmake +87 -0
  304. package/android/.cxx/Debug/2a3w6u3n/x86/libyuv/libyuv.a +0 -0
  305. package/android/.cxx/Debug/2a3w6u3n/x86/metadata_generation_command.txt +19 -0
  306. package/android/.cxx/Debug/2a3w6u3n/x86/prefab_config.json +4 -0
  307. package/android/.cxx/Debug/2a3w6u3n/x86/symbol_folder_index.txt +1 -0
  308. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
  309. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
  310. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
  311. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/cache-v2-5ca7fb88a80849964189.json +1587 -0
  312. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-9871675aa6610f6180ca.json +857 -0
  313. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/codemodel-v2-deb41c72c38c1ff57431.json +158 -0
  314. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/directory-.-Debug-d0094a50bb2071803777.json +14 -0
  315. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/directory-libyuv-Debug-edf355e979425c71897d.json +100 -0
  316. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/index-2025-11-18T09-42-00-0374.json +92 -0
  317. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-cpuid-Debug-264b6f675c69e42e8113.json +136 -0
  318. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-faceantispoof-Debug-c95714fd9c4cd04d4222.json +181 -0
  319. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-fastyuv-Debug-80c6b1b5d8e35770dde3.json +157 -0
  320. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-yuv-Debug-6d3d5c5dcc6bffc18ce6.json +368 -0
  321. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-yuv_common_objects-Debug-ae517204d04beeb2df23.json +522 -0
  322. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-yuv_shared-Debug-6e364a075e5b9b47274e.json +390 -0
  323. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-yuvconstants-Debug-f6a29384c5629faf75f4.json +136 -0
  324. package/android/.cxx/Debug/2a3w6u3n/x86_64/.cmake/api/v1/reply/target-yuvconvert-Debug-dca5f1cf9af89281fc95.json +157 -0
  325. package/android/.cxx/Debug/2a3w6u3n/x86_64/.ninja_deps +0 -0
  326. package/android/.cxx/Debug/2a3w6u3n/x86_64/.ninja_log +55 -0
  327. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeCache.txt +463 -0
  328. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCCompiler.cmake +72 -0
  329. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CMakeCXXCompiler.cmake +83 -0
  330. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_C.bin +0 -0
  331. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CMakeDetermineCompilerABI_CXX.bin +0 -0
  332. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CMakeSystem.cmake +15 -0
  333. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.c +803 -0
  334. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdC/CMakeCCompilerId.o +0 -0
  335. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
  336. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/3.22.1-g37088a8-dirty/CompilerIdCXX/CMakeCXXCompilerId.o +0 -0
  337. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/CMakeOutput.log +258 -0
  338. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/TargetDirectories.txt +24 -0
  339. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/cmake.check_cache +1 -0
  340. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/faceantispoof.dir/FaceAntiSpoofJSI.cpp.o +0 -0
  341. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/faceantispoof.dir/c9fdc8b0d027394fa06b64ba7ac7706f/react-native/ReactCommon/jsi/jsi/jsi.cpp.o +0 -0
  342. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/fastyuv.dir/FastYuvJni.cpp.o +0 -0
  343. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/fastyuv.dir/fast_yuv.cpp.o +0 -0
  344. package/android/.cxx/Debug/2a3w6u3n/x86_64/CMakeFiles/rules.ninja +168 -0
  345. package/android/.cxx/Debug/2a3w6u3n/x86_64/CPackConfig.cmake +71 -0
  346. package/android/.cxx/Debug/2a3w6u3n/x86_64/CPackSourceConfig.cmake +79 -0
  347. package/android/.cxx/Debug/2a3w6u3n/x86_64/additional_project_files.txt +40 -0
  348. package/android/.cxx/Debug/2a3w6u3n/x86_64/android_gradle_build.json +91 -0
  349. package/android/.cxx/Debug/2a3w6u3n/x86_64/android_gradle_build_mini.json +72 -0
  350. package/android/.cxx/Debug/2a3w6u3n/x86_64/build.ninja +945 -0
  351. package/android/.cxx/Debug/2a3w6u3n/x86_64/build_file_index.txt +3 -0
  352. package/android/.cxx/Debug/2a3w6u3n/x86_64/cmake_install.cmake +59 -0
  353. package/android/.cxx/Debug/2a3w6u3n/x86_64/compile_commands.json +237 -0
  354. package/android/.cxx/Debug/2a3w6u3n/x86_64/compile_commands.json.bin +0 -0
  355. package/android/.cxx/Debug/2a3w6u3n/x86_64/configure_fingerprint.bin +29 -0
  356. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/cpuid.dir/util/cpuid.c.o +0 -0
  357. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare.cc.o +0 -0
  358. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_common.cc.o +0 -0
  359. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_gcc.cc.o +0 -0
  360. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/compare_win.cc.o +0 -0
  361. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert.cc.o +0 -0
  362. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_argb.cc.o +0 -0
  363. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from.cc.o +0 -0
  364. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_from_argb.cc.o +0 -0
  365. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_jpeg.cc.o +0 -0
  366. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_argb.cc.o +0 -0
  367. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/convert_to_i420.cc.o +0 -0
  368. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/cpu_id.cc.o +0 -0
  369. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_decoder.cc.o +0 -0
  370. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/mjpeg_validate.cc.o +0 -0
  371. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/planar_functions.cc.o +0 -0
  372. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate.cc.o +0 -0
  373. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_any.cc.o +0 -0
  374. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_argb.cc.o +0 -0
  375. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_common.cc.o +0 -0
  376. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_gcc.cc.o +0 -0
  377. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_lsx.cc.o +0 -0
  378. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/rotate_win.cc.o +0 -0
  379. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_any.cc.o +0 -0
  380. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_common.cc.o +0 -0
  381. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_gcc.cc.o +0 -0
  382. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lasx.cc.o +0 -0
  383. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_lsx.cc.o +0 -0
  384. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_rvv.cc.o +0 -0
  385. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/row_win.cc.o +0 -0
  386. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale.cc.o +0 -0
  387. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_any.cc.o +0 -0
  388. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_argb.cc.o +0 -0
  389. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_common.cc.o +0 -0
  390. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_gcc.cc.o +0 -0
  391. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_lsx.cc.o +0 -0
  392. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rgb.cc.o +0 -0
  393. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_rvv.cc.o +0 -0
  394. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_uv.cc.o +0 -0
  395. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/scale_win.cc.o +0 -0
  396. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuv_common_objects.dir/source/video_common.cc.o +0 -0
  397. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuvconstants.dir/util/yuvconstants.c.o +0 -0
  398. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/CMakeFiles/yuvconvert.dir/util/yuvconvert.cc.o +0 -0
  399. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/cmake_install.cmake +87 -0
  400. package/android/.cxx/Debug/2a3w6u3n/x86_64/libyuv/libyuv.a +0 -0
  401. package/android/.cxx/Debug/2a3w6u3n/x86_64/metadata_generation_command.txt +19 -0
  402. package/android/.cxx/Debug/2a3w6u3n/x86_64/prefab_config.json +4 -0
  403. package/android/.cxx/Debug/2a3w6u3n/x86_64/symbol_folder_index.txt +1 -0
  404. package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +277 -0
  405. package/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +257 -0
  406. package/android/.cxx/tools/debug/x86/compile_commands.json +237 -0
  407. package/android/.cxx/tools/debug/x86_64/compile_commands.json +237 -0
  408. package/android/build/.transforms/477a48f41cbd60a6044ae2b6659edb2d/results.bin +1 -0
  409. package/android/build/.transforms/477a48f41cbd60a6044ae2b6659edb2d/transformed/classes/classes_dex/classes.dex +0 -0
  410. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/results.bin +1 -0
  411. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/AcceleratorConfig.dex +0 -0
  412. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/AntiSpoofingResult.dex +0 -0
  413. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/BuildConfig.dex +0 -0
  414. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofFrameProcessor.dex +0 -0
  415. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofModule$Companion.dex +0 -0
  416. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofModule.dex +0 -0
  417. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofPackage.dex +0 -0
  418. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.dex +0 -0
  419. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FaceAntiSpoofingAdvanced.dex +0 -0
  420. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/FastYuv.dex +0 -0
  421. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/YuvToFloatArrayConverter.dex +0 -0
  422. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/faceantispoof/YuvToRgbConverter.dex +0 -0
  423. package/android/build/.transforms/4b58c518b6e650677b3ff7c47c32914f/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  424. package/android/build/generated/source/buildConfig/debug/com/faceantispoof/BuildConfig.java +14 -0
  425. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +13 -0
  426. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  427. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  428. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  429. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  430. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  431. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
  432. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/build_command_targets.bat +10 -0
  433. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/build_model.json +199 -0
  434. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/build_stderr_targets.txt +0 -0
  435. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/build_stdout_targets.txt +63 -0
  436. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/configure_command.bat +19 -0
  437. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/configure_stderr.txt +0 -0
  438. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/configure_stdout.txt +21 -0
  439. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/generate_cxx_metadata_8656_timing.txt +9 -0
  440. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/arm64-v8a/metadata_generation_record.json +158 -0
  441. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/build_command_targets.bat +10 -0
  442. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/build_model.json +199 -0
  443. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/build_stderr_targets.txt +0 -0
  444. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/build_stdout_targets.txt +59 -0
  445. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/configure_command.bat +19 -0
  446. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/configure_stderr.txt +1 -0
  447. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/configure_stdout.txt +19 -0
  448. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/generate_cxx_metadata_8659_timing.txt +9 -0
  449. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/armeabi-v7a/metadata_generation_record.json +158 -0
  450. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/build_command_targets.bat +10 -0
  451. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/build_model.json +199 -0
  452. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/build_stderr_targets.txt +0 -0
  453. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/build_stdout_targets.txt +55 -0
  454. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/configure_command.bat +19 -0
  455. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/configure_stderr.txt +0 -0
  456. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/configure_stdout.txt +19 -0
  457. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/generate_cxx_metadata_8659_timing.txt +9 -0
  458. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86/metadata_generation_record.json +158 -0
  459. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/build_command_targets.bat +10 -0
  460. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/build_model.json +199 -0
  461. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/build_stderr_targets.txt +0 -0
  462. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/build_stdout_targets.txt +55 -0
  463. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/configure_command.bat +19 -0
  464. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/configure_stderr.txt +0 -0
  465. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/configure_stdout.txt +19 -0
  466. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/generate_cxx_metadata_8659_timing.txt +9 -0
  467. package/android/build/intermediates/cxx/Debug/2a3w6u3n/logs/x86_64/metadata_generation_record.json +158 -0
  468. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/cpuid +0 -0
  469. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/libfaceantispoof.so +0 -0
  470. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/libfastyuv.so +0 -0
  471. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/libyuv.so +0 -0
  472. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/yuvconstants +0 -0
  473. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/arm64-v8a/yuvconvert +0 -0
  474. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/cpuid +0 -0
  475. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/libfaceantispoof.so +0 -0
  476. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/libfastyuv.so +0 -0
  477. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/libyuv.so +0 -0
  478. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/yuvconstants +0 -0
  479. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/armeabi-v7a/yuvconvert +0 -0
  480. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/cpuid +0 -0
  481. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/libfaceantispoof.so +0 -0
  482. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/libfastyuv.so +0 -0
  483. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/libyuv.so +0 -0
  484. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/yuvconstants +0 -0
  485. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86/yuvconvert +0 -0
  486. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/cpuid +0 -0
  487. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/libfaceantispoof.so +0 -0
  488. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/libfastyuv.so +0 -0
  489. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/libyuv.so +0 -0
  490. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/yuvconstants +0 -0
  491. package/android/build/intermediates/cxx/Debug/2a3w6u3n/obj/x86_64/yuvconvert +0 -0
  492. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  493. package/android/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +4 -0
  494. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  495. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  496. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  497. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  498. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-vision-camera-face-antispoof-detector_debug.kotlin_module +0 -0
  499. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/faceantispoof/BuildConfig.class +0 -0
  500. package/android/build/intermediates/library_assets/debug/packageDebugAssets/out/FaceAntiSpoofing.tflite +0 -0
  501. package/android/build/intermediates/library_assets/debug/packageDebugAssets/out/spoof_model_scale_2_7.tflite +0 -0
  502. package/android/build/intermediates/library_assets/debug/packageDebugAssets/out/spoof_model_scale_4_0.tflite +0 -0
  503. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/arm64-v8a/libfaceantispoof.so +0 -0
  504. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/arm64-v8a/libfastyuv.so +0 -0
  505. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/arm64-v8a/libyuv.so +0 -0
  506. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/armeabi-v7a/libfaceantispoof.so +0 -0
  507. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/armeabi-v7a/libfastyuv.so +0 -0
  508. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/armeabi-v7a/libyuv.so +0 -0
  509. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86/libfaceantispoof.so +0 -0
  510. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86/libfastyuv.so +0 -0
  511. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86/libyuv.so +0 -0
  512. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86_64/libfaceantispoof.so +0 -0
  513. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86_64/libfastyuv.so +0 -0
  514. package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86_64/libyuv.so +0 -0
  515. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
  516. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +17 -0
  517. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +13 -0
  518. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/arm64-v8a/libfaceantispoof.so +0 -0
  519. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/arm64-v8a/libfastyuv.so +0 -0
  520. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/arm64-v8a/libyuv.so +0 -0
  521. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/armeabi-v7a/libfaceantispoof.so +0 -0
  522. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/armeabi-v7a/libfastyuv.so +0 -0
  523. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/armeabi-v7a/libyuv.so +0 -0
  524. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86/libfaceantispoof.so +0 -0
  525. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86/libfastyuv.so +0 -0
  526. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86/libyuv.so +0 -0
  527. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86_64/libfaceantispoof.so +0 -0
  528. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86_64/libfastyuv.so +0 -0
  529. package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86_64/libyuv.so +0 -0
  530. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  531. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  532. package/android/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +4 -0
  533. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-vision-camera-face-antispoof-detector_debug.kotlin_module +0 -0
  534. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/AcceleratorConfig.class +0 -0
  535. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/AntiSpoofingResult.class +0 -0
  536. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/BuildConfig.class +0 -0
  537. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofFrameProcessor.class +0 -0
  538. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofModule$Companion.class +0 -0
  539. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofModule.class +0 -0
  540. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofPackage.class +0 -0
  541. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.class +0 -0
  542. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FaceAntiSpoofingAdvanced.class +0 -0
  543. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/FastYuv.class +0 -0
  544. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/YuvToFloatArrayConverter.class +0 -0
  545. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/faceantispoof/YuvToRgbConverter.class +0 -0
  546. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  547. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
  548. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  549. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  550. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  551. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  552. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  553. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  554. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  555. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  556. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  557. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  558. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  559. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  560. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  561. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  562. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  563. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  564. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  565. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  566. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  567. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  568. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  569. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  570. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  571. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  572. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  573. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  574. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  575. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  576. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  577. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  578. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  579. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  580. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  581. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  582. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  583. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  584. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  585. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  586. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  587. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  588. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  589. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  590. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  591. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  592. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  593. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  594. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  595. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  596. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  597. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  598. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  599. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  600. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  601. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  602. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  603. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  604. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  605. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  606. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  607. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  608. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  609. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  610. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  611. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  612. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  613. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  614. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  615. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  616. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  617. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  618. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  619. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  620. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  621. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  622. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  623. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  624. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  625. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  626. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  627. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  628. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  629. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  630. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  631. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  632. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  633. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  634. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  635. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  636. package/android/build/outputs/logs/manifest-merger-debug-report.txt +25 -0
  637. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  638. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-vision-camera-face-antispoof-detector_debug.kotlin_module +0 -0
  639. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/AcceleratorConfig.class +0 -0
  640. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/AntiSpoofingResult.class +0 -0
  641. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofFrameProcessor.class +0 -0
  642. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofModule$Companion.class +0 -0
  643. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofModule.class +0 -0
  644. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofPackage.class +0 -0
  645. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced$Companion.class +0 -0
  646. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FaceAntiSpoofingAdvanced.class +0 -0
  647. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/FastYuv.class +0 -0
  648. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/YuvToFloatArrayConverter.class +0 -0
  649. package/android/build/tmp/kotlin-classes/debug/com/faceantispoof/YuvToRgbConverter.class +0 -0
  650. package/android/build.gradle +128 -0
  651. package/android/src/main/AndroidManifest.xml +9 -0
  652. package/android/src/main/assets/FaceAntiSpoofing.tflite +0 -0
  653. package/android/src/main/assets/spoof_model_scale_2_7.tflite +0 -0
  654. package/android/src/main/assets/spoof_model_scale_4_0.tflite +0 -0
  655. package/android/src/main/cpp/CMakeLists.txt +94 -0
  656. package/android/src/main/cpp/FaceAntiSpoofJSI.cpp +68 -0
  657. package/android/src/main/cpp/FastYuvJni.cpp +111 -0
  658. package/android/src/main/cpp/fast_yuv.cpp +332 -0
  659. package/android/src/main/cpp/fast_yuv.h +23 -0
  660. package/android/src/main/cpp/libyuv/.clang-format +6 -0
  661. package/android/src/main/cpp/libyuv/.gn +40 -0
  662. package/android/src/main/cpp/libyuv/.vpython3 +410 -0
  663. package/android/src/main/cpp/libyuv/AUTHORS +7 -0
  664. package/android/src/main/cpp/libyuv/Android.bp +202 -0
  665. package/android/src/main/cpp/libyuv/Android.mk +106 -0
  666. package/android/src/main/cpp/libyuv/BUILD.gn +490 -0
  667. package/android/src/main/cpp/libyuv/CM_linux_packages.cmake +70 -0
  668. package/android/src/main/cpp/libyuv/CMakeLists.txt +252 -0
  669. package/android/src/main/cpp/libyuv/DEPS +935 -0
  670. package/android/src/main/cpp/libyuv/DIR_METADATA +3 -0
  671. package/android/src/main/cpp/libyuv/LICENSE +29 -0
  672. package/android/src/main/cpp/libyuv/OWNERS +11 -0
  673. package/android/src/main/cpp/libyuv/PATENTS +24 -0
  674. package/android/src/main/cpp/libyuv/PRESUBMIT.py +65 -0
  675. package/android/src/main/cpp/libyuv/README.chromium +11 -0
  676. package/android/src/main/cpp/libyuv/README.md +19 -0
  677. package/android/src/main/cpp/libyuv/build_overrides/build.gni +60 -0
  678. package/android/src/main/cpp/libyuv/build_overrides/gtest.gni +19 -0
  679. package/android/src/main/cpp/libyuv/build_overrides/partition_alloc.gni +17 -0
  680. package/android/src/main/cpp/libyuv/codereview.settings +5 -0
  681. package/android/src/main/cpp/libyuv/docs/deprecated_builds.md +409 -0
  682. package/android/src/main/cpp/libyuv/docs/environment_variables.md +64 -0
  683. package/android/src/main/cpp/libyuv/docs/feature_detection.md +108 -0
  684. package/android/src/main/cpp/libyuv/docs/filtering.md +196 -0
  685. package/android/src/main/cpp/libyuv/docs/formats.md +208 -0
  686. package/android/src/main/cpp/libyuv/docs/getting_started.md +296 -0
  687. package/android/src/main/cpp/libyuv/docs/rotation.md +107 -0
  688. package/android/src/main/cpp/libyuv/download_vs_toolchain.py +29 -0
  689. package/android/src/main/cpp/libyuv/include/libyuv/basic_types.h +68 -0
  690. package/android/src/main/cpp/libyuv/include/libyuv/compare.h +111 -0
  691. package/android/src/main/cpp/libyuv/include/libyuv/compare_row.h +112 -0
  692. package/android/src/main/cpp/libyuv/include/libyuv/convert.h +1117 -0
  693. package/android/src/main/cpp/libyuv/include/libyuv/convert_argb.h +2335 -0
  694. package/android/src/main/cpp/libyuv/include/libyuv/convert_from.h +203 -0
  695. package/android/src/main/cpp/libyuv/include/libyuv/convert_from_argb.h +394 -0
  696. package/android/src/main/cpp/libyuv/include/libyuv/cpu_id.h +147 -0
  697. package/android/src/main/cpp/libyuv/include/libyuv/cpu_support.h +99 -0
  698. package/android/src/main/cpp/libyuv/include/libyuv/loongson_intrinsics.h +1949 -0
  699. package/android/src/main/cpp/libyuv/include/libyuv/mjpeg_decoder.h +195 -0
  700. package/android/src/main/cpp/libyuv/include/libyuv/planar_functions.h +1131 -0
  701. package/android/src/main/cpp/libyuv/include/libyuv/rotate.h +296 -0
  702. package/android/src/main/cpp/libyuv/include/libyuv/rotate_argb.h +37 -0
  703. package/android/src/main/cpp/libyuv/include/libyuv/rotate_row.h +265 -0
  704. package/android/src/main/cpp/libyuv/include/libyuv/row.h +6738 -0
  705. package/android/src/main/cpp/libyuv/include/libyuv/row_sve.h +2154 -0
  706. package/android/src/main/cpp/libyuv/include/libyuv/scale.h +336 -0
  707. package/android/src/main/cpp/libyuv/include/libyuv/scale_argb.h +76 -0
  708. package/android/src/main/cpp/libyuv/include/libyuv/scale_rgb.h +42 -0
  709. package/android/src/main/cpp/libyuv/include/libyuv/scale_row.h +1726 -0
  710. package/android/src/main/cpp/libyuv/include/libyuv/scale_uv.h +51 -0
  711. package/android/src/main/cpp/libyuv/include/libyuv/version.h +16 -0
  712. package/android/src/main/cpp/libyuv/include/libyuv/video_common.h +222 -0
  713. package/android/src/main/cpp/libyuv/include/libyuv.h +33 -0
  714. package/android/src/main/cpp/libyuv/infra/config/OWNERS +3 -0
  715. package/android/src/main/cpp/libyuv/infra/config/PRESUBMIT.py +17 -0
  716. package/android/src/main/cpp/libyuv/infra/config/README.md +2 -0
  717. package/android/src/main/cpp/libyuv/infra/config/codereview.settings +6 -0
  718. package/android/src/main/cpp/libyuv/infra/config/commit-queue.cfg +144 -0
  719. package/android/src/main/cpp/libyuv/infra/config/cr-buildbucket.cfg +1185 -0
  720. package/android/src/main/cpp/libyuv/infra/config/luci-logdog.cfg +9 -0
  721. package/android/src/main/cpp/libyuv/infra/config/luci-milo.cfg +246 -0
  722. package/android/src/main/cpp/libyuv/infra/config/luci-scheduler.cfg +385 -0
  723. package/android/src/main/cpp/libyuv/infra/config/main.star +402 -0
  724. package/android/src/main/cpp/libyuv/infra/config/project.cfg +16 -0
  725. package/android/src/main/cpp/libyuv/infra/config/realms.cfg +111 -0
  726. package/android/src/main/cpp/libyuv/libyuv.gni +34 -0
  727. package/android/src/main/cpp/libyuv/libyuv.gyp +149 -0
  728. package/android/src/main/cpp/libyuv/libyuv.gypi +87 -0
  729. package/android/src/main/cpp/libyuv/linux.mk +96 -0
  730. package/android/src/main/cpp/libyuv/public.mk +13 -0
  731. package/android/src/main/cpp/libyuv/pylintrc +49 -0
  732. package/android/src/main/cpp/libyuv/riscv_script/prepare_toolchain_qemu.sh +74 -0
  733. package/android/src/main/cpp/libyuv/riscv_script/riscv-clang.cmake +56 -0
  734. package/android/src/main/cpp/libyuv/riscv_script/run_qemu.sh +15 -0
  735. package/android/src/main/cpp/libyuv/source/compare.cc +435 -0
  736. package/android/src/main/cpp/libyuv/source/compare_common.cc +74 -0
  737. package/android/src/main/cpp/libyuv/source/compare_gcc.cc +362 -0
  738. package/android/src/main/cpp/libyuv/source/compare_neon.cc +96 -0
  739. package/android/src/main/cpp/libyuv/source/compare_neon64.cc +223 -0
  740. package/android/src/main/cpp/libyuv/source/compare_win.cc +241 -0
  741. package/android/src/main/cpp/libyuv/source/convert.cc +4746 -0
  742. package/android/src/main/cpp/libyuv/source/convert_argb.cc +9179 -0
  743. package/android/src/main/cpp/libyuv/source/convert_from.cc +866 -0
  744. package/android/src/main/cpp/libyuv/source/convert_from_argb.cc +3671 -0
  745. package/android/src/main/cpp/libyuv/source/convert_jpeg.cc +602 -0
  746. package/android/src/main/cpp/libyuv/source/convert_to_argb.cc +391 -0
  747. package/android/src/main/cpp/libyuv/source/convert_to_i420.cc +288 -0
  748. package/android/src/main/cpp/libyuv/source/cpu_id.cc +496 -0
  749. package/android/src/main/cpp/libyuv/source/mjpeg_decoder.cc +580 -0
  750. package/android/src/main/cpp/libyuv/source/mjpeg_validate.cc +71 -0
  751. package/android/src/main/cpp/libyuv/source/planar_functions.cc +5663 -0
  752. package/android/src/main/cpp/libyuv/source/rotate.cc +1241 -0
  753. package/android/src/main/cpp/libyuv/source/rotate_any.cc +76 -0
  754. package/android/src/main/cpp/libyuv/source/rotate_argb.cc +259 -0
  755. package/android/src/main/cpp/libyuv/source/rotate_common.cc +208 -0
  756. package/android/src/main/cpp/libyuv/source/rotate_gcc.cc +505 -0
  757. package/android/src/main/cpp/libyuv/source/rotate_lsx.cc +233 -0
  758. package/android/src/main/cpp/libyuv/source/rotate_neon.cc +219 -0
  759. package/android/src/main/cpp/libyuv/source/rotate_neon64.cc +273 -0
  760. package/android/src/main/cpp/libyuv/source/rotate_sme.cc +174 -0
  761. package/android/src/main/cpp/libyuv/source/rotate_win.cc +253 -0
  762. package/android/src/main/cpp/libyuv/source/row_any.cc +2519 -0
  763. package/android/src/main/cpp/libyuv/source/row_common.cc +4461 -0
  764. package/android/src/main/cpp/libyuv/source/row_gcc.cc +9570 -0
  765. package/android/src/main/cpp/libyuv/source/row_lasx.cc +2343 -0
  766. package/android/src/main/cpp/libyuv/source/row_lsx.cc +3030 -0
  767. package/android/src/main/cpp/libyuv/source/row_neon.cc +4026 -0
  768. package/android/src/main/cpp/libyuv/source/row_neon64.cc +5617 -0
  769. package/android/src/main/cpp/libyuv/source/row_rvv.cc +2599 -0
  770. package/android/src/main/cpp/libyuv/source/row_sme.cc +1183 -0
  771. package/android/src/main/cpp/libyuv/source/row_sve.cc +1088 -0
  772. package/android/src/main/cpp/libyuv/source/row_win.cc +6453 -0
  773. package/android/src/main/cpp/libyuv/source/scale.cc +2710 -0
  774. package/android/src/main/cpp/libyuv/source/scale_any.cc +991 -0
  775. package/android/src/main/cpp/libyuv/source/scale_argb.cc +1158 -0
  776. package/android/src/main/cpp/libyuv/source/scale_common.cc +1977 -0
  777. package/android/src/main/cpp/libyuv/source/scale_gcc.cc +2947 -0
  778. package/android/src/main/cpp/libyuv/source/scale_lsx.cc +739 -0
  779. package/android/src/main/cpp/libyuv/source/scale_neon.cc +1449 -0
  780. package/android/src/main/cpp/libyuv/source/scale_neon64.cc +1552 -0
  781. package/android/src/main/cpp/libyuv/source/scale_rgb.cc +82 -0
  782. package/android/src/main/cpp/libyuv/source/scale_rvv.cc +1971 -0
  783. package/android/src/main/cpp/libyuv/source/scale_sme.cc +555 -0
  784. package/android/src/main/cpp/libyuv/source/scale_uv.cc +1159 -0
  785. package/android/src/main/cpp/libyuv/source/scale_win.cc +1392 -0
  786. package/android/src/main/cpp/libyuv/source/test.sh +35 -0
  787. package/android/src/main/cpp/libyuv/source/video_common.cc +62 -0
  788. package/android/src/main/cpp/libyuv/tools_libyuv/OWNERS +4 -0
  789. package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/roll_deps.py +931 -0
  790. package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/roll_deps_test.py +164 -0
  791. package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS +21 -0
  792. package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.new +13 -0
  793. package/android/src/main/cpp/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old +13 -0
  794. package/android/src/main/cpp/libyuv/tools_libyuv/get_landmines.py +38 -0
  795. package/android/src/main/cpp/libyuv/tools_libyuv/msan/OWNERS +3 -0
  796. package/android/src/main/cpp/libyuv/tools_libyuv/msan/blacklist.txt +9 -0
  797. package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/OWNERS +3 -0
  798. package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/blacklist.txt +15 -0
  799. package/android/src/main/cpp/libyuv/tools_libyuv/ubsan/vptr_blacklist.txt +25 -0
  800. package/android/src/main/cpp/libyuv/unit_test/basictypes_test.cc +43 -0
  801. package/android/src/main/cpp/libyuv/unit_test/color_test.cc +848 -0
  802. package/android/src/main/cpp/libyuv/unit_test/compare_test.cc +739 -0
  803. package/android/src/main/cpp/libyuv/unit_test/convert_argb_test.cc +2867 -0
  804. package/android/src/main/cpp/libyuv/unit_test/convert_test.cc +2133 -0
  805. package/android/src/main/cpp/libyuv/unit_test/cpu_test.cc +427 -0
  806. package/android/src/main/cpp/libyuv/unit_test/cpu_thread_test.cc +63 -0
  807. package/android/src/main/cpp/libyuv/unit_test/math_test.cc +160 -0
  808. package/android/src/main/cpp/libyuv/unit_test/planar_test.cc +4731 -0
  809. package/android/src/main/cpp/libyuv/unit_test/rotate_argb_test.cc +334 -0
  810. package/android/src/main/cpp/libyuv/unit_test/rotate_test.cc +962 -0
  811. package/android/src/main/cpp/libyuv/unit_test/scale_argb_test.cc +590 -0
  812. package/android/src/main/cpp/libyuv/unit_test/scale_plane_test.cc +465 -0
  813. package/android/src/main/cpp/libyuv/unit_test/scale_rgb_test.cc +280 -0
  814. package/android/src/main/cpp/libyuv/unit_test/scale_test.cc +1135 -0
  815. package/android/src/main/cpp/libyuv/unit_test/scale_uv_test.cc +249 -0
  816. package/android/src/main/cpp/libyuv/unit_test/testdata/arm_v7.txt +12 -0
  817. package/android/src/main/cpp/libyuv/unit_test/testdata/mips.txt +7 -0
  818. package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson2k.txt +5 -0
  819. package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson3.txt +10 -0
  820. package/android/src/main/cpp/libyuv/unit_test/testdata/mips_loongson_mmi.txt +7 -0
  821. package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64.txt +4 -0
  822. package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv.txt +4 -0
  823. package/android/src/main/cpp/libyuv/unit_test/testdata/riscv64_rvv_zvfh.txt +4 -0
  824. package/android/src/main/cpp/libyuv/unit_test/testdata/tegra3.txt +23 -0
  825. package/android/src/main/cpp/libyuv/unit_test/testdata/test0.jpg +0 -0
  826. package/android/src/main/cpp/libyuv/unit_test/testdata/test1.jpg +0 -0
  827. package/android/src/main/cpp/libyuv/unit_test/testdata/test2.jpg +0 -0
  828. package/android/src/main/cpp/libyuv/unit_test/testdata/test3.jpg +0 -0
  829. package/android/src/main/cpp/libyuv/unit_test/testdata/test4.jpg +0 -0
  830. package/android/src/main/cpp/libyuv/unit_test/unit_test.cc +581 -0
  831. package/android/src/main/cpp/libyuv/unit_test/unit_test.h +232 -0
  832. package/android/src/main/cpp/libyuv/unit_test/video_common_test.cc +112 -0
  833. package/android/src/main/cpp/libyuv/util/Makefile +9 -0
  834. package/android/src/main/cpp/libyuv/util/color.cc +120 -0
  835. package/android/src/main/cpp/libyuv/util/compare.cc +67 -0
  836. package/android/src/main/cpp/libyuv/util/cpuid.c +211 -0
  837. package/android/src/main/cpp/libyuv/util/i444tonv12_eg.cc +28 -0
  838. package/android/src/main/cpp/libyuv/util/psnr.cc +291 -0
  839. package/android/src/main/cpp/libyuv/util/psnr.h +47 -0
  840. package/android/src/main/cpp/libyuv/util/psnr_main.cc +620 -0
  841. package/android/src/main/cpp/libyuv/util/ssim.cc +364 -0
  842. package/android/src/main/cpp/libyuv/util/ssim.h +38 -0
  843. package/android/src/main/cpp/libyuv/util/yuvconstants.c +114 -0
  844. package/android/src/main/cpp/libyuv/util/yuvconvert.cc +367 -0
  845. package/android/src/main/cpp/libyuv/winarm.mk +47 -0
  846. package/android/src/main/java/com/faceantispoof/AcceleratorConfig.kt +49 -0
  847. package/android/src/main/java/com/faceantispoof/FaceAntiSpoofFrameProcessor.kt +145 -0
  848. package/android/src/main/java/com/faceantispoof/FaceAntiSpoofModule.kt +170 -0
  849. package/android/src/main/java/com/faceantispoof/FaceAntiSpoofPackage.kt +38 -0
  850. package/android/src/main/java/com/faceantispoof/FaceAntiSpoofingAdvanced.kt +288 -0
  851. package/android/src/main/java/com/faceantispoof/FastYuv.kt +51 -0
  852. package/android/src/main/java/com/faceantispoof/YuvToFloatArrayConverter.kt +198 -0
  853. package/android/src/main/java/com/faceantispoof/YuvToRgbConverter.kt +73 -0
  854. package/android/src/main/res/values/strings.xml +3 -0
  855. package/index.d.ts +84 -0
  856. package/index.js +47 -0
  857. package/package.json +73 -0
@@ -0,0 +1,1949 @@
1
+ /*
2
+ * Copyright 2022 The LibYuv Project Authors. All rights reserved.
3
+ *
4
+ * Use of this source code is governed by a BSD-style license
5
+ * that can be found in the LICENSE file in the root of the source
6
+ * tree. An additional intellectual property rights grant can be found
7
+ * in the file PATENTS. All contributing project authors may
8
+ * be found in the AUTHORS file in the root of the source tree.
9
+ */
10
+
11
+ #ifndef INCLUDE_LIBYUV_LOONGSON_INTRINSICS_H
12
+ #define INCLUDE_LIBYUV_LOONGSON_INTRINSICS_H
13
+
14
+ /*
15
+ * Copyright (c) 2022 Loongson Technology Corporation Limited
16
+ * All rights reserved.
17
+ * Contributed by Shiyou Yin <yinshiyou-hf@loongson.cn>
18
+ * Xiwei Gu <guxiwei-hf@loongson.cn>
19
+ * Lu Wang <wanglu@loongson.cn>
20
+ *
21
+ * This file is a header file for loongarch builtin extension.
22
+ *
23
+ */
24
+
25
+ #ifndef LOONGSON_INTRINSICS_H
26
+ #define LOONGSON_INTRINSICS_H
27
+
28
+ /**
29
+ * MAJOR version: Macro usage changes.
30
+ * MINOR version: Add new functions, or bug fixes.
31
+ * MICRO version: Comment changes or implementation changes.
32
+ */
33
+ #define LSOM_VERSION_MAJOR 1
34
+ #define LSOM_VERSION_MINOR 1
35
+ #define LSOM_VERSION_MICRO 0
36
+
37
+ #define DUP2_ARG1(_INS, _IN0, _IN1, _OUT0, _OUT1) \
38
+ { \
39
+ _OUT0 = _INS(_IN0); \
40
+ _OUT1 = _INS(_IN1); \
41
+ }
42
+
43
+ #define DUP2_ARG2(_INS, _IN0, _IN1, _IN2, _IN3, _OUT0, _OUT1) \
44
+ { \
45
+ _OUT0 = _INS(_IN0, _IN1); \
46
+ _OUT1 = _INS(_IN2, _IN3); \
47
+ }
48
+
49
+ #define DUP2_ARG3(_INS, _IN0, _IN1, _IN2, _IN3, _IN4, _IN5, _OUT0, _OUT1) \
50
+ { \
51
+ _OUT0 = _INS(_IN0, _IN1, _IN2); \
52
+ _OUT1 = _INS(_IN3, _IN4, _IN5); \
53
+ }
54
+
55
+ #define DUP4_ARG1(_INS, _IN0, _IN1, _IN2, _IN3, _OUT0, _OUT1, _OUT2, _OUT3) \
56
+ { \
57
+ DUP2_ARG1(_INS, _IN0, _IN1, _OUT0, _OUT1); \
58
+ DUP2_ARG1(_INS, _IN2, _IN3, _OUT2, _OUT3); \
59
+ }
60
+
61
+ #define DUP4_ARG2(_INS, _IN0, _IN1, _IN2, _IN3, _IN4, _IN5, _IN6, _IN7, _OUT0, \
62
+ _OUT1, _OUT2, _OUT3) \
63
+ { \
64
+ DUP2_ARG2(_INS, _IN0, _IN1, _IN2, _IN3, _OUT0, _OUT1); \
65
+ DUP2_ARG2(_INS, _IN4, _IN5, _IN6, _IN7, _OUT2, _OUT3); \
66
+ }
67
+
68
+ #define DUP4_ARG3(_INS, _IN0, _IN1, _IN2, _IN3, _IN4, _IN5, _IN6, _IN7, _IN8, \
69
+ _IN9, _IN10, _IN11, _OUT0, _OUT1, _OUT2, _OUT3) \
70
+ { \
71
+ DUP2_ARG3(_INS, _IN0, _IN1, _IN2, _IN3, _IN4, _IN5, _OUT0, _OUT1); \
72
+ DUP2_ARG3(_INS, _IN6, _IN7, _IN8, _IN9, _IN10, _IN11, _OUT2, _OUT3); \
73
+ }
74
+
75
+ #ifdef __loongarch_sx
76
+ #include <lsxintrin.h>
77
+ /*
78
+ * =============================================================================
79
+ * Description : Dot product & addition of byte vector elements
80
+ * Arguments : Inputs - in_c, in_h, in_l
81
+ * Outputs - out
82
+ * Return Type - halfword
83
+ * Details : Signed byte elements from in_h are multiplied by
84
+ * signed byte elements from in_l, and then added adjacent to
85
+ * each other to get results with the twice size of input.
86
+ * Then the results plus to signed half-word elements from in_c.
87
+ * Example : out = __lsx_vdp2add_h_b(in_c, in_h, in_l)
88
+ * in_c : 1,2,3,4, 1,2,3,4
89
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
90
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1
91
+ * out : 23,40,41,26, 23,40,41,26
92
+ * =============================================================================
93
+ */
94
+ static inline __m128i __lsx_vdp2add_h_b(__m128i in_c,
95
+ __m128i in_h,
96
+ __m128i in_l) {
97
+ __m128i out;
98
+
99
+ out = __lsx_vmaddwev_h_b(in_c, in_h, in_l);
100
+ out = __lsx_vmaddwod_h_b(out, in_h, in_l);
101
+ return out;
102
+ }
103
+
104
+ /*
105
+ * =============================================================================
106
+ * Description : Dot product & addition of byte vector elements
107
+ * Arguments : Inputs - in_c, in_h, in_l
108
+ * Outputs - out
109
+ * Return Type - halfword
110
+ * Details : Unsigned byte elements from in_h are multiplied by
111
+ * unsigned byte elements from in_l, and then added adjacent to
112
+ * each other to get results with the twice size of input.
113
+ * The results plus to signed half-word elements from in_c.
114
+ * Example : out = __lsx_vdp2add_h_bu(in_c, in_h, in_l)
115
+ * in_c : 1,2,3,4, 1,2,3,4
116
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
117
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1
118
+ * out : 23,40,41,26, 23,40,41,26
119
+ * =============================================================================
120
+ */
121
+ static inline __m128i __lsx_vdp2add_h_bu(__m128i in_c,
122
+ __m128i in_h,
123
+ __m128i in_l) {
124
+ __m128i out;
125
+
126
+ out = __lsx_vmaddwev_h_bu(in_c, in_h, in_l);
127
+ out = __lsx_vmaddwod_h_bu(out, in_h, in_l);
128
+ return out;
129
+ }
130
+
131
+ /*
132
+ * =============================================================================
133
+ * Description : Dot product & addition of byte vector elements
134
+ * Arguments : Inputs - in_c, in_h, in_l
135
+ * Outputs - out
136
+ * Return Type - halfword
137
+ * Details : Unsigned byte elements from in_h are multiplied by
138
+ * signed byte elements from in_l, and then added adjacent to
139
+ * each other to get results with the twice size of input.
140
+ * The results plus to signed half-word elements from in_c.
141
+ * Example : out = __lsx_vdp2add_h_bu_b(in_c, in_h, in_l)
142
+ * in_c : 1,1,1,1, 1,1,1,1
143
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
144
+ * in_l : -1,-2,-3,-4, -5,-6,-7,-8, 1,2,3,4, 5,6,7,8
145
+ * out : -4,-24,-60,-112, 6,26,62,114
146
+ * =============================================================================
147
+ */
148
+ static inline __m128i __lsx_vdp2add_h_bu_b(__m128i in_c,
149
+ __m128i in_h,
150
+ __m128i in_l) {
151
+ __m128i out;
152
+
153
+ out = __lsx_vmaddwev_h_bu_b(in_c, in_h, in_l);
154
+ out = __lsx_vmaddwod_h_bu_b(out, in_h, in_l);
155
+ return out;
156
+ }
157
+
158
+ /*
159
+ * =============================================================================
160
+ * Description : Dot product & addition of half-word vector elements
161
+ * Arguments : Inputs - in_c, in_h, in_l
162
+ * Outputs - out
163
+ * Return Type - __m128i
164
+ * Details : Signed half-word elements from in_h are multiplied by
165
+ * signed half-word elements from in_l, and then added adjacent to
166
+ * each other to get results with the twice size of input.
167
+ * Then the results plus to signed word elements from in_c.
168
+ * Example : out = __lsx_vdp2add_h_b(in_c, in_h, in_l)
169
+ * in_c : 1,2,3,4
170
+ * in_h : 1,2,3,4, 5,6,7,8
171
+ * in_l : 8,7,6,5, 4,3,2,1
172
+ * out : 23,40,41,26
173
+ * =============================================================================
174
+ */
175
+ static inline __m128i __lsx_vdp2add_w_h(__m128i in_c,
176
+ __m128i in_h,
177
+ __m128i in_l) {
178
+ __m128i out;
179
+
180
+ out = __lsx_vmaddwev_w_h(in_c, in_h, in_l);
181
+ out = __lsx_vmaddwod_w_h(out, in_h, in_l);
182
+ return out;
183
+ }
184
+
185
+ /*
186
+ * =============================================================================
187
+ * Description : Dot product of byte vector elements
188
+ * Arguments : Inputs - in_h, in_l
189
+ * Outputs - out
190
+ * Return Type - halfword
191
+ * Details : Signed byte elements from in_h are multiplied by
192
+ * signed byte elements from in_l, and then added adjacent to
193
+ * each other to get results with the twice size of input.
194
+ * Example : out = __lsx_vdp2_h_b(in_h, in_l)
195
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
196
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1
197
+ * out : 22,38,38,22, 22,38,38,22
198
+ * =============================================================================
199
+ */
200
+ static inline __m128i __lsx_vdp2_h_b(__m128i in_h, __m128i in_l) {
201
+ __m128i out;
202
+
203
+ out = __lsx_vmulwev_h_b(in_h, in_l);
204
+ out = __lsx_vmaddwod_h_b(out, in_h, in_l);
205
+ return out;
206
+ }
207
+
208
+ /*
209
+ * =============================================================================
210
+ * Description : Dot product of byte vector elements
211
+ * Arguments : Inputs - in_h, in_l
212
+ * Outputs - out
213
+ * Return Type - halfword
214
+ * Details : Unsigned byte elements from in_h are multiplied by
215
+ * unsigned byte elements from in_l, and then added adjacent to
216
+ * each other to get results with the twice size of input.
217
+ * Example : out = __lsx_vdp2_h_bu(in_h, in_l)
218
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
219
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1
220
+ * out : 22,38,38,22, 22,38,38,22
221
+ * =============================================================================
222
+ */
223
+ static inline __m128i __lsx_vdp2_h_bu(__m128i in_h, __m128i in_l) {
224
+ __m128i out;
225
+
226
+ out = __lsx_vmulwev_h_bu(in_h, in_l);
227
+ out = __lsx_vmaddwod_h_bu(out, in_h, in_l);
228
+ return out;
229
+ }
230
+
231
+ /*
232
+ * =============================================================================
233
+ * Description : Dot product of byte vector elements
234
+ * Arguments : Inputs - in_h, in_l
235
+ * Outputs - out
236
+ * Return Type - halfword
237
+ * Details : Unsigned byte elements from in_h are multiplied by
238
+ * signed byte elements from in_l, and then added adjacent to
239
+ * each other to get results with the twice size of input.
240
+ * Example : out = __lsx_vdp2_h_bu_b(in_h, in_l)
241
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
242
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,-1
243
+ * out : 22,38,38,22, 22,38,38,6
244
+ * =============================================================================
245
+ */
246
+ static inline __m128i __lsx_vdp2_h_bu_b(__m128i in_h, __m128i in_l) {
247
+ __m128i out;
248
+
249
+ out = __lsx_vmulwev_h_bu_b(in_h, in_l);
250
+ out = __lsx_vmaddwod_h_bu_b(out, in_h, in_l);
251
+ return out;
252
+ }
253
+
254
+ /*
255
+ * =============================================================================
256
+ * Description : Dot product of byte vector elements
257
+ * Arguments : Inputs - in_h, in_l
258
+ * Outputs - out
259
+ * Return Type - halfword
260
+ * Details : Signed byte elements from in_h are multiplied by
261
+ * signed byte elements from in_l, and then added adjacent to
262
+ * each other to get results with the twice size of input.
263
+ * Example : out = __lsx_vdp2_w_h(in_h, in_l)
264
+ * in_h : 1,2,3,4, 5,6,7,8
265
+ * in_l : 8,7,6,5, 4,3,2,1
266
+ * out : 22,38,38,22
267
+ * =============================================================================
268
+ */
269
+ static inline __m128i __lsx_vdp2_w_h(__m128i in_h, __m128i in_l) {
270
+ __m128i out;
271
+
272
+ out = __lsx_vmulwev_w_h(in_h, in_l);
273
+ out = __lsx_vmaddwod_w_h(out, in_h, in_l);
274
+ return out;
275
+ }
276
+
277
+ /*
278
+ * =============================================================================
279
+ * Description : Clip all halfword elements of input vector between min & max
280
+ * out = ((_in) < (min)) ? (min) : (((_in) > (max)) ? (max) :
281
+ * (_in))
282
+ * Arguments : Inputs - _in (input vector)
283
+ * - min (min threshold)
284
+ * - max (max threshold)
285
+ * Outputs - out (output vector with clipped elements)
286
+ * Return Type - signed halfword
287
+ * Example : out = __lsx_vclip_h(_in)
288
+ * _in : -8,2,280,249, -8,255,280,249
289
+ * min : 1,1,1,1, 1,1,1,1
290
+ * max : 9,9,9,9, 9,9,9,9
291
+ * out : 1,2,9,9, 1,9,9,9
292
+ * =============================================================================
293
+ */
294
+ static inline __m128i __lsx_vclip_h(__m128i _in, __m128i min, __m128i max) {
295
+ __m128i out;
296
+
297
+ out = __lsx_vmax_h(min, _in);
298
+ out = __lsx_vmin_h(max, out);
299
+ return out;
300
+ }
301
+
302
+ /*
303
+ * =============================================================================
304
+ * Description : Set each element of vector between 0 and 255
305
+ * Arguments : Inputs - _in
306
+ * Outputs - out
307
+ * Return Type - halfword
308
+ * Details : Signed byte elements from _in are clamped between 0 and 255.
309
+ * Example : out = __lsx_vclip255_h(_in)
310
+ * _in : -8,255,280,249, -8,255,280,249
311
+ * out : 0,255,255,249, 0,255,255,249
312
+ * =============================================================================
313
+ */
314
+ static inline __m128i __lsx_vclip255_h(__m128i _in) {
315
+ __m128i out;
316
+
317
+ out = __lsx_vmaxi_h(_in, 0);
318
+ out = __lsx_vsat_hu(out, 7);
319
+ return out;
320
+ }
321
+
322
+ /*
323
+ * =============================================================================
324
+ * Description : Set each element of vector between 0 and 255
325
+ * Arguments : Inputs - _in
326
+ * Outputs - out
327
+ * Return Type - word
328
+ * Details : Signed byte elements from _in are clamped between 0 and 255.
329
+ * Example : out = __lsx_vclip255_w(_in)
330
+ * _in : -8,255,280,249
331
+ * out : 0,255,255,249
332
+ * =============================================================================
333
+ */
334
+ static inline __m128i __lsx_vclip255_w(__m128i _in) {
335
+ __m128i out;
336
+
337
+ out = __lsx_vmaxi_w(_in, 0);
338
+ out = __lsx_vsat_wu(out, 7);
339
+ return out;
340
+ }
341
+
342
+ /*
343
+ * =============================================================================
344
+ * Description : Swap two variables
345
+ * Arguments : Inputs - _in0, _in1
346
+ * Outputs - _in0, _in1 (in-place)
347
+ * Details : Swapping of two input variables using xor
348
+ * Example : LSX_SWAP(_in0, _in1)
349
+ * _in0 : 1,2,3,4
350
+ * _in1 : 5,6,7,8
351
+ * _in0(out) : 5,6,7,8
352
+ * _in1(out) : 1,2,3,4
353
+ * =============================================================================
354
+ */
355
+ #define LSX_SWAP(_in0, _in1) \
356
+ { \
357
+ _in0 = __lsx_vxor_v(_in0, _in1); \
358
+ _in1 = __lsx_vxor_v(_in0, _in1); \
359
+ _in0 = __lsx_vxor_v(_in0, _in1); \
360
+ }
361
+
362
+ /*
363
+ * =============================================================================
364
+ * Description : Transpose 4x4 block with word elements in vectors
365
+ * Arguments : Inputs - in0, in1, in2, in3
366
+ * Outputs - out0, out1, out2, out3
367
+ * Details :
368
+ * Example :
369
+ * 1, 2, 3, 4 1, 5, 9,13
370
+ * 5, 6, 7, 8 to 2, 6,10,14
371
+ * 9,10,11,12 =====> 3, 7,11,15
372
+ * 13,14,15,16 4, 8,12,16
373
+ * =============================================================================
374
+ */
375
+ #define LSX_TRANSPOSE4x4_W(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
376
+ { \
377
+ __m128i _t0, _t1, _t2, _t3; \
378
+ \
379
+ _t0 = __lsx_vilvl_w(_in1, _in0); \
380
+ _t1 = __lsx_vilvh_w(_in1, _in0); \
381
+ _t2 = __lsx_vilvl_w(_in3, _in2); \
382
+ _t3 = __lsx_vilvh_w(_in3, _in2); \
383
+ _out0 = __lsx_vilvl_d(_t2, _t0); \
384
+ _out1 = __lsx_vilvh_d(_t2, _t0); \
385
+ _out2 = __lsx_vilvl_d(_t3, _t1); \
386
+ _out3 = __lsx_vilvh_d(_t3, _t1); \
387
+ }
388
+
389
+ /*
390
+ * =============================================================================
391
+ * Description : Transpose 8x8 block with byte elements in vectors
392
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7
393
+ * Outputs - _out0, _out1, _out2, _out3, _out4, _out5, _out6,
394
+ * _out7
395
+ * Details : The rows of the matrix become columns, and the columns
396
+ * become rows.
397
+ * Example : LSX_TRANSPOSE8x8_B
398
+ * _in0 : 00,01,02,03,04,05,06,07, 00,00,00,00,00,00,00,00
399
+ * _in1 : 10,11,12,13,14,15,16,17, 00,00,00,00,00,00,00,00
400
+ * _in2 : 20,21,22,23,24,25,26,27, 00,00,00,00,00,00,00,00
401
+ * _in3 : 30,31,32,33,34,35,36,37, 00,00,00,00,00,00,00,00
402
+ * _in4 : 40,41,42,43,44,45,46,47, 00,00,00,00,00,00,00,00
403
+ * _in5 : 50,51,52,53,54,55,56,57, 00,00,00,00,00,00,00,00
404
+ * _in6 : 60,61,62,63,64,65,66,67, 00,00,00,00,00,00,00,00
405
+ * _in7 : 70,71,72,73,74,75,76,77, 00,00,00,00,00,00,00,00
406
+ *
407
+ * _ out0 : 00,10,20,30,40,50,60,70, 00,00,00,00,00,00,00,00
408
+ * _ out1 : 01,11,21,31,41,51,61,71, 00,00,00,00,00,00,00,00
409
+ * _ out2 : 02,12,22,32,42,52,62,72, 00,00,00,00,00,00,00,00
410
+ * _ out3 : 03,13,23,33,43,53,63,73, 00,00,00,00,00,00,00,00
411
+ * _ out4 : 04,14,24,34,44,54,64,74, 00,00,00,00,00,00,00,00
412
+ * _ out5 : 05,15,25,35,45,55,65,75, 00,00,00,00,00,00,00,00
413
+ * _ out6 : 06,16,26,36,46,56,66,76, 00,00,00,00,00,00,00,00
414
+ * _ out7 : 07,17,27,37,47,57,67,77, 00,00,00,00,00,00,00,00
415
+ * =============================================================================
416
+ */
417
+ #define LSX_TRANSPOSE8x8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
418
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
419
+ _out7) \
420
+ { \
421
+ __m128i zero = {0}; \
422
+ __m128i shuf8 = {0x0F0E0D0C0B0A0908, 0x1716151413121110}; \
423
+ __m128i _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; \
424
+ \
425
+ _t0 = __lsx_vilvl_b(_in2, _in0); \
426
+ _t1 = __lsx_vilvl_b(_in3, _in1); \
427
+ _t2 = __lsx_vilvl_b(_in6, _in4); \
428
+ _t3 = __lsx_vilvl_b(_in7, _in5); \
429
+ _t4 = __lsx_vilvl_b(_t1, _t0); \
430
+ _t5 = __lsx_vilvh_b(_t1, _t0); \
431
+ _t6 = __lsx_vilvl_b(_t3, _t2); \
432
+ _t7 = __lsx_vilvh_b(_t3, _t2); \
433
+ _out0 = __lsx_vilvl_w(_t6, _t4); \
434
+ _out2 = __lsx_vilvh_w(_t6, _t4); \
435
+ _out4 = __lsx_vilvl_w(_t7, _t5); \
436
+ _out6 = __lsx_vilvh_w(_t7, _t5); \
437
+ _out1 = __lsx_vshuf_b(zero, _out0, shuf8); \
438
+ _out3 = __lsx_vshuf_b(zero, _out2, shuf8); \
439
+ _out5 = __lsx_vshuf_b(zero, _out4, shuf8); \
440
+ _out7 = __lsx_vshuf_b(zero, _out6, shuf8); \
441
+ }
442
+
443
+ /*
444
+ * =============================================================================
445
+ * Description : Transpose 8x8 block with half-word elements in vectors
446
+ * Arguments : Inputs - in0, in1, in2, in3, in4, in5, in6, in7
447
+ * Outputs - out0, out1, out2, out3, out4, out5, out6, out7
448
+ * Details :
449
+ * Example :
450
+ * 00,01,02,03,04,05,06,07 00,10,20,30,40,50,60,70
451
+ * 10,11,12,13,14,15,16,17 01,11,21,31,41,51,61,71
452
+ * 20,21,22,23,24,25,26,27 02,12,22,32,42,52,62,72
453
+ * 30,31,32,33,34,35,36,37 to 03,13,23,33,43,53,63,73
454
+ * 40,41,42,43,44,45,46,47 ======> 04,14,24,34,44,54,64,74
455
+ * 50,51,52,53,54,55,56,57 05,15,25,35,45,55,65,75
456
+ * 60,61,62,63,64,65,66,67 06,16,26,36,46,56,66,76
457
+ * 70,71,72,73,74,75,76,77 07,17,27,37,47,57,67,77
458
+ * =============================================================================
459
+ */
460
+ #define LSX_TRANSPOSE8x8_H(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
461
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
462
+ _out7) \
463
+ { \
464
+ __m128i _s0, _s1, _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; \
465
+ \
466
+ _s0 = __lsx_vilvl_h(_in6, _in4); \
467
+ _s1 = __lsx_vilvl_h(_in7, _in5); \
468
+ _t0 = __lsx_vilvl_h(_s1, _s0); \
469
+ _t1 = __lsx_vilvh_h(_s1, _s0); \
470
+ _s0 = __lsx_vilvh_h(_in6, _in4); \
471
+ _s1 = __lsx_vilvh_h(_in7, _in5); \
472
+ _t2 = __lsx_vilvl_h(_s1, _s0); \
473
+ _t3 = __lsx_vilvh_h(_s1, _s0); \
474
+ _s0 = __lsx_vilvl_h(_in2, _in0); \
475
+ _s1 = __lsx_vilvl_h(_in3, _in1); \
476
+ _t4 = __lsx_vilvl_h(_s1, _s0); \
477
+ _t5 = __lsx_vilvh_h(_s1, _s0); \
478
+ _s0 = __lsx_vilvh_h(_in2, _in0); \
479
+ _s1 = __lsx_vilvh_h(_in3, _in1); \
480
+ _t6 = __lsx_vilvl_h(_s1, _s0); \
481
+ _t7 = __lsx_vilvh_h(_s1, _s0); \
482
+ \
483
+ _out0 = __lsx_vpickev_d(_t0, _t4); \
484
+ _out2 = __lsx_vpickev_d(_t1, _t5); \
485
+ _out4 = __lsx_vpickev_d(_t2, _t6); \
486
+ _out6 = __lsx_vpickev_d(_t3, _t7); \
487
+ _out1 = __lsx_vpickod_d(_t0, _t4); \
488
+ _out3 = __lsx_vpickod_d(_t1, _t5); \
489
+ _out5 = __lsx_vpickod_d(_t2, _t6); \
490
+ _out7 = __lsx_vpickod_d(_t3, _t7); \
491
+ }
492
+
493
+ /*
494
+ * =============================================================================
495
+ * Description : Transpose input 8x4 byte block into 4x8
496
+ * Arguments : Inputs - _in0, _in1, _in2, _in3 (input 8x4 byte block)
497
+ * Outputs - _out0, _out1, _out2, _out3 (output 4x8 byte block)
498
+ * Return Type - as per RTYPE
499
+ * Details : The rows of the matrix become columns, and the columns become
500
+ * rows.
501
+ * Example : LSX_TRANSPOSE8x4_B
502
+ * _in0 : 00,01,02,03,00,00,00,00, 00,00,00,00,00,00,00,00
503
+ * _in1 : 10,11,12,13,00,00,00,00, 00,00,00,00,00,00,00,00
504
+ * _in2 : 20,21,22,23,00,00,00,00, 00,00,00,00,00,00,00,00
505
+ * _in3 : 30,31,32,33,00,00,00,00, 00,00,00,00,00,00,00,00
506
+ * _in4 : 40,41,42,43,00,00,00,00, 00,00,00,00,00,00,00,00
507
+ * _in5 : 50,51,52,53,00,00,00,00, 00,00,00,00,00,00,00,00
508
+ * _in6 : 60,61,62,63,00,00,00,00, 00,00,00,00,00,00,00,00
509
+ * _in7 : 70,71,72,73,00,00,00,00, 00,00,00,00,00,00,00,00
510
+ *
511
+ * _out0 : 00,10,20,30,40,50,60,70, 00,00,00,00,00,00,00,00
512
+ * _out1 : 01,11,21,31,41,51,61,71, 00,00,00,00,00,00,00,00
513
+ * _out2 : 02,12,22,32,42,52,62,72, 00,00,00,00,00,00,00,00
514
+ * _out3 : 03,13,23,33,43,53,63,73, 00,00,00,00,00,00,00,00
515
+ * =============================================================================
516
+ */
517
+ #define LSX_TRANSPOSE8x4_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
518
+ _out0, _out1, _out2, _out3) \
519
+ { \
520
+ __m128i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
521
+ \
522
+ _tmp0_m = __lsx_vpackev_w(_in4, _in0); \
523
+ _tmp1_m = __lsx_vpackev_w(_in5, _in1); \
524
+ _tmp2_m = __lsx_vilvl_b(_tmp1_m, _tmp0_m); \
525
+ _tmp0_m = __lsx_vpackev_w(_in6, _in2); \
526
+ _tmp1_m = __lsx_vpackev_w(_in7, _in3); \
527
+ \
528
+ _tmp3_m = __lsx_vilvl_b(_tmp1_m, _tmp0_m); \
529
+ _tmp0_m = __lsx_vilvl_h(_tmp3_m, _tmp2_m); \
530
+ _tmp1_m = __lsx_vilvh_h(_tmp3_m, _tmp2_m); \
531
+ \
532
+ _out0 = __lsx_vilvl_w(_tmp1_m, _tmp0_m); \
533
+ _out2 = __lsx_vilvh_w(_tmp1_m, _tmp0_m); \
534
+ _out1 = __lsx_vilvh_d(_out2, _out0); \
535
+ _out3 = __lsx_vilvh_d(_out0, _out2); \
536
+ }
537
+
538
+ /*
539
+ * =============================================================================
540
+ * Description : Transpose 16x8 block with byte elements in vectors
541
+ * Arguments : Inputs - in0, in1, in2, in3, in4, in5, in6, in7, in8
542
+ * in9, in10, in11, in12, in13, in14, in15
543
+ * Outputs - out0, out1, out2, out3, out4, out5, out6, out7
544
+ * Details :
545
+ * Example :
546
+ * 000,001,002,003,004,005,006,007
547
+ * 008,009,010,011,012,013,014,015
548
+ * 016,017,018,019,020,021,022,023
549
+ * 024,025,026,027,028,029,030,031
550
+ * 032,033,034,035,036,037,038,039
551
+ * 040,041,042,043,044,045,046,047 000,008,...,112,120
552
+ * 048,049,050,051,052,053,054,055 001,009,...,113,121
553
+ * 056,057,058,059,060,061,062,063 to 002,010,...,114,122
554
+ * 064,068,066,067,068,069,070,071 =====> 003,011,...,115,123
555
+ * 072,073,074,075,076,077,078,079 004,012,...,116,124
556
+ * 080,081,082,083,084,085,086,087 005,013,...,117,125
557
+ * 088,089,090,091,092,093,094,095 006,014,...,118,126
558
+ * 096,097,098,099,100,101,102,103 007,015,...,119,127
559
+ * 104,105,106,107,108,109,110,111
560
+ * 112,113,114,115,116,117,118,119
561
+ * 120,121,122,123,124,125,126,127
562
+ * =============================================================================
563
+ */
564
+ #define LSX_TRANSPOSE16x8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
565
+ _in8, _in9, _in10, _in11, _in12, _in13, _in14, \
566
+ _in15, _out0, _out1, _out2, _out3, _out4, _out5, \
567
+ _out6, _out7) \
568
+ { \
569
+ __m128i _tmp0, _tmp1, _tmp2, _tmp3, _tmp4, _tmp5, _tmp6, _tmp7; \
570
+ __m128i _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; \
571
+ DUP4_ARG2(__lsx_vilvl_b, _in2, _in0, _in3, _in1, _in6, _in4, _in7, _in5, \
572
+ _tmp0, _tmp1, _tmp2, _tmp3); \
573
+ DUP4_ARG2(__lsx_vilvl_b, _in10, _in8, _in11, _in9, _in14, _in12, _in15, \
574
+ _in13, _tmp4, _tmp5, _tmp6, _tmp7); \
575
+ DUP2_ARG2(__lsx_vilvl_b, _tmp1, _tmp0, _tmp3, _tmp2, _t0, _t2); \
576
+ DUP2_ARG2(__lsx_vilvh_b, _tmp1, _tmp0, _tmp3, _tmp2, _t1, _t3); \
577
+ DUP2_ARG2(__lsx_vilvl_b, _tmp5, _tmp4, _tmp7, _tmp6, _t4, _t6); \
578
+ DUP2_ARG2(__lsx_vilvh_b, _tmp5, _tmp4, _tmp7, _tmp6, _t5, _t7); \
579
+ DUP2_ARG2(__lsx_vilvl_w, _t2, _t0, _t3, _t1, _tmp0, _tmp4); \
580
+ DUP2_ARG2(__lsx_vilvh_w, _t2, _t0, _t3, _t1, _tmp2, _tmp6); \
581
+ DUP2_ARG2(__lsx_vilvl_w, _t6, _t4, _t7, _t5, _tmp1, _tmp5); \
582
+ DUP2_ARG2(__lsx_vilvh_w, _t6, _t4, _t7, _t5, _tmp3, _tmp7); \
583
+ DUP2_ARG2(__lsx_vilvl_d, _tmp1, _tmp0, _tmp3, _tmp2, _out0, _out2); \
584
+ DUP2_ARG2(__lsx_vilvh_d, _tmp1, _tmp0, _tmp3, _tmp2, _out1, _out3); \
585
+ DUP2_ARG2(__lsx_vilvl_d, _tmp5, _tmp4, _tmp7, _tmp6, _out4, _out6); \
586
+ DUP2_ARG2(__lsx_vilvh_d, _tmp5, _tmp4, _tmp7, _tmp6, _out5, _out7); \
587
+ }
588
+
589
+ /*
590
+ * =============================================================================
591
+ * Description : Butterfly of 4 input vectors
592
+ * Arguments : Inputs - in0, in1, in2, in3
593
+ * Outputs - out0, out1, out2, out3
594
+ * Details : Butterfly operation
595
+ * Example :
596
+ * out0 = in0 + in3;
597
+ * out1 = in1 + in2;
598
+ * out2 = in1 - in2;
599
+ * out3 = in0 - in3;
600
+ * =============================================================================
601
+ */
602
+ #define LSX_BUTTERFLY_4_B(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
603
+ { \
604
+ _out0 = __lsx_vadd_b(_in0, _in3); \
605
+ _out1 = __lsx_vadd_b(_in1, _in2); \
606
+ _out2 = __lsx_vsub_b(_in1, _in2); \
607
+ _out3 = __lsx_vsub_b(_in0, _in3); \
608
+ }
609
+ #define LSX_BUTTERFLY_4_H(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
610
+ { \
611
+ _out0 = __lsx_vadd_h(_in0, _in3); \
612
+ _out1 = __lsx_vadd_h(_in1, _in2); \
613
+ _out2 = __lsx_vsub_h(_in1, _in2); \
614
+ _out3 = __lsx_vsub_h(_in0, _in3); \
615
+ }
616
+ #define LSX_BUTTERFLY_4_W(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
617
+ { \
618
+ _out0 = __lsx_vadd_w(_in0, _in3); \
619
+ _out1 = __lsx_vadd_w(_in1, _in2); \
620
+ _out2 = __lsx_vsub_w(_in1, _in2); \
621
+ _out3 = __lsx_vsub_w(_in0, _in3); \
622
+ }
623
+ #define LSX_BUTTERFLY_4_D(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
624
+ { \
625
+ _out0 = __lsx_vadd_d(_in0, _in3); \
626
+ _out1 = __lsx_vadd_d(_in1, _in2); \
627
+ _out2 = __lsx_vsub_d(_in1, _in2); \
628
+ _out3 = __lsx_vsub_d(_in0, _in3); \
629
+ }
630
+
631
+ /*
632
+ * =============================================================================
633
+ * Description : Butterfly of 8 input vectors
634
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, ~
635
+ * Outputs - _out0, _out1, _out2, _out3, ~
636
+ * Details : Butterfly operation
637
+ * Example :
638
+ * _out0 = _in0 + _in7;
639
+ * _out1 = _in1 + _in6;
640
+ * _out2 = _in2 + _in5;
641
+ * _out3 = _in3 + _in4;
642
+ * _out4 = _in3 - _in4;
643
+ * _out5 = _in2 - _in5;
644
+ * _out6 = _in1 - _in6;
645
+ * _out7 = _in0 - _in7;
646
+ * =============================================================================
647
+ */
648
+ #define LSX_BUTTERFLY_8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
649
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
650
+ _out7) \
651
+ { \
652
+ _out0 = __lsx_vadd_b(_in0, _in7); \
653
+ _out1 = __lsx_vadd_b(_in1, _in6); \
654
+ _out2 = __lsx_vadd_b(_in2, _in5); \
655
+ _out3 = __lsx_vadd_b(_in3, _in4); \
656
+ _out4 = __lsx_vsub_b(_in3, _in4); \
657
+ _out5 = __lsx_vsub_b(_in2, _in5); \
658
+ _out6 = __lsx_vsub_b(_in1, _in6); \
659
+ _out7 = __lsx_vsub_b(_in0, _in7); \
660
+ }
661
+
662
+ #define LSX_BUTTERFLY_8_H(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
663
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
664
+ _out7) \
665
+ { \
666
+ _out0 = __lsx_vadd_h(_in0, _in7); \
667
+ _out1 = __lsx_vadd_h(_in1, _in6); \
668
+ _out2 = __lsx_vadd_h(_in2, _in5); \
669
+ _out3 = __lsx_vadd_h(_in3, _in4); \
670
+ _out4 = __lsx_vsub_h(_in3, _in4); \
671
+ _out5 = __lsx_vsub_h(_in2, _in5); \
672
+ _out6 = __lsx_vsub_h(_in1, _in6); \
673
+ _out7 = __lsx_vsub_h(_in0, _in7); \
674
+ }
675
+
676
+ #define LSX_BUTTERFLY_8_W(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
677
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
678
+ _out7) \
679
+ { \
680
+ _out0 = __lsx_vadd_w(_in0, _in7); \
681
+ _out1 = __lsx_vadd_w(_in1, _in6); \
682
+ _out2 = __lsx_vadd_w(_in2, _in5); \
683
+ _out3 = __lsx_vadd_w(_in3, _in4); \
684
+ _out4 = __lsx_vsub_w(_in3, _in4); \
685
+ _out5 = __lsx_vsub_w(_in2, _in5); \
686
+ _out6 = __lsx_vsub_w(_in1, _in6); \
687
+ _out7 = __lsx_vsub_w(_in0, _in7); \
688
+ }
689
+
690
+ #define LSX_BUTTERFLY_8_D(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
691
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
692
+ _out7) \
693
+ { \
694
+ _out0 = __lsx_vadd_d(_in0, _in7); \
695
+ _out1 = __lsx_vadd_d(_in1, _in6); \
696
+ _out2 = __lsx_vadd_d(_in2, _in5); \
697
+ _out3 = __lsx_vadd_d(_in3, _in4); \
698
+ _out4 = __lsx_vsub_d(_in3, _in4); \
699
+ _out5 = __lsx_vsub_d(_in2, _in5); \
700
+ _out6 = __lsx_vsub_d(_in1, _in6); \
701
+ _out7 = __lsx_vsub_d(_in0, _in7); \
702
+ }
703
+
704
+ #endif // LSX
705
+
706
+ #ifdef __loongarch_asx
707
+ #include <lasxintrin.h>
708
+ /*
709
+ * =============================================================================
710
+ * Description : Dot product of byte vector elements
711
+ * Arguments : Inputs - in_h, in_l
712
+ * Output - out
713
+ * Return Type - signed halfword
714
+ * Details : Unsigned byte elements from in_h are multiplied with
715
+ * unsigned byte elements from in_l producing a result
716
+ * twice the size of input i.e. signed halfword.
717
+ * Then this multiplied results of adjacent odd-even elements
718
+ * are added to the out vector
719
+ * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
720
+ * =============================================================================
721
+ */
722
+ static inline __m256i __lasx_xvdp2_h_bu(__m256i in_h, __m256i in_l) {
723
+ __m256i out;
724
+
725
+ out = __lasx_xvmulwev_h_bu(in_h, in_l);
726
+ out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
727
+ return out;
728
+ }
729
+
730
+ /*
731
+ * =============================================================================
732
+ * Description : Dot product of byte vector elements
733
+ * Arguments : Inputs - in_h, in_l
734
+ * Output - out
735
+ * Return Type - signed halfword
736
+ * Details : Signed byte elements from in_h are multiplied with
737
+ * signed byte elements from in_l producing a result
738
+ * twice the size of input i.e. signed halfword.
739
+ * Then this multiplication results of adjacent odd-even elements
740
+ * are added to the out vector
741
+ * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
742
+ * =============================================================================
743
+ */
744
+ static inline __m256i __lasx_xvdp2_h_b(__m256i in_h, __m256i in_l) {
745
+ __m256i out;
746
+
747
+ out = __lasx_xvmulwev_h_b(in_h, in_l);
748
+ out = __lasx_xvmaddwod_h_b(out, in_h, in_l);
749
+ return out;
750
+ }
751
+
752
+ /*
753
+ * =============================================================================
754
+ * Description : Dot product of halfword vector elements
755
+ * Arguments : Inputs - in_h, in_l
756
+ * Output - out
757
+ * Return Type - signed word
758
+ * Details : Signed halfword elements from in_h are multiplied with
759
+ * signed halfword elements from in_l producing a result
760
+ * twice the size of input i.e. signed word.
761
+ * Then this multiplied results of adjacent odd-even elements
762
+ * are added to the out vector.
763
+ * Example : out = __lasx_xvdp2_w_h(in_h, in_l)
764
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
765
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1
766
+ * out : 22,38,38,22, 22,38,38,22
767
+ * =============================================================================
768
+ */
769
+ static inline __m256i __lasx_xvdp2_w_h(__m256i in_h, __m256i in_l) {
770
+ __m256i out;
771
+
772
+ out = __lasx_xvmulwev_w_h(in_h, in_l);
773
+ out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
774
+ return out;
775
+ }
776
+
777
+ /*
778
+ * =============================================================================
779
+ * Description : Dot product of word vector elements
780
+ * Arguments : Inputs - in_h, in_l
781
+ * Output - out
782
+ * Return Type - signed double
783
+ * Details : Signed word elements from in_h are multiplied with
784
+ * signed word elements from in_l producing a result
785
+ * twice the size of input i.e. signed double-word.
786
+ * Then this multiplied results of adjacent odd-even elements
787
+ * are added to the out vector.
788
+ * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
789
+ * =============================================================================
790
+ */
791
+ static inline __m256i __lasx_xvdp2_d_w(__m256i in_h, __m256i in_l) {
792
+ __m256i out;
793
+
794
+ out = __lasx_xvmulwev_d_w(in_h, in_l);
795
+ out = __lasx_xvmaddwod_d_w(out, in_h, in_l);
796
+ return out;
797
+ }
798
+
799
+ /*
800
+ * =============================================================================
801
+ * Description : Dot product of halfword vector elements
802
+ * Arguments : Inputs - in_h, in_l
803
+ * Output - out
804
+ * Return Type - signed word
805
+ * Details : Unsigned halfword elements from in_h are multiplied with
806
+ * signed halfword elements from in_l producing a result
807
+ * twice the size of input i.e. unsigned word.
808
+ * Multiplication result of adjacent odd-even elements
809
+ * are added to the out vector
810
+ * Example : See out = __lasx_xvdp2_w_h(in_h, in_l)
811
+ * =============================================================================
812
+ */
813
+ static inline __m256i __lasx_xvdp2_w_hu_h(__m256i in_h, __m256i in_l) {
814
+ __m256i out;
815
+
816
+ out = __lasx_xvmulwev_w_hu_h(in_h, in_l);
817
+ out = __lasx_xvmaddwod_w_hu_h(out, in_h, in_l);
818
+ return out;
819
+ }
820
+
821
+ /*
822
+ * =============================================================================
823
+ * Description : Dot product & addition of byte vector elements
824
+ * Arguments : Inputs - in_h, in_l
825
+ * Output - out
826
+ * Return Type - halfword
827
+ * Details : Signed byte elements from in_h are multiplied with
828
+ * signed byte elements from in_l producing a result
829
+ * twice the size of input i.e. signed halfword.
830
+ * Then this multiplied results of adjacent odd-even elements
831
+ * are added to the in_c vector.
832
+ * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
833
+ * =============================================================================
834
+ */
835
+ static inline __m256i __lasx_xvdp2add_h_b(__m256i in_c,
836
+ __m256i in_h,
837
+ __m256i in_l) {
838
+ __m256i out;
839
+
840
+ out = __lasx_xvmaddwev_h_b(in_c, in_h, in_l);
841
+ out = __lasx_xvmaddwod_h_b(out, in_h, in_l);
842
+ return out;
843
+ }
844
+
845
+ /*
846
+ * =============================================================================
847
+ * Description : Dot product & addition of byte vector elements
848
+ * Arguments : Inputs - in_h, in_l
849
+ * Output - out
850
+ * Return Type - halfword
851
+ * Details : Unsigned byte elements from in_h are multiplied with
852
+ * unsigned byte elements from in_l producing a result
853
+ * twice the size of input i.e. signed halfword.
854
+ * Then this multiplied results of adjacent odd-even elements
855
+ * are added to the in_c vector.
856
+ * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
857
+ * =============================================================================
858
+ */
859
+ static inline __m256i __lasx_xvdp2add_h_bu(__m256i in_c,
860
+ __m256i in_h,
861
+ __m256i in_l) {
862
+ __m256i out;
863
+
864
+ out = __lasx_xvmaddwev_h_bu(in_c, in_h, in_l);
865
+ out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
866
+ return out;
867
+ }
868
+
869
+ /*
870
+ * =============================================================================
871
+ * Description : Dot product & addition of byte vector elements
872
+ * Arguments : Inputs - in_h, in_l
873
+ * Output - out
874
+ * Return Type - halfword
875
+ * Details : Unsigned byte elements from in_h are multiplied with
876
+ * signed byte elements from in_l producing a result
877
+ * twice the size of input i.e. signed halfword.
878
+ * Then this multiplied results of adjacent odd-even elements
879
+ * are added to the in_c vector.
880
+ * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
881
+ * =============================================================================
882
+ */
883
+ static inline __m256i __lasx_xvdp2add_h_bu_b(__m256i in_c,
884
+ __m256i in_h,
885
+ __m256i in_l) {
886
+ __m256i out;
887
+
888
+ out = __lasx_xvmaddwev_h_bu_b(in_c, in_h, in_l);
889
+ out = __lasx_xvmaddwod_h_bu_b(out, in_h, in_l);
890
+ return out;
891
+ }
892
+
893
+ /*
894
+ * =============================================================================
895
+ * Description : Dot product of halfword vector elements
896
+ * Arguments : Inputs - in_c, in_h, in_l
897
+ * Output - out
898
+ * Return Type - per RTYPE
899
+ * Details : Signed halfword elements from in_h are multiplied with
900
+ * signed halfword elements from in_l producing a result
901
+ * twice the size of input i.e. signed word.
902
+ * Multiplication result of adjacent odd-even elements
903
+ * are added to the in_c vector.
904
+ * Example : out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
905
+ * in_c : 1,2,3,4, 1,2,3,4
906
+ * in_h : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8,
907
+ * in_l : 8,7,6,5, 4,3,2,1, 8,7,6,5, 4,3,2,1,
908
+ * out : 23,40,41,26, 23,40,41,26
909
+ * =============================================================================
910
+ */
911
+ static inline __m256i __lasx_xvdp2add_w_h(__m256i in_c,
912
+ __m256i in_h,
913
+ __m256i in_l) {
914
+ __m256i out;
915
+
916
+ out = __lasx_xvmaddwev_w_h(in_c, in_h, in_l);
917
+ out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
918
+ return out;
919
+ }
920
+
921
+ /*
922
+ * =============================================================================
923
+ * Description : Dot product of halfword vector elements
924
+ * Arguments : Inputs - in_c, in_h, in_l
925
+ * Output - out
926
+ * Return Type - signed word
927
+ * Details : Unsigned halfword elements from in_h are multiplied with
928
+ * unsigned halfword elements from in_l producing a result
929
+ * twice the size of input i.e. signed word.
930
+ * Multiplication result of adjacent odd-even elements
931
+ * are added to the in_c vector.
932
+ * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
933
+ * =============================================================================
934
+ */
935
+ static inline __m256i __lasx_xvdp2add_w_hu(__m256i in_c,
936
+ __m256i in_h,
937
+ __m256i in_l) {
938
+ __m256i out;
939
+
940
+ out = __lasx_xvmaddwev_w_hu(in_c, in_h, in_l);
941
+ out = __lasx_xvmaddwod_w_hu(out, in_h, in_l);
942
+ return out;
943
+ }
944
+
945
+ /*
946
+ * =============================================================================
947
+ * Description : Dot product of halfword vector elements
948
+ * Arguments : Inputs - in_c, in_h, in_l
949
+ * Output - out
950
+ * Return Type - signed word
951
+ * Details : Unsigned halfword elements from in_h are multiplied with
952
+ * signed halfword elements from in_l producing a result
953
+ * twice the size of input i.e. signed word.
954
+ * Multiplication result of adjacent odd-even elements
955
+ * are added to the in_c vector
956
+ * Example : See out = __lasx_xvdp2add_w_h(in_c, in_h, in_l)
957
+ * =============================================================================
958
+ */
959
+ static inline __m256i __lasx_xvdp2add_w_hu_h(__m256i in_c,
960
+ __m256i in_h,
961
+ __m256i in_l) {
962
+ __m256i out;
963
+
964
+ out = __lasx_xvmaddwev_w_hu_h(in_c, in_h, in_l);
965
+ out = __lasx_xvmaddwod_w_hu_h(out, in_h, in_l);
966
+ return out;
967
+ }
968
+
969
+ /*
970
+ * =============================================================================
971
+ * Description : Vector Unsigned Dot Product and Subtract
972
+ * Arguments : Inputs - in_c, in_h, in_l
973
+ * Output - out
974
+ * Return Type - signed halfword
975
+ * Details : Unsigned byte elements from in_h are multiplied with
976
+ * unsigned byte elements from in_l producing a result
977
+ * twice the size of input i.e. signed halfword.
978
+ * Multiplication result of adjacent odd-even elements
979
+ * are added together and subtracted from double width elements
980
+ * in_c vector.
981
+ * Example : See out = __lasx_xvdp2sub_w_h(in_c, in_h, in_l)
982
+ * =============================================================================
983
+ */
984
+ static inline __m256i __lasx_xvdp2sub_h_bu(__m256i in_c,
985
+ __m256i in_h,
986
+ __m256i in_l) {
987
+ __m256i out;
988
+
989
+ out = __lasx_xvmulwev_h_bu(in_h, in_l);
990
+ out = __lasx_xvmaddwod_h_bu(out, in_h, in_l);
991
+ out = __lasx_xvsub_h(in_c, out);
992
+ return out;
993
+ }
994
+
995
+ /*
996
+ * =============================================================================
997
+ * Description : Vector Signed Dot Product and Subtract
998
+ * Arguments : Inputs - in_c, in_h, in_l
999
+ * Output - out
1000
+ * Return Type - signed word
1001
+ * Details : Signed halfword elements from in_h are multiplied with
1002
+ * Signed halfword elements from in_l producing a result
1003
+ * twice the size of input i.e. signed word.
1004
+ * Multiplication result of adjacent odd-even elements
1005
+ * are added together and subtracted from double width elements
1006
+ * in_c vector.
1007
+ * Example : out = __lasx_xvdp2sub_w_h(in_c, in_h, in_l)
1008
+ * in_c : 0,0,0,0, 0,0,0,0
1009
+ * in_h : 3,1,3,0, 0,0,0,1, 0,0,1,1, 0,0,0,1
1010
+ * in_l : 2,1,1,0, 1,0,0,0, 0,0,1,0, 1,0,0,1
1011
+ * out : -7,-3,0,0, 0,-1,0,-1
1012
+ * =============================================================================
1013
+ */
1014
+ static inline __m256i __lasx_xvdp2sub_w_h(__m256i in_c,
1015
+ __m256i in_h,
1016
+ __m256i in_l) {
1017
+ __m256i out;
1018
+
1019
+ out = __lasx_xvmulwev_w_h(in_h, in_l);
1020
+ out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
1021
+ out = __lasx_xvsub_w(in_c, out);
1022
+ return out;
1023
+ }
1024
+
1025
+ /*
1026
+ * =============================================================================
1027
+ * Description : Dot product of halfword vector elements
1028
+ * Arguments : Inputs - in_h, in_l
1029
+ * Output - out
1030
+ * Return Type - signed word
1031
+ * Details : Signed halfword elements from in_h are multiplied with
1032
+ * signed halfword elements from in_l producing a result
1033
+ * four times the size of input i.e. signed doubleword.
1034
+ * Then this multiplication results of four adjacent elements
1035
+ * are added together and stored to the out vector.
1036
+ * Example : out = __lasx_xvdp4_d_h(in_h, in_l)
1037
+ * in_h : 3,1,3,0, 0,0,0,1, 0,0,1,-1, 0,0,0,1
1038
+ * in_l : -2,1,1,0, 1,0,0,0, 0,0,1, 0, 1,0,0,1
1039
+ * out : -2,0,1,1
1040
+ * =============================================================================
1041
+ */
1042
+ static inline __m256i __lasx_xvdp4_d_h(__m256i in_h, __m256i in_l) {
1043
+ __m256i out;
1044
+
1045
+ out = __lasx_xvmulwev_w_h(in_h, in_l);
1046
+ out = __lasx_xvmaddwod_w_h(out, in_h, in_l);
1047
+ out = __lasx_xvhaddw_d_w(out, out);
1048
+ return out;
1049
+ }
1050
+
1051
+ /*
1052
+ * =============================================================================
1053
+ * Description : The high half of the vector elements are expanded and
1054
+ * added after being doubled.
1055
+ * Arguments : Inputs - in_h, in_l
1056
+ * Output - out
1057
+ * Details : The in_h vector and the in_l vector are added after the
1058
+ * higher half of the two-fold sign extension (signed byte
1059
+ * to signed halfword) and stored to the out vector.
1060
+ * Example : See out = __lasx_xvaddwh_w_h(in_h, in_l)
1061
+ * =============================================================================
1062
+ */
1063
+ static inline __m256i __lasx_xvaddwh_h_b(__m256i in_h, __m256i in_l) {
1064
+ __m256i out;
1065
+
1066
+ out = __lasx_xvilvh_b(in_h, in_l);
1067
+ out = __lasx_xvhaddw_h_b(out, out);
1068
+ return out;
1069
+ }
1070
+
1071
+ /*
1072
+ * =============================================================================
1073
+ * Description : The high half of the vector elements are expanded and
1074
+ * added after being doubled.
1075
+ * Arguments : Inputs - in_h, in_l
1076
+ * Output - out
1077
+ * Details : The in_h vector and the in_l vector are added after the
1078
+ * higher half of the two-fold sign extension (signed halfword
1079
+ * to signed word) and stored to the out vector.
1080
+ * Example : out = __lasx_xvaddwh_w_h(in_h, in_l)
1081
+ * in_h : 3, 0,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1082
+ * in_l : 2,-1,1,2, 1,0,0, 0, 1,0,1, 0, 1,0,0,1
1083
+ * out : 1,0,0,-1, 1,0,0, 2
1084
+ * =============================================================================
1085
+ */
1086
+ static inline __m256i __lasx_xvaddwh_w_h(__m256i in_h, __m256i in_l) {
1087
+ __m256i out;
1088
+
1089
+ out = __lasx_xvilvh_h(in_h, in_l);
1090
+ out = __lasx_xvhaddw_w_h(out, out);
1091
+ return out;
1092
+ }
1093
+
1094
+ /*
1095
+ * =============================================================================
1096
+ * Description : The low half of the vector elements are expanded and
1097
+ * added after being doubled.
1098
+ * Arguments : Inputs - in_h, in_l
1099
+ * Output - out
1100
+ * Details : The in_h vector and the in_l vector are added after the
1101
+ * lower half of the two-fold sign extension (signed byte
1102
+ * to signed halfword) and stored to the out vector.
1103
+ * Example : See out = __lasx_xvaddwl_w_h(in_h, in_l)
1104
+ * =============================================================================
1105
+ */
1106
+ static inline __m256i __lasx_xvaddwl_h_b(__m256i in_h, __m256i in_l) {
1107
+ __m256i out;
1108
+
1109
+ out = __lasx_xvilvl_b(in_h, in_l);
1110
+ out = __lasx_xvhaddw_h_b(out, out);
1111
+ return out;
1112
+ }
1113
+
1114
+ /*
1115
+ * =============================================================================
1116
+ * Description : The low half of the vector elements are expanded and
1117
+ * added after being doubled.
1118
+ * Arguments : Inputs - in_h, in_l
1119
+ * Output - out
1120
+ * Details : The in_h vector and the in_l vector are added after the
1121
+ * lower half of the two-fold sign extension (signed halfword
1122
+ * to signed word) and stored to the out vector.
1123
+ * Example : out = __lasx_xvaddwl_w_h(in_h, in_l)
1124
+ * in_h : 3, 0,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1125
+ * in_l : 2,-1,1,2, 1,0,0, 0, 1,0,1, 0, 1,0,0,1
1126
+ * out : 5,-1,4,2, 1,0,2,-1
1127
+ * =============================================================================
1128
+ */
1129
+ static inline __m256i __lasx_xvaddwl_w_h(__m256i in_h, __m256i in_l) {
1130
+ __m256i out;
1131
+
1132
+ out = __lasx_xvilvl_h(in_h, in_l);
1133
+ out = __lasx_xvhaddw_w_h(out, out);
1134
+ return out;
1135
+ }
1136
+
1137
+ /*
1138
+ * =============================================================================
1139
+ * Description : The low half of the vector elements are expanded and
1140
+ * added after being doubled.
1141
+ * Arguments : Inputs - in_h, in_l
1142
+ * Output - out
1143
+ * Details : The out vector and the out vector are added after the
1144
+ * lower half of the two-fold zero extension (unsigned byte
1145
+ * to unsigned halfword) and stored to the out vector.
1146
+ * Example : See out = __lasx_xvaddwl_w_h(in_h, in_l)
1147
+ * =============================================================================
1148
+ */
1149
+ static inline __m256i __lasx_xvaddwl_h_bu(__m256i in_h, __m256i in_l) {
1150
+ __m256i out;
1151
+
1152
+ out = __lasx_xvilvl_b(in_h, in_l);
1153
+ out = __lasx_xvhaddw_hu_bu(out, out);
1154
+ return out;
1155
+ }
1156
+
1157
+ /*
1158
+ * =============================================================================
1159
+ * Description : The low half of the vector elements are expanded and
1160
+ * added after being doubled.
1161
+ * Arguments : Inputs - in_h, in_l
1162
+ * Output - out
1163
+ * Details : The in_l vector after double zero extension (unsigned byte to
1164
+ * signed halfword),added to the in_h vector.
1165
+ * Example : See out = __lasx_xvaddw_w_w_h(in_h, in_l)
1166
+ * =============================================================================
1167
+ */
1168
+ static inline __m256i __lasx_xvaddw_h_h_bu(__m256i in_h, __m256i in_l) {
1169
+ __m256i out;
1170
+
1171
+ out = __lasx_xvsllwil_hu_bu(in_l, 0);
1172
+ out = __lasx_xvadd_h(in_h, out);
1173
+ return out;
1174
+ }
1175
+
1176
+ /*
1177
+ * =============================================================================
1178
+ * Description : The low half of the vector elements are expanded and
1179
+ * added after being doubled.
1180
+ * Arguments : Inputs - in_h, in_l
1181
+ * Output - out
1182
+ * Details : The in_l vector after double sign extension (signed halfword to
1183
+ * signed word), added to the in_h vector.
1184
+ * Example : out = __lasx_xvaddw_w_w_h(in_h, in_l)
1185
+ * in_h : 0, 1,0,0, -1,0,0,1,
1186
+ * in_l : 2,-1,1,2, 1,0,0,0, 0,0,1,0, 1,0,0,1,
1187
+ * out : 2, 0,1,2, -1,0,1,1,
1188
+ * =============================================================================
1189
+ */
1190
+ static inline __m256i __lasx_xvaddw_w_w_h(__m256i in_h, __m256i in_l) {
1191
+ __m256i out;
1192
+
1193
+ out = __lasx_xvsllwil_w_h(in_l, 0);
1194
+ out = __lasx_xvadd_w(in_h, out);
1195
+ return out;
1196
+ }
1197
+
1198
+ /*
1199
+ * =============================================================================
1200
+ * Description : Multiplication and addition calculation after expansion
1201
+ * of the lower half of the vector.
1202
+ * Arguments : Inputs - in_c, in_h, in_l
1203
+ * Output - out
1204
+ * Details : The in_h vector and the in_l vector are multiplied after
1205
+ * the lower half of the two-fold sign extension (signed halfword
1206
+ * to signed word), and the result is added to the vector in_c,
1207
+ * then stored to the out vector.
1208
+ * Example : out = __lasx_xvmaddwl_w_h(in_c, in_h, in_l)
1209
+ * in_c : 1,2,3,4, 5,6,7,8
1210
+ * in_h : 1,2,3,4, 1,2,3,4, 5,6,7,8, 5,6,7,8
1211
+ * in_l : 200, 300, 400, 500, 2000, 3000, 4000, 5000,
1212
+ * -200,-300,-400,-500, -2000,-3000,-4000,-5000
1213
+ * out : 201, 602,1203,2004, -995, -1794,-2793,-3992
1214
+ * =============================================================================
1215
+ */
1216
+ static inline __m256i __lasx_xvmaddwl_w_h(__m256i in_c,
1217
+ __m256i in_h,
1218
+ __m256i in_l) {
1219
+ __m256i tmp0, tmp1, out;
1220
+
1221
+ tmp0 = __lasx_xvsllwil_w_h(in_h, 0);
1222
+ tmp1 = __lasx_xvsllwil_w_h(in_l, 0);
1223
+ tmp0 = __lasx_xvmul_w(tmp0, tmp1);
1224
+ out = __lasx_xvadd_w(tmp0, in_c);
1225
+ return out;
1226
+ }
1227
+
1228
+ /*
1229
+ * =============================================================================
1230
+ * Description : Multiplication and addition calculation after expansion
1231
+ * of the higher half of the vector.
1232
+ * Arguments : Inputs - in_c, in_h, in_l
1233
+ * Output - out
1234
+ * Details : The in_h vector and the in_l vector are multiplied after
1235
+ * the higher half of the two-fold sign extension (signed
1236
+ * halfword to signed word), and the result is added to
1237
+ * the vector in_c, then stored to the out vector.
1238
+ * Example : See out = __lasx_xvmaddwl_w_h(in_c, in_h, in_l)
1239
+ * =============================================================================
1240
+ */
1241
+ static inline __m256i __lasx_xvmaddwh_w_h(__m256i in_c,
1242
+ __m256i in_h,
1243
+ __m256i in_l) {
1244
+ __m256i tmp0, tmp1, out;
1245
+
1246
+ tmp0 = __lasx_xvilvh_h(in_h, in_h);
1247
+ tmp1 = __lasx_xvilvh_h(in_l, in_l);
1248
+ tmp0 = __lasx_xvmulwev_w_h(tmp0, tmp1);
1249
+ out = __lasx_xvadd_w(tmp0, in_c);
1250
+ return out;
1251
+ }
1252
+
1253
+ /*
1254
+ * =============================================================================
1255
+ * Description : Multiplication calculation after expansion of the lower
1256
+ * half of the vector.
1257
+ * Arguments : Inputs - in_h, in_l
1258
+ * Output - out
1259
+ * Details : The in_h vector and the in_l vector are multiplied after
1260
+ * the lower half of the two-fold sign extension (signed
1261
+ * halfword to signed word), then stored to the out vector.
1262
+ * Example : out = __lasx_xvmulwl_w_h(in_h, in_l)
1263
+ * in_h : 3,-1,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1264
+ * in_l : 2,-1,1,2, 1,0,0, 0, 0,0,1, 0, 1,0,0,1
1265
+ * out : 6,1,3,0, 0,0,1,0
1266
+ * =============================================================================
1267
+ */
1268
+ static inline __m256i __lasx_xvmulwl_w_h(__m256i in_h, __m256i in_l) {
1269
+ __m256i tmp0, tmp1, out;
1270
+
1271
+ tmp0 = __lasx_xvsllwil_w_h(in_h, 0);
1272
+ tmp1 = __lasx_xvsllwil_w_h(in_l, 0);
1273
+ out = __lasx_xvmul_w(tmp0, tmp1);
1274
+ return out;
1275
+ }
1276
+
1277
+ /*
1278
+ * =============================================================================
1279
+ * Description : Multiplication calculation after expansion of the lower
1280
+ * half of the vector.
1281
+ * Arguments : Inputs - in_h, in_l
1282
+ * Output - out
1283
+ * Details : The in_h vector and the in_l vector are multiplied after
1284
+ * the lower half of the two-fold sign extension (signed
1285
+ * halfword to signed word), then stored to the out vector.
1286
+ * Example : out = __lasx_xvmulwh_w_h(in_h, in_l)
1287
+ * in_h : 3,-1,3,0, 0,0,0,-1, 0,0,1,-1, 0,0,0,1
1288
+ * in_l : 2,-1,1,2, 1,0,0, 0, 0,0,1, 0, 1,0,0,1
1289
+ * out : 0,0,0,0, 0,0,0,1
1290
+ * =============================================================================
1291
+ */
1292
+ static inline __m256i __lasx_xvmulwh_w_h(__m256i in_h, __m256i in_l) {
1293
+ __m256i tmp0, tmp1, out;
1294
+
1295
+ tmp0 = __lasx_xvilvh_h(in_h, in_h);
1296
+ tmp1 = __lasx_xvilvh_h(in_l, in_l);
1297
+ out = __lasx_xvmulwev_w_h(tmp0, tmp1);
1298
+ return out;
1299
+ }
1300
+
1301
+ /*
1302
+ * =============================================================================
1303
+ * Description : The low half of the vector elements are added to the high half
1304
+ * after being doubled, then saturated.
1305
+ * Arguments : Inputs - in_h, in_l
1306
+ * Output - out
1307
+ * Details : The in_h vector adds the in_l vector after the lower half of
1308
+ * the two-fold zero extension (unsigned byte to unsigned
1309
+ * halfword) and then saturated. The results are stored to the out
1310
+ * vector.
1311
+ * Example : out = __lasx_xvsaddw_hu_hu_bu(in_h, in_l)
1312
+ * in_h : 2,65532,1,2, 1,0,0,0, 0,0,1,0, 1,0,0,1
1313
+ * in_l : 3,6,3,0, 0,0,0,1, 0,0,1,1, 0,0,0,1, 3,18,3,0, 0,0,0,1, 0,0,1,1,
1314
+ * 0,0,0,1
1315
+ * out : 5,65535,4,2, 1,0,0,1, 3,18,4,0, 1,0,0,2,
1316
+ * =============================================================================
1317
+ */
1318
+ static inline __m256i __lasx_xvsaddw_hu_hu_bu(__m256i in_h, __m256i in_l) {
1319
+ __m256i tmp1, out;
1320
+ __m256i zero = {0};
1321
+
1322
+ tmp1 = __lasx_xvilvl_b(zero, in_l);
1323
+ out = __lasx_xvsadd_hu(in_h, tmp1);
1324
+ return out;
1325
+ }
1326
+
1327
+ /*
1328
+ * =============================================================================
1329
+ * Description : Clip all halfword elements of input vector between min & max
1330
+ * out = ((in) < (min)) ? (min) : (((in) > (max)) ? (max) : (in))
1331
+ * Arguments : Inputs - in (input vector)
1332
+ * - min (min threshold)
1333
+ * - max (max threshold)
1334
+ * Outputs - in (output vector with clipped elements)
1335
+ * Return Type - signed halfword
1336
+ * Example : out = __lasx_xvclip_h(in, min, max)
1337
+ * in : -8,2,280,249, -8,255,280,249, 4,4,4,4, 5,5,5,5
1338
+ * min : 1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1
1339
+ * max : 9,9,9,9, 9,9,9,9, 9,9,9,9, 9,9,9,9
1340
+ * out : 1,2,9,9, 1,9,9,9, 4,4,4,4, 5,5,5,5
1341
+ * =============================================================================
1342
+ */
1343
+ static inline __m256i __lasx_xvclip_h(__m256i in, __m256i min, __m256i max) {
1344
+ __m256i out;
1345
+
1346
+ out = __lasx_xvmax_h(min, in);
1347
+ out = __lasx_xvmin_h(max, out);
1348
+ return out;
1349
+ }
1350
+
1351
+ /*
1352
+ * =============================================================================
1353
+ * Description : Clip all signed halfword elements of input vector
1354
+ * between 0 & 255
1355
+ * Arguments : Inputs - in (input vector)
1356
+ * Outputs - out (output vector with clipped elements)
1357
+ * Return Type - signed halfword
1358
+ * Example : See out = __lasx_xvclip255_w(in)
1359
+ * =============================================================================
1360
+ */
1361
+ static inline __m256i __lasx_xvclip255_h(__m256i in) {
1362
+ __m256i out;
1363
+
1364
+ out = __lasx_xvmaxi_h(in, 0);
1365
+ out = __lasx_xvsat_hu(out, 7);
1366
+ return out;
1367
+ }
1368
+
1369
+ /*
1370
+ * =============================================================================
1371
+ * Description : Clip all signed word elements of input vector
1372
+ * between 0 & 255
1373
+ * Arguments : Inputs - in (input vector)
1374
+ * Output - out (output vector with clipped elements)
1375
+ * Return Type - signed word
1376
+ * Example : out = __lasx_xvclip255_w(in)
1377
+ * in : -8,255,280,249, -8,255,280,249
1378
+ * out : 0,255,255,249, 0,255,255,249
1379
+ * =============================================================================
1380
+ */
1381
+ static inline __m256i __lasx_xvclip255_w(__m256i in) {
1382
+ __m256i out;
1383
+
1384
+ out = __lasx_xvmaxi_w(in, 0);
1385
+ out = __lasx_xvsat_wu(out, 7);
1386
+ return out;
1387
+ }
1388
+
1389
+ /*
1390
+ * =============================================================================
1391
+ * Description : Indexed halfword element values are replicated to all
1392
+ * elements in output vector. If 'idx < 8' use xvsplati_l_*,
1393
+ * if 'idx >= 8' use xvsplati_h_*.
1394
+ * Arguments : Inputs - in, idx
1395
+ * Output - out
1396
+ * Details : Idx element value from in vector is replicated to all
1397
+ * elements in out vector.
1398
+ * Valid index range for halfword operation is 0-7
1399
+ * Example : out = __lasx_xvsplati_l_h(in, idx)
1400
+ * in : 20,10,11,12, 13,14,15,16, 0,0,2,0, 0,0,0,0
1401
+ * idx : 0x02
1402
+ * out : 11,11,11,11, 11,11,11,11, 11,11,11,11, 11,11,11,11
1403
+ * =============================================================================
1404
+ */
1405
+ static inline __m256i __lasx_xvsplati_l_h(__m256i in, int idx) {
1406
+ __m256i out;
1407
+
1408
+ out = __lasx_xvpermi_q(in, in, 0x02);
1409
+ out = __lasx_xvreplve_h(out, idx);
1410
+ return out;
1411
+ }
1412
+
1413
+ /*
1414
+ * =============================================================================
1415
+ * Description : Indexed halfword element values are replicated to all
1416
+ * elements in output vector. If 'idx < 8' use xvsplati_l_*,
1417
+ * if 'idx >= 8' use xvsplati_h_*.
1418
+ * Arguments : Inputs - in, idx
1419
+ * Output - out
1420
+ * Details : Idx element value from in vector is replicated to all
1421
+ * elements in out vector.
1422
+ * Valid index range for halfword operation is 0-7
1423
+ * Example : out = __lasx_xvsplati_h_h(in, idx)
1424
+ * in : 20,10,11,12, 13,14,15,16, 0,2,0,0, 0,0,0,0
1425
+ * idx : 0x09
1426
+ * out : 2,2,2,2, 2,2,2,2, 2,2,2,2, 2,2,2,2
1427
+ * =============================================================================
1428
+ */
1429
+ static inline __m256i __lasx_xvsplati_h_h(__m256i in, int idx) {
1430
+ __m256i out;
1431
+
1432
+ out = __lasx_xvpermi_q(in, in, 0x13);
1433
+ out = __lasx_xvreplve_h(out, idx);
1434
+ return out;
1435
+ }
1436
+
1437
+ /*
1438
+ * =============================================================================
1439
+ * Description : Transpose 4x4 block with double-word elements in vectors
1440
+ * Arguments : Inputs - _in0, _in1, _in2, _in3
1441
+ * Outputs - _out0, _out1, _out2, _out3
1442
+ * Example : LASX_TRANSPOSE4x4_D
1443
+ * _in0 : 1,2,3,4
1444
+ * _in1 : 1,2,3,4
1445
+ * _in2 : 1,2,3,4
1446
+ * _in3 : 1,2,3,4
1447
+ *
1448
+ * _out0 : 1,1,1,1
1449
+ * _out1 : 2,2,2,2
1450
+ * _out2 : 3,3,3,3
1451
+ * _out3 : 4,4,4,4
1452
+ * =============================================================================
1453
+ */
1454
+ #define LASX_TRANSPOSE4x4_D(_in0, _in1, _in2, _in3, _out0, _out1, _out2, \
1455
+ _out3) \
1456
+ { \
1457
+ __m256i _tmp0, _tmp1, _tmp2, _tmp3; \
1458
+ _tmp0 = __lasx_xvilvl_d(_in1, _in0); \
1459
+ _tmp1 = __lasx_xvilvh_d(_in1, _in0); \
1460
+ _tmp2 = __lasx_xvilvl_d(_in3, _in2); \
1461
+ _tmp3 = __lasx_xvilvh_d(_in3, _in2); \
1462
+ _out0 = __lasx_xvpermi_q(_tmp2, _tmp0, 0x20); \
1463
+ _out2 = __lasx_xvpermi_q(_tmp2, _tmp0, 0x31); \
1464
+ _out1 = __lasx_xvpermi_q(_tmp3, _tmp1, 0x20); \
1465
+ _out3 = __lasx_xvpermi_q(_tmp3, _tmp1, 0x31); \
1466
+ }
1467
+
1468
+ /*
1469
+ * =============================================================================
1470
+ * Description : Transpose 8x8 block with word elements in vectors
1471
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7
1472
+ * Outputs - _out0, _out1, _out2, _out3, _out4, _out5, _out6,
1473
+ * _out7
1474
+ * Example : LASX_TRANSPOSE8x8_W
1475
+ * _in0 : 1,2,3,4,5,6,7,8
1476
+ * _in1 : 2,2,3,4,5,6,7,8
1477
+ * _in2 : 3,2,3,4,5,6,7,8
1478
+ * _in3 : 4,2,3,4,5,6,7,8
1479
+ * _in4 : 5,2,3,4,5,6,7,8
1480
+ * _in5 : 6,2,3,4,5,6,7,8
1481
+ * _in6 : 7,2,3,4,5,6,7,8
1482
+ * _in7 : 8,2,3,4,5,6,7,8
1483
+ *
1484
+ * _out0 : 1,2,3,4,5,6,7,8
1485
+ * _out1 : 2,2,2,2,2,2,2,2
1486
+ * _out2 : 3,3,3,3,3,3,3,3
1487
+ * _out3 : 4,4,4,4,4,4,4,4
1488
+ * _out4 : 5,5,5,5,5,5,5,5
1489
+ * _out5 : 6,6,6,6,6,6,6,6
1490
+ * _out6 : 7,7,7,7,7,7,7,7
1491
+ * _out7 : 8,8,8,8,8,8,8,8
1492
+ * =============================================================================
1493
+ */
1494
+ #define LASX_TRANSPOSE8x8_W(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1495
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1496
+ _out7) \
1497
+ { \
1498
+ __m256i _s0_m, _s1_m; \
1499
+ __m256i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
1500
+ __m256i _tmp4_m, _tmp5_m, _tmp6_m, _tmp7_m; \
1501
+ \
1502
+ _s0_m = __lasx_xvilvl_w(_in2, _in0); \
1503
+ _s1_m = __lasx_xvilvl_w(_in3, _in1); \
1504
+ _tmp0_m = __lasx_xvilvl_w(_s1_m, _s0_m); \
1505
+ _tmp1_m = __lasx_xvilvh_w(_s1_m, _s0_m); \
1506
+ _s0_m = __lasx_xvilvh_w(_in2, _in0); \
1507
+ _s1_m = __lasx_xvilvh_w(_in3, _in1); \
1508
+ _tmp2_m = __lasx_xvilvl_w(_s1_m, _s0_m); \
1509
+ _tmp3_m = __lasx_xvilvh_w(_s1_m, _s0_m); \
1510
+ _s0_m = __lasx_xvilvl_w(_in6, _in4); \
1511
+ _s1_m = __lasx_xvilvl_w(_in7, _in5); \
1512
+ _tmp4_m = __lasx_xvilvl_w(_s1_m, _s0_m); \
1513
+ _tmp5_m = __lasx_xvilvh_w(_s1_m, _s0_m); \
1514
+ _s0_m = __lasx_xvilvh_w(_in6, _in4); \
1515
+ _s1_m = __lasx_xvilvh_w(_in7, _in5); \
1516
+ _tmp6_m = __lasx_xvilvl_w(_s1_m, _s0_m); \
1517
+ _tmp7_m = __lasx_xvilvh_w(_s1_m, _s0_m); \
1518
+ _out0 = __lasx_xvpermi_q(_tmp4_m, _tmp0_m, 0x20); \
1519
+ _out1 = __lasx_xvpermi_q(_tmp5_m, _tmp1_m, 0x20); \
1520
+ _out2 = __lasx_xvpermi_q(_tmp6_m, _tmp2_m, 0x20); \
1521
+ _out3 = __lasx_xvpermi_q(_tmp7_m, _tmp3_m, 0x20); \
1522
+ _out4 = __lasx_xvpermi_q(_tmp4_m, _tmp0_m, 0x31); \
1523
+ _out5 = __lasx_xvpermi_q(_tmp5_m, _tmp1_m, 0x31); \
1524
+ _out6 = __lasx_xvpermi_q(_tmp6_m, _tmp2_m, 0x31); \
1525
+ _out7 = __lasx_xvpermi_q(_tmp7_m, _tmp3_m, 0x31); \
1526
+ }
1527
+
1528
+ /*
1529
+ * =============================================================================
1530
+ * Description : Transpose input 16x8 byte block
1531
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7,
1532
+ * _in8, _in9, _in10, _in11, _in12, _in13, _in14, _in15
1533
+ * (input 16x8 byte block)
1534
+ * Outputs - _out0, _out1, _out2, _out3, _out4, _out5, _out6,
1535
+ * _out7 (output 8x16 byte block)
1536
+ * Details : The rows of the matrix become columns, and the columns become
1537
+ * rows.
1538
+ * Example : See LASX_TRANSPOSE16x8_H
1539
+ * =============================================================================
1540
+ */
1541
+ #define LASX_TRANSPOSE16x8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1542
+ _in8, _in9, _in10, _in11, _in12, _in13, _in14, \
1543
+ _in15, _out0, _out1, _out2, _out3, _out4, _out5, \
1544
+ _out6, _out7) \
1545
+ { \
1546
+ __m256i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
1547
+ __m256i _tmp4_m, _tmp5_m, _tmp6_m, _tmp7_m; \
1548
+ \
1549
+ _tmp0_m = __lasx_xvilvl_b(_in2, _in0); \
1550
+ _tmp1_m = __lasx_xvilvl_b(_in3, _in1); \
1551
+ _tmp2_m = __lasx_xvilvl_b(_in6, _in4); \
1552
+ _tmp3_m = __lasx_xvilvl_b(_in7, _in5); \
1553
+ _tmp4_m = __lasx_xvilvl_b(_in10, _in8); \
1554
+ _tmp5_m = __lasx_xvilvl_b(_in11, _in9); \
1555
+ _tmp6_m = __lasx_xvilvl_b(_in14, _in12); \
1556
+ _tmp7_m = __lasx_xvilvl_b(_in15, _in13); \
1557
+ _out0 = __lasx_xvilvl_b(_tmp1_m, _tmp0_m); \
1558
+ _out1 = __lasx_xvilvh_b(_tmp1_m, _tmp0_m); \
1559
+ _out2 = __lasx_xvilvl_b(_tmp3_m, _tmp2_m); \
1560
+ _out3 = __lasx_xvilvh_b(_tmp3_m, _tmp2_m); \
1561
+ _out4 = __lasx_xvilvl_b(_tmp5_m, _tmp4_m); \
1562
+ _out5 = __lasx_xvilvh_b(_tmp5_m, _tmp4_m); \
1563
+ _out6 = __lasx_xvilvl_b(_tmp7_m, _tmp6_m); \
1564
+ _out7 = __lasx_xvilvh_b(_tmp7_m, _tmp6_m); \
1565
+ _tmp0_m = __lasx_xvilvl_w(_out2, _out0); \
1566
+ _tmp2_m = __lasx_xvilvh_w(_out2, _out0); \
1567
+ _tmp4_m = __lasx_xvilvl_w(_out3, _out1); \
1568
+ _tmp6_m = __lasx_xvilvh_w(_out3, _out1); \
1569
+ _tmp1_m = __lasx_xvilvl_w(_out6, _out4); \
1570
+ _tmp3_m = __lasx_xvilvh_w(_out6, _out4); \
1571
+ _tmp5_m = __lasx_xvilvl_w(_out7, _out5); \
1572
+ _tmp7_m = __lasx_xvilvh_w(_out7, _out5); \
1573
+ _out0 = __lasx_xvilvl_d(_tmp1_m, _tmp0_m); \
1574
+ _out1 = __lasx_xvilvh_d(_tmp1_m, _tmp0_m); \
1575
+ _out2 = __lasx_xvilvl_d(_tmp3_m, _tmp2_m); \
1576
+ _out3 = __lasx_xvilvh_d(_tmp3_m, _tmp2_m); \
1577
+ _out4 = __lasx_xvilvl_d(_tmp5_m, _tmp4_m); \
1578
+ _out5 = __lasx_xvilvh_d(_tmp5_m, _tmp4_m); \
1579
+ _out6 = __lasx_xvilvl_d(_tmp7_m, _tmp6_m); \
1580
+ _out7 = __lasx_xvilvh_d(_tmp7_m, _tmp6_m); \
1581
+ }
1582
+
1583
+ /*
1584
+ * =============================================================================
1585
+ * Description : Transpose input 16x8 byte block
1586
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7,
1587
+ * _in8, _in9, _in10, _in11, _in12, _in13, _in14, _in15
1588
+ * (input 16x8 byte block)
1589
+ * Outputs - _out0, _out1, _out2, _out3, _out4, _out5, _out6,
1590
+ * _out7 (output 8x16 byte block)
1591
+ * Details : The rows of the matrix become columns, and the columns become
1592
+ * rows.
1593
+ * Example : LASX_TRANSPOSE16x8_H
1594
+ * _in0 : 1,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1595
+ * _in1 : 2,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1596
+ * _in2 : 3,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1597
+ * _in3 : 4,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1598
+ * _in4 : 5,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1599
+ * _in5 : 6,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1600
+ * _in6 : 7,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1601
+ * _in7 : 8,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1602
+ * _in8 : 9,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1603
+ * _in9 : 1,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1604
+ * _in10 : 0,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1605
+ * _in11 : 2,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1606
+ * _in12 : 3,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1607
+ * _in13 : 7,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1608
+ * _in14 : 5,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1609
+ * _in15 : 6,2,3,4,5,6,7,8,0,0,0,0,0,0,0,0
1610
+ *
1611
+ * _out0 : 1,2,3,4,5,6,7,8,9,1,0,2,3,7,5,6
1612
+ * _out1 : 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
1613
+ * _out2 : 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
1614
+ * _out3 : 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4
1615
+ * _out4 : 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
1616
+ * _out5 : 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6
1617
+ * _out6 : 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7
1618
+ * _out7 : 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
1619
+ * =============================================================================
1620
+ */
1621
+ #define LASX_TRANSPOSE16x8_H(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1622
+ _in8, _in9, _in10, _in11, _in12, _in13, _in14, \
1623
+ _in15, _out0, _out1, _out2, _out3, _out4, _out5, \
1624
+ _out6, _out7) \
1625
+ { \
1626
+ __m256i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
1627
+ __m256i _tmp4_m, _tmp5_m, _tmp6_m, _tmp7_m; \
1628
+ __m256i _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7; \
1629
+ \
1630
+ _tmp0_m = __lasx_xvilvl_h(_in2, _in0); \
1631
+ _tmp1_m = __lasx_xvilvl_h(_in3, _in1); \
1632
+ _tmp2_m = __lasx_xvilvl_h(_in6, _in4); \
1633
+ _tmp3_m = __lasx_xvilvl_h(_in7, _in5); \
1634
+ _tmp4_m = __lasx_xvilvl_h(_in10, _in8); \
1635
+ _tmp5_m = __lasx_xvilvl_h(_in11, _in9); \
1636
+ _tmp6_m = __lasx_xvilvl_h(_in14, _in12); \
1637
+ _tmp7_m = __lasx_xvilvl_h(_in15, _in13); \
1638
+ _t0 = __lasx_xvilvl_h(_tmp1_m, _tmp0_m); \
1639
+ _t1 = __lasx_xvilvh_h(_tmp1_m, _tmp0_m); \
1640
+ _t2 = __lasx_xvilvl_h(_tmp3_m, _tmp2_m); \
1641
+ _t3 = __lasx_xvilvh_h(_tmp3_m, _tmp2_m); \
1642
+ _t4 = __lasx_xvilvl_h(_tmp5_m, _tmp4_m); \
1643
+ _t5 = __lasx_xvilvh_h(_tmp5_m, _tmp4_m); \
1644
+ _t6 = __lasx_xvilvl_h(_tmp7_m, _tmp6_m); \
1645
+ _t7 = __lasx_xvilvh_h(_tmp7_m, _tmp6_m); \
1646
+ _tmp0_m = __lasx_xvilvl_d(_t2, _t0); \
1647
+ _tmp2_m = __lasx_xvilvh_d(_t2, _t0); \
1648
+ _tmp4_m = __lasx_xvilvl_d(_t3, _t1); \
1649
+ _tmp6_m = __lasx_xvilvh_d(_t3, _t1); \
1650
+ _tmp1_m = __lasx_xvilvl_d(_t6, _t4); \
1651
+ _tmp3_m = __lasx_xvilvh_d(_t6, _t4); \
1652
+ _tmp5_m = __lasx_xvilvl_d(_t7, _t5); \
1653
+ _tmp7_m = __lasx_xvilvh_d(_t7, _t5); \
1654
+ _out0 = __lasx_xvpermi_q(_tmp1_m, _tmp0_m, 0x20); \
1655
+ _out1 = __lasx_xvpermi_q(_tmp3_m, _tmp2_m, 0x20); \
1656
+ _out2 = __lasx_xvpermi_q(_tmp5_m, _tmp4_m, 0x20); \
1657
+ _out3 = __lasx_xvpermi_q(_tmp7_m, _tmp6_m, 0x20); \
1658
+ \
1659
+ _tmp0_m = __lasx_xvilvh_h(_in2, _in0); \
1660
+ _tmp1_m = __lasx_xvilvh_h(_in3, _in1); \
1661
+ _tmp2_m = __lasx_xvilvh_h(_in6, _in4); \
1662
+ _tmp3_m = __lasx_xvilvh_h(_in7, _in5); \
1663
+ _tmp4_m = __lasx_xvilvh_h(_in10, _in8); \
1664
+ _tmp5_m = __lasx_xvilvh_h(_in11, _in9); \
1665
+ _tmp6_m = __lasx_xvilvh_h(_in14, _in12); \
1666
+ _tmp7_m = __lasx_xvilvh_h(_in15, _in13); \
1667
+ _t0 = __lasx_xvilvl_h(_tmp1_m, _tmp0_m); \
1668
+ _t1 = __lasx_xvilvh_h(_tmp1_m, _tmp0_m); \
1669
+ _t2 = __lasx_xvilvl_h(_tmp3_m, _tmp2_m); \
1670
+ _t3 = __lasx_xvilvh_h(_tmp3_m, _tmp2_m); \
1671
+ _t4 = __lasx_xvilvl_h(_tmp5_m, _tmp4_m); \
1672
+ _t5 = __lasx_xvilvh_h(_tmp5_m, _tmp4_m); \
1673
+ _t6 = __lasx_xvilvl_h(_tmp7_m, _tmp6_m); \
1674
+ _t7 = __lasx_xvilvh_h(_tmp7_m, _tmp6_m); \
1675
+ _tmp0_m = __lasx_xvilvl_d(_t2, _t0); \
1676
+ _tmp2_m = __lasx_xvilvh_d(_t2, _t0); \
1677
+ _tmp4_m = __lasx_xvilvl_d(_t3, _t1); \
1678
+ _tmp6_m = __lasx_xvilvh_d(_t3, _t1); \
1679
+ _tmp1_m = __lasx_xvilvl_d(_t6, _t4); \
1680
+ _tmp3_m = __lasx_xvilvh_d(_t6, _t4); \
1681
+ _tmp5_m = __lasx_xvilvl_d(_t7, _t5); \
1682
+ _tmp7_m = __lasx_xvilvh_d(_t7, _t5); \
1683
+ _out4 = __lasx_xvpermi_q(_tmp1_m, _tmp0_m, 0x20); \
1684
+ _out5 = __lasx_xvpermi_q(_tmp3_m, _tmp2_m, 0x20); \
1685
+ _out6 = __lasx_xvpermi_q(_tmp5_m, _tmp4_m, 0x20); \
1686
+ _out7 = __lasx_xvpermi_q(_tmp7_m, _tmp6_m, 0x20); \
1687
+ }
1688
+
1689
+ /*
1690
+ * =============================================================================
1691
+ * Description : Transpose 4x4 block with halfword elements in vectors
1692
+ * Arguments : Inputs - _in0, _in1, _in2, _in3
1693
+ * Outputs - _out0, _out1, _out2, _out3
1694
+ * Return Type - signed halfword
1695
+ * Details : The rows of the matrix become columns, and the columns become
1696
+ * rows.
1697
+ * Example : See LASX_TRANSPOSE8x8_H
1698
+ * =============================================================================
1699
+ */
1700
+ #define LASX_TRANSPOSE4x4_H(_in0, _in1, _in2, _in3, _out0, _out1, _out2, \
1701
+ _out3) \
1702
+ { \
1703
+ __m256i _s0_m, _s1_m; \
1704
+ \
1705
+ _s0_m = __lasx_xvilvl_h(_in1, _in0); \
1706
+ _s1_m = __lasx_xvilvl_h(_in3, _in2); \
1707
+ _out0 = __lasx_xvilvl_w(_s1_m, _s0_m); \
1708
+ _out2 = __lasx_xvilvh_w(_s1_m, _s0_m); \
1709
+ _out1 = __lasx_xvilvh_d(_out0, _out0); \
1710
+ _out3 = __lasx_xvilvh_d(_out2, _out2); \
1711
+ }
1712
+
1713
+ /*
1714
+ * =============================================================================
1715
+ * Description : Transpose input 8x8 byte block
1716
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7
1717
+ * (input 8x8 byte block)
1718
+ * Outputs - _out0, _out1, _out2, _out3, _out4, _out5, _out6,
1719
+ * _out7 (output 8x8 byte block)
1720
+ * Example : See LASX_TRANSPOSE8x8_H
1721
+ * =============================================================================
1722
+ */
1723
+ #define LASX_TRANSPOSE8x8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1724
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1725
+ _out7) \
1726
+ { \
1727
+ __m256i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
1728
+ __m256i _tmp4_m, _tmp5_m, _tmp6_m, _tmp7_m; \
1729
+ _tmp0_m = __lasx_xvilvl_b(_in2, _in0); \
1730
+ _tmp1_m = __lasx_xvilvl_b(_in3, _in1); \
1731
+ _tmp2_m = __lasx_xvilvl_b(_in6, _in4); \
1732
+ _tmp3_m = __lasx_xvilvl_b(_in7, _in5); \
1733
+ _tmp4_m = __lasx_xvilvl_b(_tmp1_m, _tmp0_m); \
1734
+ _tmp5_m = __lasx_xvilvh_b(_tmp1_m, _tmp0_m); \
1735
+ _tmp6_m = __lasx_xvilvl_b(_tmp3_m, _tmp2_m); \
1736
+ _tmp7_m = __lasx_xvilvh_b(_tmp3_m, _tmp2_m); \
1737
+ _out0 = __lasx_xvilvl_w(_tmp6_m, _tmp4_m); \
1738
+ _out2 = __lasx_xvilvh_w(_tmp6_m, _tmp4_m); \
1739
+ _out4 = __lasx_xvilvl_w(_tmp7_m, _tmp5_m); \
1740
+ _out6 = __lasx_xvilvh_w(_tmp7_m, _tmp5_m); \
1741
+ _out1 = __lasx_xvbsrl_v(_out0, 8); \
1742
+ _out3 = __lasx_xvbsrl_v(_out2, 8); \
1743
+ _out5 = __lasx_xvbsrl_v(_out4, 8); \
1744
+ _out7 = __lasx_xvbsrl_v(_out6, 8); \
1745
+ }
1746
+
1747
+ /*
1748
+ * =============================================================================
1749
+ * Description : Transpose 8x8 block with halfword elements in vectors.
1750
+ * Arguments : Inputs - _in0, _in1, ~
1751
+ * Outputs - _out0, _out1, ~
1752
+ * Details : The rows of the matrix become columns, and the columns become
1753
+ * rows.
1754
+ * Example : LASX_TRANSPOSE8x8_H
1755
+ * _in0 : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
1756
+ * _in1 : 8,2,3,4, 5,6,7,8, 8,2,3,4, 5,6,7,8
1757
+ * _in2 : 8,2,3,4, 5,6,7,8, 8,2,3,4, 5,6,7,8
1758
+ * _in3 : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
1759
+ * _in4 : 9,2,3,4, 5,6,7,8, 9,2,3,4, 5,6,7,8
1760
+ * _in5 : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
1761
+ * _in6 : 1,2,3,4, 5,6,7,8, 1,2,3,4, 5,6,7,8
1762
+ * _in7 : 9,2,3,4, 5,6,7,8, 9,2,3,4, 5,6,7,8
1763
+ *
1764
+ * _out0 : 1,8,8,1, 9,1,1,9, 1,8,8,1, 9,1,1,9
1765
+ * _out1 : 2,2,2,2, 2,2,2,2, 2,2,2,2, 2,2,2,2
1766
+ * _out2 : 3,3,3,3, 3,3,3,3, 3,3,3,3, 3,3,3,3
1767
+ * _out3 : 4,4,4,4, 4,4,4,4, 4,4,4,4, 4,4,4,4
1768
+ * _out4 : 5,5,5,5, 5,5,5,5, 5,5,5,5, 5,5,5,5
1769
+ * _out5 : 6,6,6,6, 6,6,6,6, 6,6,6,6, 6,6,6,6
1770
+ * _out6 : 7,7,7,7, 7,7,7,7, 7,7,7,7, 7,7,7,7
1771
+ * _out7 : 8,8,8,8, 8,8,8,8, 8,8,8,8, 8,8,8,8
1772
+ * =============================================================================
1773
+ */
1774
+ #define LASX_TRANSPOSE8x8_H(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1775
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1776
+ _out7) \
1777
+ { \
1778
+ __m256i _s0_m, _s1_m; \
1779
+ __m256i _tmp0_m, _tmp1_m, _tmp2_m, _tmp3_m; \
1780
+ __m256i _tmp4_m, _tmp5_m, _tmp6_m, _tmp7_m; \
1781
+ \
1782
+ _s0_m = __lasx_xvilvl_h(_in6, _in4); \
1783
+ _s1_m = __lasx_xvilvl_h(_in7, _in5); \
1784
+ _tmp0_m = __lasx_xvilvl_h(_s1_m, _s0_m); \
1785
+ _tmp1_m = __lasx_xvilvh_h(_s1_m, _s0_m); \
1786
+ _s0_m = __lasx_xvilvh_h(_in6, _in4); \
1787
+ _s1_m = __lasx_xvilvh_h(_in7, _in5); \
1788
+ _tmp2_m = __lasx_xvilvl_h(_s1_m, _s0_m); \
1789
+ _tmp3_m = __lasx_xvilvh_h(_s1_m, _s0_m); \
1790
+ \
1791
+ _s0_m = __lasx_xvilvl_h(_in2, _in0); \
1792
+ _s1_m = __lasx_xvilvl_h(_in3, _in1); \
1793
+ _tmp4_m = __lasx_xvilvl_h(_s1_m, _s0_m); \
1794
+ _tmp5_m = __lasx_xvilvh_h(_s1_m, _s0_m); \
1795
+ _s0_m = __lasx_xvilvh_h(_in2, _in0); \
1796
+ _s1_m = __lasx_xvilvh_h(_in3, _in1); \
1797
+ _tmp6_m = __lasx_xvilvl_h(_s1_m, _s0_m); \
1798
+ _tmp7_m = __lasx_xvilvh_h(_s1_m, _s0_m); \
1799
+ \
1800
+ _out0 = __lasx_xvpickev_d(_tmp0_m, _tmp4_m); \
1801
+ _out2 = __lasx_xvpickev_d(_tmp1_m, _tmp5_m); \
1802
+ _out4 = __lasx_xvpickev_d(_tmp2_m, _tmp6_m); \
1803
+ _out6 = __lasx_xvpickev_d(_tmp3_m, _tmp7_m); \
1804
+ _out1 = __lasx_xvpickod_d(_tmp0_m, _tmp4_m); \
1805
+ _out3 = __lasx_xvpickod_d(_tmp1_m, _tmp5_m); \
1806
+ _out5 = __lasx_xvpickod_d(_tmp2_m, _tmp6_m); \
1807
+ _out7 = __lasx_xvpickod_d(_tmp3_m, _tmp7_m); \
1808
+ }
1809
+
1810
+ /*
1811
+ * =============================================================================
1812
+ * Description : Butterfly of 4 input vectors
1813
+ * Arguments : Inputs - _in0, _in1, _in2, _in3
1814
+ * Outputs - _out0, _out1, _out2, _out3
1815
+ * Details : Butterfly operation
1816
+ * Example : LASX_BUTTERFLY_4
1817
+ * _out0 = _in0 + _in3;
1818
+ * _out1 = _in1 + _in2;
1819
+ * _out2 = _in1 - _in2;
1820
+ * _out3 = _in0 - _in3;
1821
+ * =============================================================================
1822
+ */
1823
+ #define LASX_BUTTERFLY_4_B(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
1824
+ { \
1825
+ _out0 = __lasx_xvadd_b(_in0, _in3); \
1826
+ _out1 = __lasx_xvadd_b(_in1, _in2); \
1827
+ _out2 = __lasx_xvsub_b(_in1, _in2); \
1828
+ _out3 = __lasx_xvsub_b(_in0, _in3); \
1829
+ }
1830
+ #define LASX_BUTTERFLY_4_H(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
1831
+ { \
1832
+ _out0 = __lasx_xvadd_h(_in0, _in3); \
1833
+ _out1 = __lasx_xvadd_h(_in1, _in2); \
1834
+ _out2 = __lasx_xvsub_h(_in1, _in2); \
1835
+ _out3 = __lasx_xvsub_h(_in0, _in3); \
1836
+ }
1837
+ #define LASX_BUTTERFLY_4_W(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
1838
+ { \
1839
+ _out0 = __lasx_xvadd_w(_in0, _in3); \
1840
+ _out1 = __lasx_xvadd_w(_in1, _in2); \
1841
+ _out2 = __lasx_xvsub_w(_in1, _in2); \
1842
+ _out3 = __lasx_xvsub_w(_in0, _in3); \
1843
+ }
1844
+ #define LASX_BUTTERFLY_4_D(_in0, _in1, _in2, _in3, _out0, _out1, _out2, _out3) \
1845
+ { \
1846
+ _out0 = __lasx_xvadd_d(_in0, _in3); \
1847
+ _out1 = __lasx_xvadd_d(_in1, _in2); \
1848
+ _out2 = __lasx_xvsub_d(_in1, _in2); \
1849
+ _out3 = __lasx_xvsub_d(_in0, _in3); \
1850
+ }
1851
+
1852
+ /*
1853
+ * =============================================================================
1854
+ * Description : Butterfly of 8 input vectors
1855
+ * Arguments : Inputs - _in0, _in1, _in2, _in3, ~
1856
+ * Outputs - _out0, _out1, _out2, _out3, ~
1857
+ * Details : Butterfly operation
1858
+ * Example : LASX_BUTTERFLY_8
1859
+ * _out0 = _in0 + _in7;
1860
+ * _out1 = _in1 + _in6;
1861
+ * _out2 = _in2 + _in5;
1862
+ * _out3 = _in3 + _in4;
1863
+ * _out4 = _in3 - _in4;
1864
+ * _out5 = _in2 - _in5;
1865
+ * _out6 = _in1 - _in6;
1866
+ * _out7 = _in0 - _in7;
1867
+ * =============================================================================
1868
+ */
1869
+ #define LASX_BUTTERFLY_8_B(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1870
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1871
+ _out7) \
1872
+ { \
1873
+ _out0 = __lasx_xvadd_b(_in0, _in7); \
1874
+ _out1 = __lasx_xvadd_b(_in1, _in6); \
1875
+ _out2 = __lasx_xvadd_b(_in2, _in5); \
1876
+ _out3 = __lasx_xvadd_b(_in3, _in4); \
1877
+ _out4 = __lasx_xvsub_b(_in3, _in4); \
1878
+ _out5 = __lasx_xvsub_b(_in2, _in5); \
1879
+ _out6 = __lasx_xvsub_b(_in1, _in6); \
1880
+ _out7 = __lasx_xvsub_b(_in0, _in7); \
1881
+ }
1882
+
1883
+ #define LASX_BUTTERFLY_8_H(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1884
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1885
+ _out7) \
1886
+ { \
1887
+ _out0 = __lasx_xvadd_h(_in0, _in7); \
1888
+ _out1 = __lasx_xvadd_h(_in1, _in6); \
1889
+ _out2 = __lasx_xvadd_h(_in2, _in5); \
1890
+ _out3 = __lasx_xvadd_h(_in3, _in4); \
1891
+ _out4 = __lasx_xvsub_h(_in3, _in4); \
1892
+ _out5 = __lasx_xvsub_h(_in2, _in5); \
1893
+ _out6 = __lasx_xvsub_h(_in1, _in6); \
1894
+ _out7 = __lasx_xvsub_h(_in0, _in7); \
1895
+ }
1896
+
1897
+ #define LASX_BUTTERFLY_8_W(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1898
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1899
+ _out7) \
1900
+ { \
1901
+ _out0 = __lasx_xvadd_w(_in0, _in7); \
1902
+ _out1 = __lasx_xvadd_w(_in1, _in6); \
1903
+ _out2 = __lasx_xvadd_w(_in2, _in5); \
1904
+ _out3 = __lasx_xvadd_w(_in3, _in4); \
1905
+ _out4 = __lasx_xvsub_w(_in3, _in4); \
1906
+ _out5 = __lasx_xvsub_w(_in2, _in5); \
1907
+ _out6 = __lasx_xvsub_w(_in1, _in6); \
1908
+ _out7 = __lasx_xvsub_w(_in0, _in7); \
1909
+ }
1910
+
1911
+ #define LASX_BUTTERFLY_8_D(_in0, _in1, _in2, _in3, _in4, _in5, _in6, _in7, \
1912
+ _out0, _out1, _out2, _out3, _out4, _out5, _out6, \
1913
+ _out7) \
1914
+ { \
1915
+ _out0 = __lasx_xvadd_d(_in0, _in7); \
1916
+ _out1 = __lasx_xvadd_d(_in1, _in6); \
1917
+ _out2 = __lasx_xvadd_d(_in2, _in5); \
1918
+ _out3 = __lasx_xvadd_d(_in3, _in4); \
1919
+ _out4 = __lasx_xvsub_d(_in3, _in4); \
1920
+ _out5 = __lasx_xvsub_d(_in2, _in5); \
1921
+ _out6 = __lasx_xvsub_d(_in1, _in6); \
1922
+ _out7 = __lasx_xvsub_d(_in0, _in7); \
1923
+ }
1924
+
1925
+ #endif // LASX
1926
+
1927
+ /*
1928
+ * =============================================================================
1929
+ * Description : Print out elements in vector.
1930
+ * Arguments : Inputs - RTYPE, _element_num, _in0, _enter
1931
+ * Outputs -
1932
+ * Details : Print out '_element_num' elements in 'RTYPE' vector '_in0', if
1933
+ * '_enter' is TRUE, prefix "\nVP:" will be added first.
1934
+ * Example : VECT_PRINT(v4i32,4,in0,1); // in0: 1,2,3,4
1935
+ * VP:1,2,3,4,
1936
+ * =============================================================================
1937
+ */
1938
+ #define VECT_PRINT(RTYPE, element_num, in0, enter) \
1939
+ { \
1940
+ RTYPE _tmp0 = (RTYPE)in0; \
1941
+ int _i = 0; \
1942
+ if (enter) \
1943
+ printf("\nVP:"); \
1944
+ for (_i = 0; _i < element_num; _i++) \
1945
+ printf("%d,", _tmp0[_i]); \
1946
+ }
1947
+
1948
+ #endif /* LOONGSON_INTRINSICS_H */
1949
+ #endif /* INCLUDE_LIBYUV_LOONGSON_INTRINSICS_H */