node-native-win-utils 1.3.4 → 2.1.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 (191) hide show
  1. package/README.md +30 -83
  2. package/binding.gyp +3 -0
  3. package/dist/dirnameLocal.cjs +4 -0
  4. package/dist/dirnameLocal.d.cts +1 -0
  5. package/dist/dirnameLocal.d.mts +1 -0
  6. package/dist/dirnameLocal.mjs +2 -0
  7. package/dist/{index.js → index.cjs} +49 -17
  8. package/dist/{index.d.ts → index.d.cts} +25 -12
  9. package/dist/index.d.mts +191 -0
  10. package/dist/index.mjs +177 -0
  11. package/dist/keyCodes.d.mts +101 -0
  12. package/dist/keyCodes.mjs +201 -0
  13. package/node22.json +16 -0
  14. package/package.json +22 -9
  15. package/prebuilds/win32-x64/node-native-win-utils.node +0 -0
  16. package/prebuilds/win32-x64/tesseract.dll +0 -0
  17. package/prebuilds/win32-x64/tiff.dll +0 -0
  18. package/src/cpp/keyboard.cpp +141 -140
  19. package/src/cpp/main.cpp +11 -3
  20. package/src/cpp/{capturewindow.cpp → screenshot.cpp} +174 -2
  21. package/src/cpp/tesseract.cpp +49 -0
  22. package/src/dirnameLocal.mts +3 -0
  23. package/src/index.mts +454 -0
  24. package/src/keyCodes.mts +203 -0
  25. package/include/opencv2/core/affine.hpp +0 -678
  26. package/include/opencv2/core/async.hpp +0 -105
  27. package/include/opencv2/core/base.hpp +0 -664
  28. package/include/opencv2/core/bindings_utils.hpp +0 -325
  29. package/include/opencv2/core/bufferpool.hpp +0 -40
  30. package/include/opencv2/core/check.hpp +0 -170
  31. package/include/opencv2/core/core.hpp +0 -48
  32. package/include/opencv2/core/core_c.h +0 -3128
  33. package/include/opencv2/core/cuda/block.hpp +0 -211
  34. package/include/opencv2/core/cuda/border_interpolate.hpp +0 -722
  35. package/include/opencv2/core/cuda/color.hpp +0 -309
  36. package/include/opencv2/core/cuda/common.hpp +0 -131
  37. package/include/opencv2/core/cuda/datamov_utils.hpp +0 -113
  38. package/include/opencv2/core/cuda/detail/color_detail.hpp +0 -2018
  39. package/include/opencv2/core/cuda/detail/reduce.hpp +0 -365
  40. package/include/opencv2/core/cuda/detail/reduce_key_val.hpp +0 -502
  41. package/include/opencv2/core/cuda/detail/transform_detail.hpp +0 -392
  42. package/include/opencv2/core/cuda/detail/type_traits_detail.hpp +0 -191
  43. package/include/opencv2/core/cuda/detail/vec_distance_detail.hpp +0 -121
  44. package/include/opencv2/core/cuda/dynamic_smem.hpp +0 -88
  45. package/include/opencv2/core/cuda/emulation.hpp +0 -269
  46. package/include/opencv2/core/cuda/filters.hpp +0 -293
  47. package/include/opencv2/core/cuda/funcattrib.hpp +0 -79
  48. package/include/opencv2/core/cuda/functional.hpp +0 -805
  49. package/include/opencv2/core/cuda/limits.hpp +0 -128
  50. package/include/opencv2/core/cuda/reduce.hpp +0 -209
  51. package/include/opencv2/core/cuda/saturate_cast.hpp +0 -292
  52. package/include/opencv2/core/cuda/scan.hpp +0 -258
  53. package/include/opencv2/core/cuda/simd_functions.hpp +0 -869
  54. package/include/opencv2/core/cuda/transform.hpp +0 -75
  55. package/include/opencv2/core/cuda/type_traits.hpp +0 -90
  56. package/include/opencv2/core/cuda/utility.hpp +0 -230
  57. package/include/opencv2/core/cuda/vec_distance.hpp +0 -232
  58. package/include/opencv2/core/cuda/vec_math.hpp +0 -923
  59. package/include/opencv2/core/cuda/vec_traits.hpp +0 -288
  60. package/include/opencv2/core/cuda/warp.hpp +0 -139
  61. package/include/opencv2/core/cuda/warp_reduce.hpp +0 -76
  62. package/include/opencv2/core/cuda/warp_shuffle.hpp +0 -162
  63. package/include/opencv2/core/cuda.hpp +0 -1279
  64. package/include/opencv2/core/cuda.inl.hpp +0 -763
  65. package/include/opencv2/core/cuda_stream_accessor.hpp +0 -86
  66. package/include/opencv2/core/cuda_types.hpp +0 -144
  67. package/include/opencv2/core/cv_cpu_dispatch.h +0 -381
  68. package/include/opencv2/core/cv_cpu_helper.h +0 -550
  69. package/include/opencv2/core/cvdef.h +0 -973
  70. package/include/opencv2/core/cvstd.hpp +0 -190
  71. package/include/opencv2/core/cvstd.inl.hpp +0 -197
  72. package/include/opencv2/core/cvstd_wrapper.hpp +0 -154
  73. package/include/opencv2/core/detail/async_promise.hpp +0 -71
  74. package/include/opencv2/core/detail/dispatch_helper.impl.hpp +0 -49
  75. package/include/opencv2/core/detail/exception_ptr.hpp +0 -27
  76. package/include/opencv2/core/directx.hpp +0 -184
  77. package/include/opencv2/core/dualquaternion.hpp +0 -979
  78. package/include/opencv2/core/dualquaternion.inl.hpp +0 -487
  79. package/include/opencv2/core/eigen.hpp +0 -402
  80. package/include/opencv2/core/fast_math.hpp +0 -433
  81. package/include/opencv2/core/hal/hal.hpp +0 -256
  82. package/include/opencv2/core/hal/interface.h +0 -190
  83. package/include/opencv2/core/hal/intrin.hpp +0 -939
  84. package/include/opencv2/core/hal/intrin_avx.hpp +0 -3177
  85. package/include/opencv2/core/hal/intrin_avx512.hpp +0 -3090
  86. package/include/opencv2/core/hal/intrin_cpp.hpp +0 -3321
  87. package/include/opencv2/core/hal/intrin_forward.hpp +0 -191
  88. package/include/opencv2/core/hal/intrin_lasx.hpp +0 -3236
  89. package/include/opencv2/core/hal/intrin_msa.hpp +0 -1887
  90. package/include/opencv2/core/hal/intrin_neon.hpp +0 -2610
  91. package/include/opencv2/core/hal/intrin_rvv.hpp +0 -3320
  92. package/include/opencv2/core/hal/intrin_rvv071.hpp +0 -2545
  93. package/include/opencv2/core/hal/intrin_rvv_scalable.hpp +0 -2080
  94. package/include/opencv2/core/hal/intrin_sse.hpp +0 -3467
  95. package/include/opencv2/core/hal/intrin_sse_em.hpp +0 -180
  96. package/include/opencv2/core/hal/intrin_vsx.hpp +0 -1608
  97. package/include/opencv2/core/hal/intrin_wasm.hpp +0 -2782
  98. package/include/opencv2/core/hal/msa_macros.h +0 -1558
  99. package/include/opencv2/core/hal/simd_utils.impl.hpp +0 -186
  100. package/include/opencv2/core/llapi/llapi.h +0 -102
  101. package/include/opencv2/core/mat.hpp +0 -3775
  102. package/include/opencv2/core/mat.inl.hpp +0 -3422
  103. package/include/opencv2/core/matx.hpp +0 -1536
  104. package/include/opencv2/core/neon_utils.hpp +0 -128
  105. package/include/opencv2/core/ocl.hpp +0 -917
  106. package/include/opencv2/core/ocl_genbase.hpp +0 -69
  107. package/include/opencv2/core/opencl/ocl_defs.hpp +0 -82
  108. package/include/opencv2/core/opencl/opencl_info.hpp +0 -212
  109. package/include/opencv2/core/opencl/opencl_svm.hpp +0 -81
  110. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +0 -602
  111. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +0 -146
  112. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +0 -371
  113. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +0 -272
  114. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +0 -62
  115. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +0 -42
  116. package/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +0 -53
  117. package/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +0 -53
  118. package/include/opencv2/core/opencl/runtime/opencl_core.hpp +0 -84
  119. package/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +0 -47
  120. package/include/opencv2/core/opencl/runtime/opencl_gl.hpp +0 -53
  121. package/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +0 -47
  122. package/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +0 -48
  123. package/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +0 -42
  124. package/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +0 -166
  125. package/include/opencv2/core/opengl.hpp +0 -733
  126. package/include/opencv2/core/openvx/ovx_defs.hpp +0 -48
  127. package/include/opencv2/core/operations.hpp +0 -610
  128. package/include/opencv2/core/optim.hpp +0 -302
  129. package/include/opencv2/core/ovx.hpp +0 -28
  130. package/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +0 -72
  131. package/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +0 -153
  132. package/include/opencv2/core/parallel/parallel_backend.hpp +0 -90
  133. package/include/opencv2/core/persistence.hpp +0 -1350
  134. package/include/opencv2/core/private/cv_cpu_include_simd_declarations.hpp +0 -30
  135. package/include/opencv2/core/private.cuda.hpp +0 -169
  136. package/include/opencv2/core/private.hpp +0 -896
  137. package/include/opencv2/core/quaternion.hpp +0 -1696
  138. package/include/opencv2/core/quaternion.inl.hpp +0 -1063
  139. package/include/opencv2/core/saturate.hpp +0 -180
  140. package/include/opencv2/core/simd_intrinsics.hpp +0 -87
  141. package/include/opencv2/core/softfloat.hpp +0 -514
  142. package/include/opencv2/core/sse_utils.hpp +0 -652
  143. package/include/opencv2/core/traits.hpp +0 -417
  144. package/include/opencv2/core/types.hpp +0 -2457
  145. package/include/opencv2/core/types_c.h +0 -2126
  146. package/include/opencv2/core/utility.hpp +0 -1229
  147. package/include/opencv2/core/utils/allocator_stats.hpp +0 -29
  148. package/include/opencv2/core/utils/allocator_stats.impl.hpp +0 -158
  149. package/include/opencv2/core/utils/buffer_area.private.hpp +0 -136
  150. package/include/opencv2/core/utils/configuration.private.hpp +0 -22
  151. package/include/opencv2/core/utils/filesystem.hpp +0 -82
  152. package/include/opencv2/core/utils/filesystem.private.hpp +0 -66
  153. package/include/opencv2/core/utils/fp_control.private.hpp +0 -29
  154. package/include/opencv2/core/utils/fp_control_utils.hpp +0 -69
  155. package/include/opencv2/core/utils/instrumentation.hpp +0 -125
  156. package/include/opencv2/core/utils/lock.private.hpp +0 -119
  157. package/include/opencv2/core/utils/logger.defines.hpp +0 -42
  158. package/include/opencv2/core/utils/logger.hpp +0 -218
  159. package/include/opencv2/core/utils/logtag.hpp +0 -28
  160. package/include/opencv2/core/utils/plugin_loader.private.hpp +0 -165
  161. package/include/opencv2/core/utils/tls.hpp +0 -235
  162. package/include/opencv2/core/utils/trace.hpp +0 -252
  163. package/include/opencv2/core/utils/trace.private.hpp +0 -421
  164. package/include/opencv2/core/va_intel.hpp +0 -75
  165. package/include/opencv2/core/version.hpp +0 -26
  166. package/include/opencv2/core/vsx_utils.hpp +0 -1047
  167. package/include/opencv2/core.hpp +0 -3365
  168. package/include/opencv2/imgcodecs/imgcodecs.hpp +0 -48
  169. package/include/opencv2/imgcodecs/imgcodecs_c.h +0 -1
  170. package/include/opencv2/imgcodecs/ios.h +0 -59
  171. package/include/opencv2/imgcodecs/legacy/constants_c.h +0 -54
  172. package/include/opencv2/imgcodecs/macosx.h +0 -20
  173. package/include/opencv2/imgcodecs.hpp +0 -407
  174. package/include/opencv2/imgproc/bindings.hpp +0 -34
  175. package/include/opencv2/imgproc/detail/gcgraph.hpp +0 -395
  176. package/include/opencv2/imgproc/hal/hal.hpp +0 -246
  177. package/include/opencv2/imgproc/hal/interface.h +0 -46
  178. package/include/opencv2/imgproc/imgproc.hpp +0 -48
  179. package/include/opencv2/imgproc/imgproc_c.h +0 -1177
  180. package/include/opencv2/imgproc/segmentation.hpp +0 -141
  181. package/include/opencv2/imgproc/types_c.h +0 -659
  182. package/include/opencv2/imgproc.hpp +0 -5035
  183. package/include/opencv2/opencv_modules.hpp +0 -17
  184. package/libs/libjpeg-turbo.lib +0 -0
  185. package/libs/libpng.lib +0 -0
  186. package/libs/opencv_core470.lib +0 -0
  187. package/libs/opencv_imgcodecs470.lib +0 -0
  188. package/libs/opencv_imgproc470.lib +0 -0
  189. package/libs/zlib.lib +0 -0
  190. /package/dist/{keyCodes.js → keyCodes.cjs} +0 -0
  191. /package/dist/{keyCodes.d.ts → keyCodes.d.cts} +0 -0
