node-native-win-utils 1.4.0 → 2.1.1

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 (204) hide show
  1. package/README.md +29 -82
  2. package/binding.gyp +2 -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} +83 -16
  8. package/dist/{index.d.ts → index.d.cts} +68 -17
  9. package/dist/index.d.mts +230 -0
  10. package/dist/index.mjs +212 -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 +19 -9
  15. package/prebuilds/win32-x64/node-native-win-utils.node +0 -0
  16. package/src/cpp/keyboard.cpp +141 -140
  17. package/src/cpp/main.cpp +9 -3
  18. package/src/cpp/{capturewindow.cpp → screenshot.cpp} +174 -2
  19. package/src/dirnameLocal.mts +3 -0
  20. package/src/index.mts +455 -0
  21. package/src/keyCodes.mts +203 -0
  22. package/dllCopy.js +0 -14
  23. package/include/opencv2/core/affine.hpp +0 -678
  24. package/include/opencv2/core/async.hpp +0 -105
  25. package/include/opencv2/core/base.hpp +0 -664
  26. package/include/opencv2/core/bindings_utils.hpp +0 -325
  27. package/include/opencv2/core/bufferpool.hpp +0 -40
  28. package/include/opencv2/core/check.hpp +0 -170
  29. package/include/opencv2/core/core.hpp +0 -48
  30. package/include/opencv2/core/core_c.h +0 -3128
  31. package/include/opencv2/core/cuda/block.hpp +0 -211
  32. package/include/opencv2/core/cuda/border_interpolate.hpp +0 -722
  33. package/include/opencv2/core/cuda/color.hpp +0 -309
  34. package/include/opencv2/core/cuda/common.hpp +0 -131
  35. package/include/opencv2/core/cuda/datamov_utils.hpp +0 -113
  36. package/include/opencv2/core/cuda/detail/color_detail.hpp +0 -2018
  37. package/include/opencv2/core/cuda/detail/reduce.hpp +0 -365
  38. package/include/opencv2/core/cuda/detail/reduce_key_val.hpp +0 -502
  39. package/include/opencv2/core/cuda/detail/transform_detail.hpp +0 -392
  40. package/include/opencv2/core/cuda/detail/type_traits_detail.hpp +0 -191
  41. package/include/opencv2/core/cuda/detail/vec_distance_detail.hpp +0 -121
  42. package/include/opencv2/core/cuda/dynamic_smem.hpp +0 -88
  43. package/include/opencv2/core/cuda/emulation.hpp +0 -269
  44. package/include/opencv2/core/cuda/filters.hpp +0 -293
  45. package/include/opencv2/core/cuda/funcattrib.hpp +0 -79
  46. package/include/opencv2/core/cuda/functional.hpp +0 -805
  47. package/include/opencv2/core/cuda/limits.hpp +0 -128
  48. package/include/opencv2/core/cuda/reduce.hpp +0 -209
  49. package/include/opencv2/core/cuda/saturate_cast.hpp +0 -292
  50. package/include/opencv2/core/cuda/scan.hpp +0 -258
  51. package/include/opencv2/core/cuda/simd_functions.hpp +0 -869
  52. package/include/opencv2/core/cuda/transform.hpp +0 -75
  53. package/include/opencv2/core/cuda/type_traits.hpp +0 -90
  54. package/include/opencv2/core/cuda/utility.hpp +0 -230
  55. package/include/opencv2/core/cuda/vec_distance.hpp +0 -232
  56. package/include/opencv2/core/cuda/vec_math.hpp +0 -923
  57. package/include/opencv2/core/cuda/vec_traits.hpp +0 -288
  58. package/include/opencv2/core/cuda/warp.hpp +0 -139
  59. package/include/opencv2/core/cuda/warp_reduce.hpp +0 -76
  60. package/include/opencv2/core/cuda/warp_shuffle.hpp +0 -162
  61. package/include/opencv2/core/cuda.hpp +0 -1279
  62. package/include/opencv2/core/cuda.inl.hpp +0 -763
  63. package/include/opencv2/core/cuda_stream_accessor.hpp +0 -86
  64. package/include/opencv2/core/cuda_types.hpp +0 -144
  65. package/include/opencv2/core/cv_cpu_dispatch.h +0 -381
  66. package/include/opencv2/core/cv_cpu_helper.h +0 -550
  67. package/include/opencv2/core/cvdef.h +0 -973
  68. package/include/opencv2/core/cvstd.hpp +0 -190
  69. package/include/opencv2/core/cvstd.inl.hpp +0 -197
  70. package/include/opencv2/core/cvstd_wrapper.hpp +0 -154
  71. package/include/opencv2/core/detail/async_promise.hpp +0 -71
  72. package/include/opencv2/core/detail/dispatch_helper.impl.hpp +0 -49
  73. package/include/opencv2/core/detail/exception_ptr.hpp +0 -27
  74. package/include/opencv2/core/directx.hpp +0 -184
  75. package/include/opencv2/core/dualquaternion.hpp +0 -979
  76. package/include/opencv2/core/dualquaternion.inl.hpp +0 -487
  77. package/include/opencv2/core/eigen.hpp +0 -402
  78. package/include/opencv2/core/fast_math.hpp +0 -433
  79. package/include/opencv2/core/hal/hal.hpp +0 -256
  80. package/include/opencv2/core/hal/interface.h +0 -190
  81. package/include/opencv2/core/hal/intrin.hpp +0 -939
  82. package/include/opencv2/core/hal/intrin_avx.hpp +0 -3177
  83. package/include/opencv2/core/hal/intrin_avx512.hpp +0 -3090
  84. package/include/opencv2/core/hal/intrin_cpp.hpp +0 -3321
  85. package/include/opencv2/core/hal/intrin_forward.hpp +0 -191
  86. package/include/opencv2/core/hal/intrin_lasx.hpp +0 -3236
  87. package/include/opencv2/core/hal/intrin_msa.hpp +0 -1887
  88. package/include/opencv2/core/hal/intrin_neon.hpp +0 -2610
  89. package/include/opencv2/core/hal/intrin_rvv.hpp +0 -3320
  90. package/include/opencv2/core/hal/intrin_rvv071.hpp +0 -2545
  91. package/include/opencv2/core/hal/intrin_rvv_scalable.hpp +0 -2080
  92. package/include/opencv2/core/hal/intrin_sse.hpp +0 -3467
  93. package/include/opencv2/core/hal/intrin_sse_em.hpp +0 -180
  94. package/include/opencv2/core/hal/intrin_vsx.hpp +0 -1608
  95. package/include/opencv2/core/hal/intrin_wasm.hpp +0 -2782
  96. package/include/opencv2/core/hal/msa_macros.h +0 -1558
  97. package/include/opencv2/core/hal/simd_utils.impl.hpp +0 -186
  98. package/include/opencv2/core/llapi/llapi.h +0 -102
  99. package/include/opencv2/core/mat.hpp +0 -3775
  100. package/include/opencv2/core/mat.inl.hpp +0 -3422
  101. package/include/opencv2/core/matx.hpp +0 -1536
  102. package/include/opencv2/core/neon_utils.hpp +0 -128
  103. package/include/opencv2/core/ocl.hpp +0 -917
  104. package/include/opencv2/core/ocl_genbase.hpp +0 -69
  105. package/include/opencv2/core/opencl/ocl_defs.hpp +0 -82
  106. package/include/opencv2/core/opencl/opencl_info.hpp +0 -212
  107. package/include/opencv2/core/opencl/opencl_svm.hpp +0 -81
  108. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +0 -602
  109. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +0 -146
  110. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +0 -371
  111. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +0 -272
  112. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +0 -62
  113. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +0 -42
  114. package/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +0 -53
  115. package/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +0 -53
  116. package/include/opencv2/core/opencl/runtime/opencl_core.hpp +0 -84
  117. package/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +0 -47
  118. package/include/opencv2/core/opencl/runtime/opencl_gl.hpp +0 -53
  119. package/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +0 -47
  120. package/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +0 -48
  121. package/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +0 -42
  122. package/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +0 -166
  123. package/include/opencv2/core/opengl.hpp +0 -733
  124. package/include/opencv2/core/openvx/ovx_defs.hpp +0 -48
  125. package/include/opencv2/core/operations.hpp +0 -610
  126. package/include/opencv2/core/optim.hpp +0 -302
  127. package/include/opencv2/core/ovx.hpp +0 -28
  128. package/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +0 -72
  129. package/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +0 -153
  130. package/include/opencv2/core/parallel/parallel_backend.hpp +0 -90
  131. package/include/opencv2/core/persistence.hpp +0 -1350
  132. package/include/opencv2/core/private/cv_cpu_include_simd_declarations.hpp +0 -30
  133. package/include/opencv2/core/private.cuda.hpp +0 -169
  134. package/include/opencv2/core/private.hpp +0 -896
  135. package/include/opencv2/core/quaternion.hpp +0 -1696
  136. package/include/opencv2/core/quaternion.inl.hpp +0 -1063
  137. package/include/opencv2/core/saturate.hpp +0 -180
  138. package/include/opencv2/core/simd_intrinsics.hpp +0 -87
  139. package/include/opencv2/core/softfloat.hpp +0 -514
  140. package/include/opencv2/core/sse_utils.hpp +0 -652
  141. package/include/opencv2/core/traits.hpp +0 -417
  142. package/include/opencv2/core/types.hpp +0 -2457
  143. package/include/opencv2/core/types_c.h +0 -2126
  144. package/include/opencv2/core/utility.hpp +0 -1229
  145. package/include/opencv2/core/utils/allocator_stats.hpp +0 -29
  146. package/include/opencv2/core/utils/allocator_stats.impl.hpp +0 -158
  147. package/include/opencv2/core/utils/buffer_area.private.hpp +0 -136
  148. package/include/opencv2/core/utils/configuration.private.hpp +0 -22
  149. package/include/opencv2/core/utils/filesystem.hpp +0 -82
  150. package/include/opencv2/core/utils/filesystem.private.hpp +0 -66
  151. package/include/opencv2/core/utils/fp_control.private.hpp +0 -29
  152. package/include/opencv2/core/utils/fp_control_utils.hpp +0 -69
  153. package/include/opencv2/core/utils/instrumentation.hpp +0 -125
  154. package/include/opencv2/core/utils/lock.private.hpp +0 -119
  155. package/include/opencv2/core/utils/logger.defines.hpp +0 -42
  156. package/include/opencv2/core/utils/logger.hpp +0 -218
  157. package/include/opencv2/core/utils/logtag.hpp +0 -28
  158. package/include/opencv2/core/utils/plugin_loader.private.hpp +0 -165
  159. package/include/opencv2/core/utils/tls.hpp +0 -235
  160. package/include/opencv2/core/utils/trace.hpp +0 -252
  161. package/include/opencv2/core/utils/trace.private.hpp +0 -421
  162. package/include/opencv2/core/va_intel.hpp +0 -75
  163. package/include/opencv2/core/version.hpp +0 -26
  164. package/include/opencv2/core/vsx_utils.hpp +0 -1047
  165. package/include/opencv2/core.hpp +0 -3365
  166. package/include/opencv2/imgcodecs/imgcodecs.hpp +0 -48
  167. package/include/opencv2/imgcodecs/imgcodecs_c.h +0 -1
  168. package/include/opencv2/imgcodecs/ios.h +0 -59
  169. package/include/opencv2/imgcodecs/legacy/constants_c.h +0 -54
  170. package/include/opencv2/imgcodecs/macosx.h +0 -20
  171. package/include/opencv2/imgcodecs.hpp +0 -407
  172. package/include/opencv2/imgproc/bindings.hpp +0 -34
  173. package/include/opencv2/imgproc/detail/gcgraph.hpp +0 -395
  174. package/include/opencv2/imgproc/hal/hal.hpp +0 -246
  175. package/include/opencv2/imgproc/hal/interface.h +0 -46
  176. package/include/opencv2/imgproc/imgproc.hpp +0 -48
  177. package/include/opencv2/imgproc/imgproc_c.h +0 -1177
  178. package/include/opencv2/imgproc/segmentation.hpp +0 -141
  179. package/include/opencv2/imgproc/types_c.h +0 -659
  180. package/include/opencv2/imgproc.hpp +0 -5035
  181. package/include/opencv2/opencv_modules.hpp +0 -17
  182. package/include/tesseract/baseapi.h +0 -820
  183. package/include/tesseract/capi.h +0 -485
  184. package/include/tesseract/export.h +0 -37
  185. package/include/tesseract/ltrresultiterator.h +0 -235
  186. package/include/tesseract/ocrclass.h +0 -158
  187. package/include/tesseract/osdetect.h +0 -139
  188. package/include/tesseract/pageiterator.h +0 -364
  189. package/include/tesseract/publictypes.h +0 -281
  190. package/include/tesseract/renderer.h +0 -334
  191. package/include/tesseract/resultiterator.h +0 -250
  192. package/include/tesseract/tesseract.h +0 -40
  193. package/include/tesseract/unichar.h +0 -174
  194. package/include/tesseract/version.h +0 -34
  195. package/include/tesseract/version.h.in +0 -34
  196. package/libs/libjpeg-turbo.lib +0 -0
  197. package/libs/libpng.lib +0 -0
  198. package/libs/opencv_core470.lib +0 -0
  199. package/libs/opencv_imgcodecs470.lib +0 -0
  200. package/libs/opencv_imgproc470.lib +0 -0
  201. package/libs/tesseract.lib +0 -0
  202. package/libs/zlib.lib +0 -0
  203. /package/dist/{keyCodes.js → keyCodes.cjs} +0 -0
  204. /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 */