node-native-win-utils 1.1.0 → 1.3.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.
- package/README.md +144 -27
- package/binding.gyp +18 -5
- package/dist/index.d.ts +146 -4
- package/dist/index.js +107 -3
- package/include/opencv2/core/affine.hpp +678 -0
- package/include/opencv2/core/async.hpp +105 -0
- package/include/opencv2/core/base.hpp +664 -0
- package/include/opencv2/core/bindings_utils.hpp +325 -0
- package/include/opencv2/core/bufferpool.hpp +40 -0
- package/include/opencv2/core/check.hpp +170 -0
- package/include/opencv2/core/core.hpp +48 -0
- package/include/opencv2/core/core_c.h +3128 -0
- package/include/opencv2/core/cuda/block.hpp +211 -0
- package/include/opencv2/core/cuda/border_interpolate.hpp +722 -0
- package/include/opencv2/core/cuda/color.hpp +309 -0
- package/include/opencv2/core/cuda/common.hpp +131 -0
- package/include/opencv2/core/cuda/datamov_utils.hpp +113 -0
- package/include/opencv2/core/cuda/detail/color_detail.hpp +2018 -0
- package/include/opencv2/core/cuda/detail/reduce.hpp +365 -0
- package/include/opencv2/core/cuda/detail/reduce_key_val.hpp +502 -0
- package/include/opencv2/core/cuda/detail/transform_detail.hpp +392 -0
- package/include/opencv2/core/cuda/detail/type_traits_detail.hpp +191 -0
- package/include/opencv2/core/cuda/detail/vec_distance_detail.hpp +121 -0
- package/include/opencv2/core/cuda/dynamic_smem.hpp +88 -0
- package/include/opencv2/core/cuda/emulation.hpp +269 -0
- package/include/opencv2/core/cuda/filters.hpp +293 -0
- package/include/opencv2/core/cuda/funcattrib.hpp +79 -0
- package/include/opencv2/core/cuda/functional.hpp +805 -0
- package/include/opencv2/core/cuda/limits.hpp +128 -0
- package/include/opencv2/core/cuda/reduce.hpp +209 -0
- package/include/opencv2/core/cuda/saturate_cast.hpp +292 -0
- package/include/opencv2/core/cuda/scan.hpp +258 -0
- package/include/opencv2/core/cuda/simd_functions.hpp +869 -0
- package/include/opencv2/core/cuda/transform.hpp +75 -0
- package/include/opencv2/core/cuda/type_traits.hpp +90 -0
- package/include/opencv2/core/cuda/utility.hpp +230 -0
- package/include/opencv2/core/cuda/vec_distance.hpp +232 -0
- package/include/opencv2/core/cuda/vec_math.hpp +923 -0
- package/include/opencv2/core/cuda/vec_traits.hpp +288 -0
- package/include/opencv2/core/cuda/warp.hpp +139 -0
- package/include/opencv2/core/cuda/warp_reduce.hpp +76 -0
- package/include/opencv2/core/cuda/warp_shuffle.hpp +162 -0
- package/include/opencv2/core/cuda.hpp +1279 -0
- package/include/opencv2/core/cuda.inl.hpp +763 -0
- package/include/opencv2/core/cuda_stream_accessor.hpp +86 -0
- package/include/opencv2/core/cuda_types.hpp +144 -0
- package/include/opencv2/core/cv_cpu_dispatch.h +381 -0
- package/include/opencv2/core/cv_cpu_helper.h +550 -0
- package/include/opencv2/core/cvdef.h +973 -0
- package/include/opencv2/core/cvstd.hpp +190 -0
- package/include/opencv2/core/cvstd.inl.hpp +197 -0
- package/include/opencv2/core/cvstd_wrapper.hpp +154 -0
- package/include/opencv2/core/detail/async_promise.hpp +71 -0
- package/include/opencv2/core/detail/dispatch_helper.impl.hpp +49 -0
- package/include/opencv2/core/detail/exception_ptr.hpp +27 -0
- package/include/opencv2/core/directx.hpp +184 -0
- package/include/opencv2/core/dualquaternion.hpp +979 -0
- package/include/opencv2/core/dualquaternion.inl.hpp +487 -0
- package/include/opencv2/core/eigen.hpp +402 -0
- package/include/opencv2/core/fast_math.hpp +433 -0
- package/include/opencv2/core/hal/hal.hpp +256 -0
- package/include/opencv2/core/hal/interface.h +190 -0
- package/include/opencv2/core/hal/intrin.hpp +939 -0
- package/include/opencv2/core/hal/intrin_avx.hpp +3177 -0
- package/include/opencv2/core/hal/intrin_avx512.hpp +3090 -0
- package/include/opencv2/core/hal/intrin_cpp.hpp +3321 -0
- package/include/opencv2/core/hal/intrin_forward.hpp +191 -0
- package/include/opencv2/core/hal/intrin_lasx.hpp +3236 -0
- package/include/opencv2/core/hal/intrin_msa.hpp +1887 -0
- package/include/opencv2/core/hal/intrin_neon.hpp +2610 -0
- package/include/opencv2/core/hal/intrin_rvv.hpp +3320 -0
- package/include/opencv2/core/hal/intrin_rvv071.hpp +2545 -0
- package/include/opencv2/core/hal/intrin_rvv_scalable.hpp +2080 -0
- package/include/opencv2/core/hal/intrin_sse.hpp +3467 -0
- package/include/opencv2/core/hal/intrin_sse_em.hpp +180 -0
- package/include/opencv2/core/hal/intrin_vsx.hpp +1608 -0
- package/include/opencv2/core/hal/intrin_wasm.hpp +2782 -0
- package/include/opencv2/core/hal/msa_macros.h +1558 -0
- package/include/opencv2/core/hal/simd_utils.impl.hpp +186 -0
- package/include/opencv2/core/llapi/llapi.h +102 -0
- package/include/opencv2/core/mat.hpp +3775 -0
- package/include/opencv2/core/mat.inl.hpp +3422 -0
- package/include/opencv2/core/matx.hpp +1536 -0
- package/include/opencv2/core/neon_utils.hpp +128 -0
- package/include/opencv2/core/ocl.hpp +917 -0
- package/include/opencv2/core/ocl_genbase.hpp +69 -0
- package/include/opencv2/core/opencl/ocl_defs.hpp +82 -0
- package/include/opencv2/core/opencl/opencl_info.hpp +212 -0
- package/include/opencv2/core/opencl/opencl_svm.hpp +81 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +602 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +146 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +371 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +272 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +62 -0
- package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +42 -0
- package/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +53 -0
- package/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +53 -0
- package/include/opencv2/core/opencl/runtime/opencl_core.hpp +84 -0
- package/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +47 -0
- package/include/opencv2/core/opencl/runtime/opencl_gl.hpp +53 -0
- package/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +47 -0
- package/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +48 -0
- package/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +42 -0
- package/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +166 -0
- package/include/opencv2/core/opengl.hpp +733 -0
- package/include/opencv2/core/openvx/ovx_defs.hpp +48 -0
- package/include/opencv2/core/operations.hpp +610 -0
- package/include/opencv2/core/optim.hpp +302 -0
- package/include/opencv2/core/ovx.hpp +28 -0
- package/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +72 -0
- package/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +153 -0
- package/include/opencv2/core/parallel/parallel_backend.hpp +90 -0
- package/include/opencv2/core/persistence.hpp +1350 -0
- package/include/opencv2/core/private/cv_cpu_include_simd_declarations.hpp +30 -0
- package/include/opencv2/core/private.cuda.hpp +169 -0
- package/include/opencv2/core/private.hpp +896 -0
- package/include/opencv2/core/quaternion.hpp +1696 -0
- package/include/opencv2/core/quaternion.inl.hpp +1063 -0
- package/include/opencv2/core/saturate.hpp +180 -0
- package/include/opencv2/core/simd_intrinsics.hpp +87 -0
- package/include/opencv2/core/softfloat.hpp +514 -0
- package/include/opencv2/core/sse_utils.hpp +652 -0
- package/include/opencv2/core/traits.hpp +417 -0
- package/include/opencv2/core/types.hpp +2457 -0
- package/include/opencv2/core/types_c.h +2126 -0
- package/include/opencv2/core/utility.hpp +1229 -0
- package/include/opencv2/core/utils/allocator_stats.hpp +29 -0
- package/include/opencv2/core/utils/allocator_stats.impl.hpp +158 -0
- package/include/opencv2/core/utils/buffer_area.private.hpp +136 -0
- package/include/opencv2/core/utils/configuration.private.hpp +22 -0
- package/include/opencv2/core/utils/filesystem.hpp +82 -0
- package/include/opencv2/core/utils/filesystem.private.hpp +66 -0
- package/include/opencv2/core/utils/fp_control.private.hpp +29 -0
- package/include/opencv2/core/utils/fp_control_utils.hpp +69 -0
- package/include/opencv2/core/utils/instrumentation.hpp +125 -0
- package/include/opencv2/core/utils/lock.private.hpp +119 -0
- package/include/opencv2/core/utils/logger.defines.hpp +42 -0
- package/include/opencv2/core/utils/logger.hpp +218 -0
- package/include/opencv2/core/utils/logtag.hpp +28 -0
- package/include/opencv2/core/utils/plugin_loader.private.hpp +165 -0
- package/include/opencv2/core/utils/tls.hpp +235 -0
- package/include/opencv2/core/utils/trace.hpp +252 -0
- package/include/opencv2/core/utils/trace.private.hpp +421 -0
- package/include/opencv2/core/va_intel.hpp +75 -0
- package/include/opencv2/core/version.hpp +26 -0
- package/include/opencv2/core/vsx_utils.hpp +1047 -0
- package/include/opencv2/core.hpp +3365 -0
- package/include/opencv2/imgcodecs/imgcodecs.hpp +48 -0
- package/include/opencv2/imgcodecs/imgcodecs_c.h +1 -0
- package/include/opencv2/imgcodecs/ios.h +59 -0
- package/include/opencv2/imgcodecs/legacy/constants_c.h +54 -0
- package/include/opencv2/imgcodecs/macosx.h +20 -0
- package/include/opencv2/imgcodecs.hpp +407 -0
- package/include/opencv2/imgproc/bindings.hpp +34 -0
- package/include/opencv2/imgproc/detail/gcgraph.hpp +395 -0
- package/include/opencv2/imgproc/hal/hal.hpp +246 -0
- package/include/opencv2/imgproc/hal/interface.h +46 -0
- package/include/opencv2/imgproc/imgproc.hpp +48 -0
- package/include/opencv2/imgproc/imgproc_c.h +1177 -0
- package/include/opencv2/imgproc/segmentation.hpp +141 -0
- package/include/opencv2/imgproc/types_c.h +659 -0
- package/include/opencv2/imgproc.hpp +5035 -0
- package/include/opencv2/opencv_modules.hpp +17 -0
- package/libs/libjpeg-turbo.lib +0 -0
- package/libs/libpng.lib +0 -0
- package/libs/opencv_core470.lib +0 -0
- package/libs/opencv_imgcodecs470.lib +0 -0
- package/libs/opencv_imgproc470.lib +0 -0
- package/libs/zlib.lib +0 -0
- package/package.json +14 -3
- package/prebuilds/win32-x64/node.napi.node +0 -0
- package/src/cpp/capturewindow.cpp +36 -46
- package/src/cpp/main.cpp +10 -2
- package/src/cpp/opencv.cpp +425 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// This file is part of OpenCV project.
|
|
2
|
+
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
|
3
|
+
// of this distribution and at http://opencv.org/license.html
|
|
4
|
+
|
|
5
|
+
#ifndef OPENCV_HAL_INTRIN_SSE_EM_HPP
|
|
6
|
+
#define OPENCV_HAL_INTRIN_SSE_EM_HPP
|
|
7
|
+
|
|
8
|
+
namespace cv
|
|
9
|
+
{
|
|
10
|
+
|
|
11
|
+
//! @cond IGNORED
|
|
12
|
+
|
|
13
|
+
CV_CPU_OPTIMIZATION_HAL_NAMESPACE_BEGIN
|
|
14
|
+
|
|
15
|
+
#define OPENCV_HAL_SSE_WRAP_1(fun, tp) \
|
|
16
|
+
inline tp _v128_##fun(const tp& a) \
|
|
17
|
+
{ return _mm_##fun(a); }
|
|
18
|
+
|
|
19
|
+
#define OPENCV_HAL_SSE_WRAP_2(fun, tp) \
|
|
20
|
+
inline tp _v128_##fun(const tp& a, const tp& b) \
|
|
21
|
+
{ return _mm_##fun(a, b); }
|
|
22
|
+
|
|
23
|
+
#define OPENCV_HAL_SSE_WRAP_3(fun, tp) \
|
|
24
|
+
inline tp _v128_##fun(const tp& a, const tp& b, const tp& c) \
|
|
25
|
+
{ return _mm_##fun(a, b, c); }
|
|
26
|
+
|
|
27
|
+
///////////////////////////// XOP /////////////////////////////
|
|
28
|
+
|
|
29
|
+
// [todo] define CV_XOP
|
|
30
|
+
#if 1 // CV_XOP
|
|
31
|
+
inline __m128i _v128_comgt_epu32(const __m128i& a, const __m128i& b)
|
|
32
|
+
{
|
|
33
|
+
const __m128i delta = _mm_set1_epi32((int)0x80000000);
|
|
34
|
+
return _mm_cmpgt_epi32(_mm_xor_si128(a, delta), _mm_xor_si128(b, delta));
|
|
35
|
+
}
|
|
36
|
+
// wrapping XOP
|
|
37
|
+
#else
|
|
38
|
+
OPENCV_HAL_SSE_WRAP_2(_v128_comgt_epu32, __m128i)
|
|
39
|
+
#endif // !CV_XOP
|
|
40
|
+
|
|
41
|
+
///////////////////////////// SSE4.1 /////////////////////////////
|
|
42
|
+
|
|
43
|
+
#if !CV_SSE4_1
|
|
44
|
+
|
|
45
|
+
/** Swizzle **/
|
|
46
|
+
inline __m128i _v128_blendv_epi8(const __m128i& a, const __m128i& b, const __m128i& mask)
|
|
47
|
+
{ return _mm_xor_si128(a, _mm_and_si128(_mm_xor_si128(b, a), mask)); }
|
|
48
|
+
|
|
49
|
+
/** Convert **/
|
|
50
|
+
// 8 >> 16
|
|
51
|
+
inline __m128i _v128_cvtepu8_epi16(const __m128i& a)
|
|
52
|
+
{
|
|
53
|
+
const __m128i z = _mm_setzero_si128();
|
|
54
|
+
return _mm_unpacklo_epi8(a, z);
|
|
55
|
+
}
|
|
56
|
+
inline __m128i _v128_cvtepi8_epi16(const __m128i& a)
|
|
57
|
+
{ return _mm_srai_epi16(_mm_unpacklo_epi8(a, a), 8); }
|
|
58
|
+
// 8 >> 32
|
|
59
|
+
inline __m128i _v128_cvtepu8_epi32(const __m128i& a)
|
|
60
|
+
{
|
|
61
|
+
const __m128i z = _mm_setzero_si128();
|
|
62
|
+
return _mm_unpacklo_epi16(_mm_unpacklo_epi8(a, z), z);
|
|
63
|
+
}
|
|
64
|
+
inline __m128i _v128_cvtepi8_epi32(const __m128i& a)
|
|
65
|
+
{
|
|
66
|
+
__m128i r = _mm_unpacklo_epi8(a, a);
|
|
67
|
+
r = _mm_unpacklo_epi8(r, r);
|
|
68
|
+
return _mm_srai_epi32(r, 24);
|
|
69
|
+
}
|
|
70
|
+
// 16 >> 32
|
|
71
|
+
inline __m128i _v128_cvtepu16_epi32(const __m128i& a)
|
|
72
|
+
{
|
|
73
|
+
const __m128i z = _mm_setzero_si128();
|
|
74
|
+
return _mm_unpacklo_epi16(a, z);
|
|
75
|
+
}
|
|
76
|
+
inline __m128i _v128_cvtepi16_epi32(const __m128i& a)
|
|
77
|
+
{ return _mm_srai_epi32(_mm_unpacklo_epi16(a, a), 16); }
|
|
78
|
+
// 32 >> 64
|
|
79
|
+
inline __m128i _v128_cvtepu32_epi64(const __m128i& a)
|
|
80
|
+
{
|
|
81
|
+
const __m128i z = _mm_setzero_si128();
|
|
82
|
+
return _mm_unpacklo_epi32(a, z);
|
|
83
|
+
}
|
|
84
|
+
inline __m128i _v128_cvtepi32_epi64(const __m128i& a)
|
|
85
|
+
{ return _mm_unpacklo_epi32(a, _mm_srai_epi32(a, 31)); }
|
|
86
|
+
|
|
87
|
+
/** Arithmetic **/
|
|
88
|
+
inline __m128i _v128_mullo_epi32(const __m128i& a, const __m128i& b)
|
|
89
|
+
{
|
|
90
|
+
__m128i c0 = _mm_mul_epu32(a, b);
|
|
91
|
+
__m128i c1 = _mm_mul_epu32(_mm_srli_epi64(a, 32), _mm_srli_epi64(b, 32));
|
|
92
|
+
__m128i d0 = _mm_unpacklo_epi32(c0, c1);
|
|
93
|
+
__m128i d1 = _mm_unpackhi_epi32(c0, c1);
|
|
94
|
+
return _mm_unpacklo_epi64(d0, d1);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Math **/
|
|
98
|
+
inline __m128i _v128_min_epu32(const __m128i& a, const __m128i& b)
|
|
99
|
+
{ return _v128_blendv_epi8(a, b, _v128_comgt_epu32(a, b)); }
|
|
100
|
+
|
|
101
|
+
// wrapping SSE4.1
|
|
102
|
+
#else
|
|
103
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepu8_epi16, __m128i)
|
|
104
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepi8_epi16, __m128i)
|
|
105
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepu8_epi32, __m128i)
|
|
106
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepi8_epi32, __m128i)
|
|
107
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepu16_epi32, __m128i)
|
|
108
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepi16_epi32, __m128i)
|
|
109
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepu32_epi64, __m128i)
|
|
110
|
+
OPENCV_HAL_SSE_WRAP_1(cvtepi32_epi64, __m128i)
|
|
111
|
+
OPENCV_HAL_SSE_WRAP_2(min_epu32, __m128i)
|
|
112
|
+
OPENCV_HAL_SSE_WRAP_2(mullo_epi32, __m128i)
|
|
113
|
+
OPENCV_HAL_SSE_WRAP_3(blendv_epi8, __m128i)
|
|
114
|
+
#endif // !CV_SSE4_1
|
|
115
|
+
|
|
116
|
+
///////////////////////////// Revolutionary /////////////////////////////
|
|
117
|
+
|
|
118
|
+
/** Convert **/
|
|
119
|
+
// 16 << 8
|
|
120
|
+
inline __m128i _v128_cvtepu8_epi16_high(const __m128i& a)
|
|
121
|
+
{
|
|
122
|
+
const __m128i z = _mm_setzero_si128();
|
|
123
|
+
return _mm_unpackhi_epi8(a, z);
|
|
124
|
+
}
|
|
125
|
+
inline __m128i _v128_cvtepi8_epi16_high(const __m128i& a)
|
|
126
|
+
{ return _mm_srai_epi16(_mm_unpackhi_epi8(a, a), 8); }
|
|
127
|
+
// 32 << 16
|
|
128
|
+
inline __m128i _v128_cvtepu16_epi32_high(const __m128i& a)
|
|
129
|
+
{
|
|
130
|
+
const __m128i z = _mm_setzero_si128();
|
|
131
|
+
return _mm_unpackhi_epi16(a, z);
|
|
132
|
+
}
|
|
133
|
+
inline __m128i _v128_cvtepi16_epi32_high(const __m128i& a)
|
|
134
|
+
{ return _mm_srai_epi32(_mm_unpackhi_epi16(a, a), 16); }
|
|
135
|
+
// 64 << 32
|
|
136
|
+
inline __m128i _v128_cvtepu32_epi64_high(const __m128i& a)
|
|
137
|
+
{
|
|
138
|
+
const __m128i z = _mm_setzero_si128();
|
|
139
|
+
return _mm_unpackhi_epi32(a, z);
|
|
140
|
+
}
|
|
141
|
+
inline __m128i _v128_cvtepi32_epi64_high(const __m128i& a)
|
|
142
|
+
{ return _mm_unpackhi_epi32(a, _mm_srai_epi32(a, 31)); }
|
|
143
|
+
|
|
144
|
+
/** Miscellaneous **/
|
|
145
|
+
inline __m128i _v128_packs_epu32(const __m128i& a, const __m128i& b)
|
|
146
|
+
{
|
|
147
|
+
const __m128i m = _mm_set1_epi32(65535);
|
|
148
|
+
__m128i am = _v128_min_epu32(a, m);
|
|
149
|
+
__m128i bm = _v128_min_epu32(b, m);
|
|
150
|
+
#if CV_SSE4_1
|
|
151
|
+
return _mm_packus_epi32(am, bm);
|
|
152
|
+
#else
|
|
153
|
+
const __m128i d = _mm_set1_epi32(32768), nd = _mm_set1_epi16(-32768);
|
|
154
|
+
am = _mm_sub_epi32(am, d);
|
|
155
|
+
bm = _mm_sub_epi32(bm, d);
|
|
156
|
+
am = _mm_packs_epi32(am, bm);
|
|
157
|
+
return _mm_sub_epi16(am, nd);
|
|
158
|
+
#endif
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
template<int i>
|
|
162
|
+
inline int64 _v128_extract_epi64(const __m128i& a)
|
|
163
|
+
{
|
|
164
|
+
#if defined(CV__SIMD_HAVE_mm_extract_epi64) || (CV_SSE4_1 && (defined(__x86_64__)/*GCC*/ || defined(_M_X64)/*MSVC*/))
|
|
165
|
+
#define CV__SIMD_NATIVE_mm_extract_epi64 1
|
|
166
|
+
return _mm_extract_epi64(a, i);
|
|
167
|
+
#else
|
|
168
|
+
CV_DECL_ALIGNED(16) int64 tmp[2];
|
|
169
|
+
_mm_store_si128((__m128i*)tmp, a);
|
|
170
|
+
return tmp[i];
|
|
171
|
+
#endif
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
CV_CPU_OPTIMIZATION_HAL_NAMESPACE_END
|
|
175
|
+
|
|
176
|
+
//! @endcond
|
|
177
|
+
|
|
178
|
+
} // cv::
|
|
179
|
+
|
|
180
|
+
#endif // OPENCV_HAL_INTRIN_SSE_EM_HPP
|