@@ -1,550 +0,0 @@
1
- // AUTOGENERATED, DO NOT EDIT
2
-
3
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE
4
- # define CV_TRY_SSE 1
5
- # define CV_CPU_FORCE_SSE 1
6
- # define CV_CPU_HAS_SUPPORT_SSE 1
7
- # define CV_CPU_CALL_SSE(fn, args) return (cpu_baseline::fn args)
8
- # define CV_CPU_CALL_SSE_(fn, args) return (opt_SSE::fn args)
9
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE
10
- # define CV_TRY_SSE 1
11
- # define CV_CPU_FORCE_SSE 0
12
- # define CV_CPU_HAS_SUPPORT_SSE (cv::checkHardwareSupport(CV_CPU_SSE))
13
- # define CV_CPU_CALL_SSE(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args)
14
- # define CV_CPU_CALL_SSE_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args)
15
- #else
16
- # define CV_TRY_SSE 0
17
- # define CV_CPU_FORCE_SSE 0
18
- # define CV_CPU_HAS_SUPPORT_SSE 0
19
- # define CV_CPU_CALL_SSE(fn, args)
20
- # define CV_CPU_CALL_SSE_(fn, args)
21
- #endif
22
- #define __CV_CPU_DISPATCH_CHAIN_SSE(fn, args, mode, ...) CV_CPU_CALL_SSE(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
23
-
24
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE2
25
- # define CV_TRY_SSE2 1
26
- # define CV_CPU_FORCE_SSE2 1
27
- # define CV_CPU_HAS_SUPPORT_SSE2 1
28
- # define CV_CPU_CALL_SSE2(fn, args) return (cpu_baseline::fn args)
29
- # define CV_CPU_CALL_SSE2_(fn, args) return (opt_SSE2::fn args)
30
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE2
31
- # define CV_TRY_SSE2 1
32
- # define CV_CPU_FORCE_SSE2 0
33
- # define CV_CPU_HAS_SUPPORT_SSE2 (cv::checkHardwareSupport(CV_CPU_SSE2))
34
- # define CV_CPU_CALL_SSE2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args)
35
- # define CV_CPU_CALL_SSE2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args)
36
- #else
37
- # define CV_TRY_SSE2 0
38
- # define CV_CPU_FORCE_SSE2 0
39
- # define CV_CPU_HAS_SUPPORT_SSE2 0
40
- # define CV_CPU_CALL_SSE2(fn, args)
41
- # define CV_CPU_CALL_SSE2_(fn, args)
42
- #endif
43
- #define __CV_CPU_DISPATCH_CHAIN_SSE2(fn, args, mode, ...) CV_CPU_CALL_SSE2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
44
-
45
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE3
46
- # define CV_TRY_SSE3 1
47
- # define CV_CPU_FORCE_SSE3 1
48
- # define CV_CPU_HAS_SUPPORT_SSE3 1
49
- # define CV_CPU_CALL_SSE3(fn, args) return (cpu_baseline::fn args)
50
- # define CV_CPU_CALL_SSE3_(fn, args) return (opt_SSE3::fn args)
51
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE3
52
- # define CV_TRY_SSE3 1
53
- # define CV_CPU_FORCE_SSE3 0
54
- # define CV_CPU_HAS_SUPPORT_SSE3 (cv::checkHardwareSupport(CV_CPU_SSE3))
55
- # define CV_CPU_CALL_SSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args)
56
- # define CV_CPU_CALL_SSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args)
57
- #else
58
- # define CV_TRY_SSE3 0
59
- # define CV_CPU_FORCE_SSE3 0
60
- # define CV_CPU_HAS_SUPPORT_SSE3 0
61
- # define CV_CPU_CALL_SSE3(fn, args)
62
- # define CV_CPU_CALL_SSE3_(fn, args)
63
- #endif
64
- #define __CV_CPU_DISPATCH_CHAIN_SSE3(fn, args, mode, ...) CV_CPU_CALL_SSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
65
-
66
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSSE3
67
- # define CV_TRY_SSSE3 1
68
- # define CV_CPU_FORCE_SSSE3 1
69
- # define CV_CPU_HAS_SUPPORT_SSSE3 1
70
- # define CV_CPU_CALL_SSSE3(fn, args) return (cpu_baseline::fn args)
71
- # define CV_CPU_CALL_SSSE3_(fn, args) return (opt_SSSE3::fn args)
72
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSSE3
73
- # define CV_TRY_SSSE3 1
74
- # define CV_CPU_FORCE_SSSE3 0
75
- # define CV_CPU_HAS_SUPPORT_SSSE3 (cv::checkHardwareSupport(CV_CPU_SSSE3))
76
- # define CV_CPU_CALL_SSSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args)
77
- # define CV_CPU_CALL_SSSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args)
78
- #else
79
- # define CV_TRY_SSSE3 0
80
- # define CV_CPU_FORCE_SSSE3 0
81
- # define CV_CPU_HAS_SUPPORT_SSSE3 0
82
- # define CV_CPU_CALL_SSSE3(fn, args)
83
- # define CV_CPU_CALL_SSSE3_(fn, args)
84
- #endif
85
- #define __CV_CPU_DISPATCH_CHAIN_SSSE3(fn, args, mode, ...) CV_CPU_CALL_SSSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
86
-
87
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_1
88
- # define CV_TRY_SSE4_1 1
89
- # define CV_CPU_FORCE_SSE4_1 1
90
- # define CV_CPU_HAS_SUPPORT_SSE4_1 1
91
- # define CV_CPU_CALL_SSE4_1(fn, args) return (cpu_baseline::fn args)
92
- # define CV_CPU_CALL_SSE4_1_(fn, args) return (opt_SSE4_1::fn args)
93
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_1
94
- # define CV_TRY_SSE4_1 1
95
- # define CV_CPU_FORCE_SSE4_1 0
96
- # define CV_CPU_HAS_SUPPORT_SSE4_1 (cv::checkHardwareSupport(CV_CPU_SSE4_1))
97
- # define CV_CPU_CALL_SSE4_1(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args)
98
- # define CV_CPU_CALL_SSE4_1_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args)
99
- #else
100
- # define CV_TRY_SSE4_1 0
101
- # define CV_CPU_FORCE_SSE4_1 0
102
- # define CV_CPU_HAS_SUPPORT_SSE4_1 0
103
- # define CV_CPU_CALL_SSE4_1(fn, args)
104
- # define CV_CPU_CALL_SSE4_1_(fn, args)
105
- #endif
106
- #define __CV_CPU_DISPATCH_CHAIN_SSE4_1(fn, args, mode, ...) CV_CPU_CALL_SSE4_1(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
107
-
108
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_2
109
- # define CV_TRY_SSE4_2 1
110
- # define CV_CPU_FORCE_SSE4_2 1
111
- # define CV_CPU_HAS_SUPPORT_SSE4_2 1
112
- # define CV_CPU_CALL_SSE4_2(fn, args) return (cpu_baseline::fn args)
113
- # define CV_CPU_CALL_SSE4_2_(fn, args) return (opt_SSE4_2::fn args)
114
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_2
115
- # define CV_TRY_SSE4_2 1
116
- # define CV_CPU_FORCE_SSE4_2 0
117
- # define CV_CPU_HAS_SUPPORT_SSE4_2 (cv::checkHardwareSupport(CV_CPU_SSE4_2))
118
- # define CV_CPU_CALL_SSE4_2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args)
119
- # define CV_CPU_CALL_SSE4_2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args)
120
- #else
121
- # define CV_TRY_SSE4_2 0
122
- # define CV_CPU_FORCE_SSE4_2 0
123
- # define CV_CPU_HAS_SUPPORT_SSE4_2 0
124
- # define CV_CPU_CALL_SSE4_2(fn, args)
125
- # define CV_CPU_CALL_SSE4_2_(fn, args)
126
- #endif
127
- #define __CV_CPU_DISPATCH_CHAIN_SSE4_2(fn, args, mode, ...) CV_CPU_CALL_SSE4_2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
128
-
129
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_POPCNT
130
- # define CV_TRY_POPCNT 1
131
- # define CV_CPU_FORCE_POPCNT 1
132
- # define CV_CPU_HAS_SUPPORT_POPCNT 1
133
- # define CV_CPU_CALL_POPCNT(fn, args) return (cpu_baseline::fn args)
134
- # define CV_CPU_CALL_POPCNT_(fn, args) return (opt_POPCNT::fn args)
135
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_POPCNT
136
- # define CV_TRY_POPCNT 1
137
- # define CV_CPU_FORCE_POPCNT 0
138
- # define CV_CPU_HAS_SUPPORT_POPCNT (cv::checkHardwareSupport(CV_CPU_POPCNT))
139
- # define CV_CPU_CALL_POPCNT(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args)
140
- # define CV_CPU_CALL_POPCNT_(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args)
141
- #else
142
- # define CV_TRY_POPCNT 0
143
- # define CV_CPU_FORCE_POPCNT 0
144
- # define CV_CPU_HAS_SUPPORT_POPCNT 0
145
- # define CV_CPU_CALL_POPCNT(fn, args)
146
- # define CV_CPU_CALL_POPCNT_(fn, args)
147
- #endif
148
- #define __CV_CPU_DISPATCH_CHAIN_POPCNT(fn, args, mode, ...) CV_CPU_CALL_POPCNT(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
149
-
150
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX
151
- # define CV_TRY_AVX 1
152
- # define CV_CPU_FORCE_AVX 1
153
- # define CV_CPU_HAS_SUPPORT_AVX 1
154
- # define CV_CPU_CALL_AVX(fn, args) return (cpu_baseline::fn args)
155
- # define CV_CPU_CALL_AVX_(fn, args) return (opt_AVX::fn args)
156
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX
157
- # define CV_TRY_AVX 1
158
- # define CV_CPU_FORCE_AVX 0
159
- # define CV_CPU_HAS_SUPPORT_AVX (cv::checkHardwareSupport(CV_CPU_AVX))
160
- # define CV_CPU_CALL_AVX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args)
161
- # define CV_CPU_CALL_AVX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args)
162
- #else
163
- # define CV_TRY_AVX 0
164
- # define CV_CPU_FORCE_AVX 0
165
- # define CV_CPU_HAS_SUPPORT_AVX 0
166
- # define CV_CPU_CALL_AVX(fn, args)
167
- # define CV_CPU_CALL_AVX_(fn, args)
168
- #endif
169
- #define __CV_CPU_DISPATCH_CHAIN_AVX(fn, args, mode, ...) CV_CPU_CALL_AVX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
170
-
171
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FP16
172
- # define CV_TRY_FP16 1
173
- # define CV_CPU_FORCE_FP16 1
174
- # define CV_CPU_HAS_SUPPORT_FP16 1
175
- # define CV_CPU_CALL_FP16(fn, args) return (cpu_baseline::fn args)
176
- # define CV_CPU_CALL_FP16_(fn, args) return (opt_FP16::fn args)
177
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FP16
178
- # define CV_TRY_FP16 1
179
- # define CV_CPU_FORCE_FP16 0
180
- # define CV_CPU_HAS_SUPPORT_FP16 (cv::checkHardwareSupport(CV_CPU_FP16))
181
- # define CV_CPU_CALL_FP16(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args)
182
- # define CV_CPU_CALL_FP16_(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args)
183
- #else
184
- # define CV_TRY_FP16 0
185
- # define CV_CPU_FORCE_FP16 0
186
- # define CV_CPU_HAS_SUPPORT_FP16 0
187
- # define CV_CPU_CALL_FP16(fn, args)
188
- # define CV_CPU_CALL_FP16_(fn, args)
189
- #endif
190
- #define __CV_CPU_DISPATCH_CHAIN_FP16(fn, args, mode, ...) CV_CPU_CALL_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
191
-
192
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX2
193
- # define CV_TRY_AVX2 1
194
- # define CV_CPU_FORCE_AVX2 1
195
- # define CV_CPU_HAS_SUPPORT_AVX2 1
196
- # define CV_CPU_CALL_AVX2(fn, args) return (cpu_baseline::fn args)
197
- # define CV_CPU_CALL_AVX2_(fn, args) return (opt_AVX2::fn args)
198
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX2
199
- # define CV_TRY_AVX2 1
200
- # define CV_CPU_FORCE_AVX2 0
201
- # define CV_CPU_HAS_SUPPORT_AVX2 (cv::checkHardwareSupport(CV_CPU_AVX2))
202
- # define CV_CPU_CALL_AVX2(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args)
203
- # define CV_CPU_CALL_AVX2_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args)
204
- #else
205
- # define CV_TRY_AVX2 0
206
- # define CV_CPU_FORCE_AVX2 0
207
- # define CV_CPU_HAS_SUPPORT_AVX2 0
208
- # define CV_CPU_CALL_AVX2(fn, args)
209
- # define CV_CPU_CALL_AVX2_(fn, args)
210
- #endif
211
- #define __CV_CPU_DISPATCH_CHAIN_AVX2(fn, args, mode, ...) CV_CPU_CALL_AVX2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
212
-
213
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FMA3
214
- # define CV_TRY_FMA3 1
215
- # define CV_CPU_FORCE_FMA3 1
216
- # define CV_CPU_HAS_SUPPORT_FMA3 1
217
- # define CV_CPU_CALL_FMA3(fn, args) return (cpu_baseline::fn args)
218
- # define CV_CPU_CALL_FMA3_(fn, args) return (opt_FMA3::fn args)
219
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FMA3
220
- # define CV_TRY_FMA3 1
221
- # define CV_CPU_FORCE_FMA3 0
222
- # define CV_CPU_HAS_SUPPORT_FMA3 (cv::checkHardwareSupport(CV_CPU_FMA3))
223
- # define CV_CPU_CALL_FMA3(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args)
224
- # define CV_CPU_CALL_FMA3_(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args)
225
- #else
226
- # define CV_TRY_FMA3 0
227
- # define CV_CPU_FORCE_FMA3 0
228
- # define CV_CPU_HAS_SUPPORT_FMA3 0
229
- # define CV_CPU_CALL_FMA3(fn, args)
230
- # define CV_CPU_CALL_FMA3_(fn, args)
231
- #endif
232
- #define __CV_CPU_DISPATCH_CHAIN_FMA3(fn, args, mode, ...) CV_CPU_CALL_FMA3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
233
-
234
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX_512F
235
- # define CV_TRY_AVX_512F 1
236
- # define CV_CPU_FORCE_AVX_512F 1
237
- # define CV_CPU_HAS_SUPPORT_AVX_512F 1
238
- # define CV_CPU_CALL_AVX_512F(fn, args) return (cpu_baseline::fn args)
239
- # define CV_CPU_CALL_AVX_512F_(fn, args) return (opt_AVX_512F::fn args)
240
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX_512F
241
- # define CV_TRY_AVX_512F 1
242
- # define CV_CPU_FORCE_AVX_512F 0
243
- # define CV_CPU_HAS_SUPPORT_AVX_512F (cv::checkHardwareSupport(CV_CPU_AVX_512F))
244
- # define CV_CPU_CALL_AVX_512F(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args)
245
- # define CV_CPU_CALL_AVX_512F_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args)
246
- #else
247
- # define CV_TRY_AVX_512F 0
248
- # define CV_CPU_FORCE_AVX_512F 0
249
- # define CV_CPU_HAS_SUPPORT_AVX_512F 0
250
- # define CV_CPU_CALL_AVX_512F(fn, args)
251
- # define CV_CPU_CALL_AVX_512F_(fn, args)
252
- #endif
253
- #define __CV_CPU_DISPATCH_CHAIN_AVX_512F(fn, args, mode, ...) CV_CPU_CALL_AVX_512F(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
254
-
255
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_COMMON
256
- # define CV_TRY_AVX512_COMMON 1
257
- # define CV_CPU_FORCE_AVX512_COMMON 1
258
- # define CV_CPU_HAS_SUPPORT_AVX512_COMMON 1
259
- # define CV_CPU_CALL_AVX512_COMMON(fn, args) return (cpu_baseline::fn args)
260
- # define CV_CPU_CALL_AVX512_COMMON_(fn, args) return (opt_AVX512_COMMON::fn args)
261
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_COMMON
262
- # define CV_TRY_AVX512_COMMON 1
263
- # define CV_CPU_FORCE_AVX512_COMMON 0
264
- # define CV_CPU_HAS_SUPPORT_AVX512_COMMON (cv::checkHardwareSupport(CV_CPU_AVX512_COMMON))
265
- # define CV_CPU_CALL_AVX512_COMMON(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args)
266
- # define CV_CPU_CALL_AVX512_COMMON_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args)
267
- #else
268
- # define CV_TRY_AVX512_COMMON 0
269
- # define CV_CPU_FORCE_AVX512_COMMON 0
270
- # define CV_CPU_HAS_SUPPORT_AVX512_COMMON 0
271
- # define CV_CPU_CALL_AVX512_COMMON(fn, args)
272
- # define CV_CPU_CALL_AVX512_COMMON_(fn, args)
273
- #endif
274
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_COMMON(fn, args, mode, ...) CV_CPU_CALL_AVX512_COMMON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
275
-
276
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNL
277
- # define CV_TRY_AVX512_KNL 1
278
- # define CV_CPU_FORCE_AVX512_KNL 1
279
- # define CV_CPU_HAS_SUPPORT_AVX512_KNL 1
280
- # define CV_CPU_CALL_AVX512_KNL(fn, args) return (cpu_baseline::fn args)
281
- # define CV_CPU_CALL_AVX512_KNL_(fn, args) return (opt_AVX512_KNL::fn args)
282
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNL
283
- # define CV_TRY_AVX512_KNL 1
284
- # define CV_CPU_FORCE_AVX512_KNL 0
285
- # define CV_CPU_HAS_SUPPORT_AVX512_KNL (cv::checkHardwareSupport(CV_CPU_AVX512_KNL))
286
- # define CV_CPU_CALL_AVX512_KNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args)
287
- # define CV_CPU_CALL_AVX512_KNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args)
288
- #else
289
- # define CV_TRY_AVX512_KNL 0
290
- # define CV_CPU_FORCE_AVX512_KNL 0
291
- # define CV_CPU_HAS_SUPPORT_AVX512_KNL 0
292
- # define CV_CPU_CALL_AVX512_KNL(fn, args)
293
- # define CV_CPU_CALL_AVX512_KNL_(fn, args)
294
- #endif
295
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_KNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
296
-
297
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNM
298
- # define CV_TRY_AVX512_KNM 1
299
- # define CV_CPU_FORCE_AVX512_KNM 1
300
- # define CV_CPU_HAS_SUPPORT_AVX512_KNM 1
301
- # define CV_CPU_CALL_AVX512_KNM(fn, args) return (cpu_baseline::fn args)
302
- # define CV_CPU_CALL_AVX512_KNM_(fn, args) return (opt_AVX512_KNM::fn args)
303
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNM
304
- # define CV_TRY_AVX512_KNM 1
305
- # define CV_CPU_FORCE_AVX512_KNM 0
306
- # define CV_CPU_HAS_SUPPORT_AVX512_KNM (cv::checkHardwareSupport(CV_CPU_AVX512_KNM))
307
- # define CV_CPU_CALL_AVX512_KNM(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args)
308
- # define CV_CPU_CALL_AVX512_KNM_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args)
309
- #else
310
- # define CV_TRY_AVX512_KNM 0
311
- # define CV_CPU_FORCE_AVX512_KNM 0
312
- # define CV_CPU_HAS_SUPPORT_AVX512_KNM 0
313
- # define CV_CPU_CALL_AVX512_KNM(fn, args)
314
- # define CV_CPU_CALL_AVX512_KNM_(fn, args)
315
- #endif
316
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_KNM(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNM(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
317
-
318
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_SKX
319
- # define CV_TRY_AVX512_SKX 1
320
- # define CV_CPU_FORCE_AVX512_SKX 1
321
- # define CV_CPU_HAS_SUPPORT_AVX512_SKX 1
322
- # define CV_CPU_CALL_AVX512_SKX(fn, args) return (cpu_baseline::fn args)
323
- # define CV_CPU_CALL_AVX512_SKX_(fn, args) return (opt_AVX512_SKX::fn args)
324
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_SKX
325
- # define CV_TRY_AVX512_SKX 1
326
- # define CV_CPU_FORCE_AVX512_SKX 0
327
- # define CV_CPU_HAS_SUPPORT_AVX512_SKX (cv::checkHardwareSupport(CV_CPU_AVX512_SKX))
328
- # define CV_CPU_CALL_AVX512_SKX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args)
329
- # define CV_CPU_CALL_AVX512_SKX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args)
330
- #else
331
- # define CV_TRY_AVX512_SKX 0
332
- # define CV_CPU_FORCE_AVX512_SKX 0
333
- # define CV_CPU_HAS_SUPPORT_AVX512_SKX 0
334
- # define CV_CPU_CALL_AVX512_SKX(fn, args)
335
- # define CV_CPU_CALL_AVX512_SKX_(fn, args)
336
- #endif
337
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_SKX(fn, args, mode, ...) CV_CPU_CALL_AVX512_SKX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
338
-
339
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CNL
340
- # define CV_TRY_AVX512_CNL 1
341
- # define CV_CPU_FORCE_AVX512_CNL 1
342
- # define CV_CPU_HAS_SUPPORT_AVX512_CNL 1
343
- # define CV_CPU_CALL_AVX512_CNL(fn, args) return (cpu_baseline::fn args)
344
- # define CV_CPU_CALL_AVX512_CNL_(fn, args) return (opt_AVX512_CNL::fn args)
345
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CNL
346
- # define CV_TRY_AVX512_CNL 1
347
- # define CV_CPU_FORCE_AVX512_CNL 0
348
- # define CV_CPU_HAS_SUPPORT_AVX512_CNL (cv::checkHardwareSupport(CV_CPU_AVX512_CNL))
349
- # define CV_CPU_CALL_AVX512_CNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args)
350
- # define CV_CPU_CALL_AVX512_CNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args)
351
- #else
352
- # define CV_TRY_AVX512_CNL 0
353
- # define CV_CPU_FORCE_AVX512_CNL 0
354
- # define CV_CPU_HAS_SUPPORT_AVX512_CNL 0
355
- # define CV_CPU_CALL_AVX512_CNL(fn, args)
356
- # define CV_CPU_CALL_AVX512_CNL_(fn, args)
357
- #endif
358
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_CNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_CNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
359
-
360
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CLX
361
- # define CV_TRY_AVX512_CLX 1
362
- # define CV_CPU_FORCE_AVX512_CLX 1
363
- # define CV_CPU_HAS_SUPPORT_AVX512_CLX 1
364
- # define CV_CPU_CALL_AVX512_CLX(fn, args) return (cpu_baseline::fn args)
365
- # define CV_CPU_CALL_AVX512_CLX_(fn, args) return (opt_AVX512_CLX::fn args)
366
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CLX
367
- # define CV_TRY_AVX512_CLX 1
368
- # define CV_CPU_FORCE_AVX512_CLX 0
369
- # define CV_CPU_HAS_SUPPORT_AVX512_CLX (cv::checkHardwareSupport(CV_CPU_AVX512_CLX))
370
- # define CV_CPU_CALL_AVX512_CLX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args)
371
- # define CV_CPU_CALL_AVX512_CLX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args)
372
- #else
373
- # define CV_TRY_AVX512_CLX 0
374
- # define CV_CPU_FORCE_AVX512_CLX 0
375
- # define CV_CPU_HAS_SUPPORT_AVX512_CLX 0
376
- # define CV_CPU_CALL_AVX512_CLX(fn, args)
377
- # define CV_CPU_CALL_AVX512_CLX_(fn, args)
378
- #endif
379
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_CLX(fn, args, mode, ...) CV_CPU_CALL_AVX512_CLX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
380
-
381
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_ICL
382
- # define CV_TRY_AVX512_ICL 1
383
- # define CV_CPU_FORCE_AVX512_ICL 1
384
- # define CV_CPU_HAS_SUPPORT_AVX512_ICL 1
385
- # define CV_CPU_CALL_AVX512_ICL(fn, args) return (cpu_baseline::fn args)
386
- # define CV_CPU_CALL_AVX512_ICL_(fn, args) return (opt_AVX512_ICL::fn args)
387
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_ICL
388
- # define CV_TRY_AVX512_ICL 1
389
- # define CV_CPU_FORCE_AVX512_ICL 0
390
- # define CV_CPU_HAS_SUPPORT_AVX512_ICL (cv::checkHardwareSupport(CV_CPU_AVX512_ICL))
391
- # define CV_CPU_CALL_AVX512_ICL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args)
392
- # define CV_CPU_CALL_AVX512_ICL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args)
393
- #else
394
- # define CV_TRY_AVX512_ICL 0
395
- # define CV_CPU_FORCE_AVX512_ICL 0
396
- # define CV_CPU_HAS_SUPPORT_AVX512_ICL 0
397
- # define CV_CPU_CALL_AVX512_ICL(fn, args)
398
- # define CV_CPU_CALL_AVX512_ICL_(fn, args)
399
- #endif
400
- #define __CV_CPU_DISPATCH_CHAIN_AVX512_ICL(fn, args, mode, ...) CV_CPU_CALL_AVX512_ICL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
401
-
402
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON
403
- # define CV_TRY_NEON 1
404
- # define CV_CPU_FORCE_NEON 1
405
- # define CV_CPU_HAS_SUPPORT_NEON 1
406
- # define CV_CPU_CALL_NEON(fn, args) return (cpu_baseline::fn args)
407
- # define CV_CPU_CALL_NEON_(fn, args) return (opt_NEON::fn args)
408
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON
409
- # define CV_TRY_NEON 1
410
- # define CV_CPU_FORCE_NEON 0
411
- # define CV_CPU_HAS_SUPPORT_NEON (cv::checkHardwareSupport(CV_CPU_NEON))
412
- # define CV_CPU_CALL_NEON(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args)
413
- # define CV_CPU_CALL_NEON_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args)
414
- #else
415
- # define CV_TRY_NEON 0
416
- # define CV_CPU_FORCE_NEON 0
417
- # define CV_CPU_HAS_SUPPORT_NEON 0
418
- # define CV_CPU_CALL_NEON(fn, args)
419
- # define CV_CPU_CALL_NEON_(fn, args)
420
- #endif
421
- #define __CV_CPU_DISPATCH_CHAIN_NEON(fn, args, mode, ...) CV_CPU_CALL_NEON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
422
-
423
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON_DOTPROD
424
- # define CV_TRY_NEON_DOTPROD 1
425
- # define CV_CPU_FORCE_NEON_DOTPROD 1
426
- # define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 1
427
- # define CV_CPU_CALL_NEON_DOTPROD(fn, args) return (cpu_baseline::fn args)
428
- # define CV_CPU_CALL_NEON_DOTPROD_(fn, args) return (opt_NEON_DOTPROD::fn args)
429
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON_DOTPROD
430
- # define CV_TRY_NEON_DOTPROD 1
431
- # define CV_CPU_FORCE_NEON_DOTPROD 0
432
- # define CV_CPU_HAS_SUPPORT_NEON_DOTPROD (cv::checkHardwareSupport(CV_CPU_NEON_DOTPROD))
433
- # define CV_CPU_CALL_NEON_DOTPROD(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args)
434
- # define CV_CPU_CALL_NEON_DOTPROD_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args)
435
- #else
436
- # define CV_TRY_NEON_DOTPROD 0
437
- # define CV_CPU_FORCE_NEON_DOTPROD 0
438
- # define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 0
439
- # define CV_CPU_CALL_NEON_DOTPROD(fn, args)
440
- # define CV_CPU_CALL_NEON_DOTPROD_(fn, args)
441
- #endif
442
- #define __CV_CPU_DISPATCH_CHAIN_NEON_DOTPROD(fn, args, mode, ...) CV_CPU_CALL_NEON_DOTPROD(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
443
-
444
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_MSA
445
- # define CV_TRY_MSA 1
446
- # define CV_CPU_FORCE_MSA 1
447
- # define CV_CPU_HAS_SUPPORT_MSA 1
448
- # define CV_CPU_CALL_MSA(fn, args) return (cpu_baseline::fn args)
449
- # define CV_CPU_CALL_MSA_(fn, args) return (opt_MSA::fn args)
450
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_MSA
451
- # define CV_TRY_MSA 1
452
- # define CV_CPU_FORCE_MSA 0
453
- # define CV_CPU_HAS_SUPPORT_MSA (cv::checkHardwareSupport(CV_CPU_MSA))
454
- # define CV_CPU_CALL_MSA(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args)
455
- # define CV_CPU_CALL_MSA_(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args)
456
- #else
457
- # define CV_TRY_MSA 0
458
- # define CV_CPU_FORCE_MSA 0
459
- # define CV_CPU_HAS_SUPPORT_MSA 0
460
- # define CV_CPU_CALL_MSA(fn, args)
461
- # define CV_CPU_CALL_MSA_(fn, args)
462
- #endif
463
- #define __CV_CPU_DISPATCH_CHAIN_MSA(fn, args, mode, ...) CV_CPU_CALL_MSA(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
464
-
465
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX
466
- # define CV_TRY_VSX 1
467
- # define CV_CPU_FORCE_VSX 1
468
- # define CV_CPU_HAS_SUPPORT_VSX 1
469
- # define CV_CPU_CALL_VSX(fn, args) return (cpu_baseline::fn args)
470
- # define CV_CPU_CALL_VSX_(fn, args) return (opt_VSX::fn args)
471
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX
472
- # define CV_TRY_VSX 1
473
- # define CV_CPU_FORCE_VSX 0
474
- # define CV_CPU_HAS_SUPPORT_VSX (cv::checkHardwareSupport(CV_CPU_VSX))
475
- # define CV_CPU_CALL_VSX(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args)
476
- # define CV_CPU_CALL_VSX_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args)
477
- #else
478
- # define CV_TRY_VSX 0
479
- # define CV_CPU_FORCE_VSX 0
480
- # define CV_CPU_HAS_SUPPORT_VSX 0
481
- # define CV_CPU_CALL_VSX(fn, args)
482
- # define CV_CPU_CALL_VSX_(fn, args)
483
- #endif
484
- #define __CV_CPU_DISPATCH_CHAIN_VSX(fn, args, mode, ...) CV_CPU_CALL_VSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
485
-
486
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX3
487
- # define CV_TRY_VSX3 1
488
- # define CV_CPU_FORCE_VSX3 1
489
- # define CV_CPU_HAS_SUPPORT_VSX3 1
490
- # define CV_CPU_CALL_VSX3(fn, args) return (cpu_baseline::fn args)
491
- # define CV_CPU_CALL_VSX3_(fn, args) return (opt_VSX3::fn args)
492
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX3
493
- # define CV_TRY_VSX3 1
494
- # define CV_CPU_FORCE_VSX3 0
495
- # define CV_CPU_HAS_SUPPORT_VSX3 (cv::checkHardwareSupport(CV_CPU_VSX3))
496
- # define CV_CPU_CALL_VSX3(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args)
497
- # define CV_CPU_CALL_VSX3_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args)
498
- #else
499
- # define CV_TRY_VSX3 0
500
- # define CV_CPU_FORCE_VSX3 0
501
- # define CV_CPU_HAS_SUPPORT_VSX3 0
502
- # define CV_CPU_CALL_VSX3(fn, args)
503
- # define CV_CPU_CALL_VSX3_(fn, args)
504
- #endif
505
- #define __CV_CPU_DISPATCH_CHAIN_VSX3(fn, args, mode, ...) CV_CPU_CALL_VSX3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
506
-
507
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_RVV
508
- # define CV_TRY_RVV 1
509
- # define CV_CPU_FORCE_RVV 1
510
- # define CV_CPU_HAS_SUPPORT_RVV 1
511
- # define CV_CPU_CALL_RVV(fn, args) return (cpu_baseline::fn args)
512
- # define CV_CPU_CALL_RVV_(fn, args) return (opt_RVV::fn args)
513
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_RVV
514
- # define CV_TRY_RVV 1
515
- # define CV_CPU_FORCE_RVV 0
516
- # define CV_CPU_HAS_SUPPORT_RVV (cv::checkHardwareSupport(CV_CPU_RVV))
517
- # define CV_CPU_CALL_RVV(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args)
518
- # define CV_CPU_CALL_RVV_(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args)
519
- #else
520
- # define CV_TRY_RVV 0
521
- # define CV_CPU_FORCE_RVV 0
522
- # define CV_CPU_HAS_SUPPORT_RVV 0
523
- # define CV_CPU_CALL_RVV(fn, args)
524
- # define CV_CPU_CALL_RVV_(fn, args)
525
- #endif
526
- #define __CV_CPU_DISPATCH_CHAIN_RVV(fn, args, mode, ...) CV_CPU_CALL_RVV(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
527
-
528
- #if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_LASX
529
- # define CV_TRY_LASX 1
530
- # define CV_CPU_FORCE_LASX 1
531
- # define CV_CPU_HAS_SUPPORT_LASX 1
532
- # define CV_CPU_CALL_LASX(fn, args) return (cpu_baseline::fn args)
533
- # define CV_CPU_CALL_LASX_(fn, args) return (opt_LASX::fn args)
534
- #elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_LASX
535
- # define CV_TRY_LASX 1
536
- # define CV_CPU_FORCE_LASX 0
537
- # define CV_CPU_HAS_SUPPORT_LASX (cv::checkHardwareSupport(CV_CPU_LASX))
538
- # define CV_CPU_CALL_LASX(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args)
539
- # define CV_CPU_CALL_LASX_(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args)
540
- #else
541
- # define CV_TRY_LASX 0
542
- # define CV_CPU_FORCE_LASX 0
543
- # define CV_CPU_HAS_SUPPORT_LASX 0
544
- # define CV_CPU_CALL_LASX(fn, args)
545
- # define CV_CPU_CALL_LASX_(fn, args)
546
- #endif
547
- #define __CV_CPU_DISPATCH_CHAIN_LASX(fn, args, mode, ...) CV_CPU_CALL_LASX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__))
548
-
549
- #define CV_CPU_CALL_BASELINE(fn, args) return (cpu_baseline::fn args)
550
- #define __CV_CPU_DISPATCH_CHAIN_BASELINE(fn, args, mode, ...) CV_CPU_CALL_BASELINE(fn, args) /* last in sequence */