Alexander Alekhin
261ad78122
core: emit more clear messages in OutputArray::create()
2020-09-18 15:25:29 +00:00
Alexander Alekhin
4fa82809df
ocl: avoid rescheduling of async kernels
2020-09-18 14:53:50 +00:00
Alexander Alekhin
8711653530
ocl: fixes for OpenCL multiple contexts support
2020-09-03 20:34:49 +00:00
Alexander Alekhin
2129c72bc0
core(OpenCL): thread-local OpenCL execution context
2020-09-02 05:04:20 +00:00
Alexander Alekhin
0428dce27d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-09-01 20:59:00 +00:00
Alexander Alekhin
efcf307b4c
ocl: cleanup dead code in case of disabled OpenCL
2020-08-31 11:30:42 +00:00
Alexander Alekhin
f6c2bf21c8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-08-21 19:57:34 +00:00
Alexander Alekhin
f53ff0d01c
Merge pull request #18151 from alalek:core_trace_fix_location
2020-08-21 18:54:40 +00:00
Clement Courbet
da555a2c9b
Optimize opencv dft by vectorizing radix2 and radix3.
...
This is useful for non power-of-two sizes when WITH_IPP is not an option.
This shows consistent improvement over openCV benchmarks, and we measure
even larger improvements on our internal workloads.
For example, for 320x480, `32FC*`, we can see a ~5% improvement}, as
`320=2^6*5` and `480=2^5*3*5`, so the improved radix3 version is used.
`64FC*` is flat as expected, as we do not specialize the functors for `double`
in this change.
```
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, 0, false) 1.239 1.153 1.07
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, 0, true) 0.991 0.926 1.07
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_COMPLEX_OUTPUT, false) 1.367 1.281 1.07
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_COMPLEX_OUTPUT, true) 1.114 1.049 1.06
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_INVERSE, false) 1.313 1.254 1.05
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_INVERSE, true) 1.027 0.977 1.05
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 1.296 1.217 1.06
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 1.039 0.963 1.08
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_ROWS, false) 0.542 0.524 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_ROWS, true) 0.293 0.277 1.06
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_SCALE, false) 1.265 1.175 1.08
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC1, DFT_SCALE, true) 1.004 0.942 1.07
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, 0, false) 1.292 1.280 1.01
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, 0, true) 1.038 1.030 1.01
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_COMPLEX_OUTPUT, false) 1.484 1.488 1.00
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_COMPLEX_OUTPUT, true) 1.222 1.224 1.00
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_INVERSE, false) 1.380 1.355 1.02
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_INVERSE, true) 1.117 1.133 0.99
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 1.372 1.383 0.99
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 1.117 1.127 0.99
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_ROWS, false) 0.546 0.539 1.01
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_ROWS, true) 0.293 0.299 0.98
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_SCALE, false) 1.351 1.339 1.01
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 64FC1, DFT_SCALE, true) 1.099 1.092 1.01
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, 0, false) 2.235 2.123 1.05
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, 0, true) 1.843 1.727 1.07
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_COMPLEX_OUTPUT, false) 2.189 2.109 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_COMPLEX_OUTPUT, true) 1.827 1.754 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_INVERSE, false) 2.392 2.309 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_INVERSE, true) 1.951 1.865 1.05
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 2.391 2.293 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 1.954 1.882 1.04
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_ROWS, false) 0.811 0.815 0.99
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_ROWS, true) 0.426 0.437 0.98
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_SCALE, false) 2.268 2.152 1.05
dft::Size_MatType_FlagsType_NzeroRows::(320x480, 32FC2, DFT_SCALE, true) 1.893 1.788 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, 0, false) 4.546 4.395 1.03
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, 0, true) 3.616 3.426 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_COMPLEX_OUTPUT, false) 4.843 4.668 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_COMPLEX_OUTPUT, true) 3.825 3.748 1.02
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_INVERSE, false) 4.720 4.525 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_INVERSE, true) 3.743 3.601 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 4.755 4.527 1.05
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 3.744 3.586 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_ROWS, false) 1.992 2.012 0.99
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_ROWS, true) 1.048 1.048 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_SCALE, false) 4.625 4.451 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC1, DFT_SCALE, true) 3.643 3.491 1.04
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, 0, false) 4.499 4.488 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, 0, true) 3.559 3.555 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_COMPLEX_OUTPUT, false) 5.155 5.165 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_COMPLEX_OUTPUT, true) 4.103 4.101 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_INVERSE, false) 5.484 5.474 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_INVERSE, true) 4.617 4.518 1.02
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 5.547 5.509 1.01
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 4.553 4.554 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_ROWS, false) 2.067 2.018 1.02
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_ROWS, true) 1.104 1.079 1.02
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_SCALE, false) 4.665 4.619 1.01
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 64FC1, DFT_SCALE, true) 3.698 3.681 1.00
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, 0, false) 8.774 8.275 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, 0, true) 6.975 6.527 1.07
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_COMPLEX_OUTPUT, false) 8.720 8.270 1.05
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_COMPLEX_OUTPUT, true) 6.928 6.532 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_INVERSE, false) 9.272 8.862 1.05
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_INVERSE, true) 7.323 6.946 1.05
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 9.262 8.768 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 7.298 6.871 1.06
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_ROWS, false) 3.766 3.639 1.03
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_ROWS, true) 1.932 1.889 1.02
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_SCALE, false) 8.865 8.417 1.05
dft::Size_MatType_FlagsType_NzeroRows::(800x600, 32FC2, DFT_SCALE, true) 7.067 6.643 1.06
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, 0, false) 10.014 10.141 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, 0, true) 7.600 7.632 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_COMPLEX_OUTPUT, false) 11.059 11.283 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_COMPLEX_OUTPUT, true) 8.475 8.552 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_INVERSE, false) 12.678 12.789 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_INVERSE, true) 10.445 10.359 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 12.626 12.925 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 10.538 10.553 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_ROWS, false) 5.041 5.084 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_ROWS, true) 2.595 2.607 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_SCALE, false) 10.231 10.330 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC1, DFT_SCALE, true) 7.786 7.815 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, 0, false) 13.597 13.302 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, 0, true) 10.377 10.207 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_COMPLEX_OUTPUT, false) 15.940 15.545 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_COMPLEX_OUTPUT, true) 12.299 12.230 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_INVERSE, false) 15.270 15.181 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_INVERSE, true) 12.757 12.339 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 15.512 15.157 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 12.505 12.635 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_ROWS, false) 6.359 6.255 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_ROWS, true) 3.314 3.248 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_SCALE, false) 13.937 13.733 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 64FC1, DFT_SCALE, true) 10.782 10.495 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, 0, false) 18.985 18.926 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, 0, true) 14.256 14.509 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_COMPLEX_OUTPUT, false) 18.696 19.021 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_COMPLEX_OUTPUT, true) 14.290 14.429 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_INVERSE, false) 20.135 20.296 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_INVERSE, true) 15.390 15.512 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 20.121 20.354 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 15.341 15.605 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_ROWS, false) 8.932 9.084 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_ROWS, true) 4.539 4.649 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_SCALE, false) 19.137 19.303 0.99
dft::Size_MatType_FlagsType_NzeroRows::(1280x1024, 32FC2, DFT_SCALE, true) 14.565 14.808 0.98
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, 0, false) 22.553 21.171 1.07
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, 0, true) 17.850 16.390 1.09
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_COMPLEX_OUTPUT, false) 24.062 22.634 1.06
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_COMPLEX_OUTPUT, true) 19.342 17.932 1.08
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_INVERSE, false) 28.609 27.326 1.05
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_INVERSE, true) 24.591 23.289 1.06
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 28.667 27.467 1.04
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 24.671 23.309 1.06
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_ROWS, false) 9.458 9.077 1.04
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_ROWS, true) 4.709 4.566 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_SCALE, false) 22.791 21.583 1.06
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC1, DFT_SCALE, true) 18.029 16.691 1.08
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, 0, false) 25.238 24.427 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, 0, true) 19.636 19.270 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_COMPLEX_OUTPUT, false) 28.342 27.957 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_COMPLEX_OUTPUT, true) 22.413 22.477 1.00
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_INVERSE, false) 26.465 26.085 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_INVERSE, true) 21.972 21.704 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 26.497 26.127 1.01
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 22.010 21.523 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_ROWS, false) 11.188 10.774 1.04
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_ROWS, true) 6.094 5.916 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_SCALE, false) 25.728 24.934 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 64FC1, DFT_SCALE, true) 20.077 19.653 1.02
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, 0, false) 43.834 40.726 1.08
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, 0, true) 35.198 32.218 1.09
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_COMPLEX_OUTPUT, false) 43.743 40.897 1.07
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_COMPLEX_OUTPUT, true) 35.240 32.226 1.09
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_INVERSE, false) 46.022 42.612 1.08
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_INVERSE, true) 36.779 33.961 1.08
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 46.396 42.723 1.09
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 37.025 33.874 1.09
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_ROWS, false) 17.334 16.832 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_ROWS, true) 9.212 8.970 1.03
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_SCALE, false) 44.190 41.211 1.07
dft::Size_MatType_FlagsType_NzeroRows::(1920x1080, 32FC2, DFT_SCALE, true) 35.900 32.888 1.09
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, 0, false) 40.948 38.256 1.07
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, 0, true) 33.825 30.759 1.10
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_COMPLEX_OUTPUT, false) 53.210 53.584 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_COMPLEX_OUTPUT, true) 46.356 46.712 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_INVERSE, false) 47.471 47.213 1.01
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_INVERSE, true) 40.491 41.363 0.98
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 46.724 47.049 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 40.834 41.381 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_ROWS, false) 14.508 14.490 1.00
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_ROWS, true) 7.832 7.828 1.00
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_SCALE, false) 41.491 38.341 1.08
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC1, DFT_SCALE, true) 34.587 31.208 1.11
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, 0, false) 65.155 63.173 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, 0, true) 56.091 54.752 1.02
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_COMPLEX_OUTPUT, false) 71.549 70.626 1.01
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_COMPLEX_OUTPUT, true) 62.319 61.437 1.01
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_INVERSE, false) 61.480 59.540 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_INVERSE, true) 54.047 52.650 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 61.752 61.366 1.01
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 54.400 53.665 1.01
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_ROWS, false) 20.219 19.704 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_ROWS, true) 11.145 10.868 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_SCALE, false) 66.220 64.525 1.03
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 64FC1, DFT_SCALE, true) 57.389 56.114 1.02
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, 0, false) 86.761 88.128 0.98
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, 0, true) 75.528 76.725 0.98
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_COMPLEX_OUTPUT, false) 86.750 88.223 0.98
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_COMPLEX_OUTPUT, true) 75.830 76.809 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_INVERSE, false) 91.728 92.161 1.00
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_INVERSE, true) 78.797 79.876 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, false) 92.163 92.177 1.00
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_INVERSE|DFT_COMPLEX_OUTPUT, true) 78.957 79.863 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_ROWS, false) 24.781 25.576 0.97
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_ROWS, true) 13.226 13.695 0.97
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_SCALE, false) 87.990 89.324 0.99
dft::Size_MatType_FlagsType_NzeroRows::(2048x2048, 32FC2, DFT_SCALE, true) 76.732 77.869 0.99
```
2020-08-21 14:06:09 +02:00
Alexander Alekhin
cd00d8f3f0
core(trace): lazy quering for OPENCV_TRACE_LOCATION
...
- fixes proper initialization of non-trivial variable
2020-08-20 21:48:05 +00:00
Alexander Alekhin
b3755e617c
ocl: silence warning in case of async cleanup
...
- OpenCL kernel cleanup processing is asynchronous and can be called even after forced clFinish()
- buffers are released later in asynchronous mode
- silence these false positive cases for asynchronous cleanup
2020-08-20 19:33:37 +00:00
Alexander Alekhin
b45273eccb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-08-14 19:45:45 +00:00
nhlsm
68f527267b
Merge pull request #18080 from nhlsm:improve-mat-operator-assign-scalar
...
* improve Mat::operator=(Scalar)
* touch
* remove trailing whitespace
* TEST: check if old code pass test or not
* remove CV_Error
* remove warning
* fix: is -> Scalar
* 1) Mat *mat -> Mat &mat 2) return bool, add output param
* add comment
2020-08-14 17:21:23 +00:00
Alexander Alekhin
00890aecdf
core(ocl): fix ocl::Image2d::isFormatSupported()
...
in case of OPENCV_OPENCL_DEVICE=disabled
2020-08-13 18:33:18 +00:00
Alexander Alekhin
422f802ec9
Merge pull request #17922 from joy2myself:build_riscv_with_c++_intrin
2020-08-04 09:45:32 +00:00
Zhangyin
ff4c3873f2
Added cmake toolchain for RISC-V with clang.
...
- Added cross compile cmake file for target riscv64-clang
- Extended cmake for RISC-V and added instruction checks
- Created intrin_rvv.hpp with C++ version universal intrinsics
2020-08-03 20:18:56 +08:00
Namgoo Lee
2241bfb0df
Use "src" not "*this" for source GpuMat
2020-07-30 01:03:34 +09:00
Alexander Alekhin
ffe0d50447
core(persistence): fix "use after free" bug
...
- do not store user-controlled "FileStorage" pointer
- store FileStorage::Impl pointer instead
2020-07-17 21:39:06 +00:00
Vadim Pisarevsky
4564b8a224
Merge pull request #17841 from vpisarev:fixed_fs_dtor
...
* fixed issue #17412
* Update test_io.cpp
2020-07-17 02:28:50 +00:00
Alexander Alekhin
e5e767abc1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-07-13 19:54:49 +00:00
Alexander Alekhin
e54040d540
core: use lazy on-demand initialization for param_traceEnable
2020-07-12 11:53:46 +00:00
Alexander Alekhin
99bc35a883
core(logger): complete initialization of logger structures
...
- for using of logging functions from global destructors
2020-06-22 09:27:26 +00:00
Alexander Alekhin
e3d502310f
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-06-19 07:33:50 +00:00
Alexander Alekhin
442999dcdb
core: fix handling of ND-arrays in dumpInputArray() helpers
2020-06-12 10:23:32 +00:00
cyy
171cba4947
use C++11 static variables as memory barrier
2020-06-09 15:49:31 +08:00
Alexander Alekhin
7722a2b8a8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-06-04 17:58:34 +00:00
Maksim Shabunin
59608907b8
Added countNonZero test for big arrays and disable IPP for some cases
2020-06-03 18:58:41 +03:00
Vadim Pisarevsky
5489735258
Merge pull request #17436 from vpisarev:fix_python_io
...
* fixed #17044
1. fixed Python part of the tutorial about using OpenCV XML-YAML-JSON I/O functionality from C++ and Python.
2. added startWriteStruct() and endWriteStruct() methods to FileStorage
3. modifed FileStorage::write() methods to make them work well inside sequences, not only mappings.
* try to fix the doc builder
* added Python regression test for FileStorage I/O API ([TODO] iterating through long sequences can be very slow)
* fixed yaml testing
2020-06-01 11:33:09 +00:00
Alexander Alekhin
c3e8a82c9c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-05-28 23:53:54 +00:00
Egor Pugin
1bec7ca540
Merge pull request #17352 from egorpugin:patch-2
...
* Fix integer overflow in parseOption().
Previous code does not work for values like 100000MB.
* Fix warning during 32-bit build on inactive code path.
* fix build without C++11
2020-05-25 20:25:18 +00:00
Alexander Alekhin
06bff34a6b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-05-12 19:24:28 +00:00
Alexander Alekhin
74e4cfd1da
core(MatExpr): fix warning in case of e.s == (0, 0, 0, 0)
2020-05-01 07:29:57 +00:00
Alexander Alekhin
1d30a524fa
Merge pull request #17145 from asmorkalov:as/riscv
2020-04-28 10:41:41 +00:00
Alexander Smorkalov
7228d2a824
Added initial version of cmake toolchain for RISC-V architecture.
2020-04-27 12:42:38 +03:00
Alexander Alekhin
bfcc136dc7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-04-21 21:32:51 +00:00
Alexander Alekhin
c8f1948d58
core: drop EXPR handing code in InputArray
2020-04-14 18:02:19 +00:00
Alexander Alekhin
ca9756f6a1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-04-13 20:00:12 +00:00
Alexander Alekhin
936428cb3b
core(MatExpr) fetch result before InputArray wrap
...
- avoid multiple expression evaluations
- avoid issues with reduced support of InputArray::EXPR
2020-04-06 15:28:32 +00:00
Alexander Alekhin
cf2a3c8e74
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-04-02 21:52:32 +00:00
Alexander Alekhin
54063c40de
core(ocl): options to control buffer access flags
...
- control using of clEnqueueMapBuffer or clEnqueueReadBuffer[Rect]
- added benchmarks with OpenCL buffer access use cases
2020-04-02 11:11:06 +00:00
Alexander Alekhin
09134ac881
core: emit warning ONCE on ambiguous MatExpr processing
2020-04-01 18:34:20 +00:00
Alexander Alekhin
95a07ca11c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-27 16:49:59 +00:00
Alexander Alekhin
353273579b
Merge pull request #16918 from alalek:build_warnings_3.4
2020-03-27 16:43:23 +00:00
Alexander Alekhin
e661ad2a67
eliminate build warnings
2020-03-27 11:39:07 +00:00
cyy
bdc29cccb6
fix freebsd build
2020-03-27 18:12:10 +08:00
Alexander Alekhin
b4b4d21212
eliminate build warnings
2020-03-26 19:18:09 +00:00
Alexander Alekhin
c920b45fb8
core(persistence): fix resource leaks - force closing files
...
backporting commit 673eb2b006
2020-03-25 10:49:16 +00:00
Alexander Alekhin
673eb2b006
core(persistence): fix resource leaks - force closing files
2020-03-24 11:38:09 +00:00
Alexander Alekhin
ca23c0e630
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-17 13:23:33 +03:00
Alexander Alekhin
77d1c20fb7
core(buffer_area): handle 'OPENCV_ENABLE_MEMORY_SANITIZER=ON' case
2020-03-16 19:34:08 +03:00
Maksim Shabunin
7e7bb3027c
Fixs several problems found by static analysis
2020-03-16 19:03:24 +03:00
RAJKIRAN NATARAJAN
3b2e409fa7
Merge pull request #16779 from saskatchewancatch:issue-16777
...
* Fixes issue 16777.
* core: update Concurrency getNumThreads()
2020-03-16 17:12:29 +03:00
Alexander Alekhin
d00e58cdb0
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-10 22:49:51 +00:00
Alexander Alekhin
83e1d79403
core: update CPUs detection
...
- cache value, evaluate once
- better support for MINGW
- anything in 'cv' namespace
- test: dump number of active threads
2020-03-10 21:29:08 +00:00
Alexander Alekhin
198b5096aa
Merge pull request #16754 from alalek:issue_16752
...
* core(test): FP16 norm test
* core: norm()-FP16 disable OpenCL
* core(norm): fix 16f32f local buffer size
2020-03-07 19:06:47 +00:00
Alexander Alekhin
619180dffd
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-06 20:41:30 +00:00
Alexander Alekhin
34530da66e
core: fix coverity issues
2020-03-06 18:12:45 +00:00
Alexander Alekhin
a694e5074f
Merge pull request #16723 from jansol:master
2020-03-05 12:25:20 +00:00
Alexander Alekhin
90a4d67e8d
Merge pull request #16513 from pwuertz:cuda_py_interop
2020-03-05 11:56:07 +00:00
Alexander Alekhin
d4a17da7b2
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-03-04 20:49:09 +00:00
Alexander Alekhin
4f288a1e28
Merge pull request #16704 from alalek:core_log_once_log_if
...
* core(logger): add CV_LOG_ONCE_xxx() CV_LOG_IF_xxx() macros
* core(logger): keep tests disabled
2020-03-04 20:42:41 +00:00
Jan Solanti
ad16c243ca
core(ocl): Don't query image formats when none exist
...
clGetSupportedImageFormats returns CL_INVALID_VALUE if called with
num_entries 0 and a non-NULL image_formats pointer so let's not do that.
2020-03-04 14:15:33 +02:00
Alexander Alekhin
4d0f13544d
Merge pull request #16700 from alalek:fix_core_matexpr_size_gemm
...
core: fix MatExpr::size() for gemm()
* core(test): MatExpr::size() test for gemm()
* core: fix MatExpr::size() for gemm()
2020-03-02 17:13:02 +03:00
Alexander Alekhin
45d073f889
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-02-26 20:09:03 +03:00
Alexander Alekhin
af9ded89d0
core: fix build getNumberOfCPUs for JavaScript
2020-02-26 18:54:23 +03:00
Alexander Alekhin
c13a62ce10
Merge pull request #16638 from mshabunin:use-safe-buffers
2020-02-26 14:54:57 +00:00
Ganesh Kathiresan
09df7810d1
Merge pull request #16457 from ganesh-k13:bugfix/getCPUCount-fix
...
* Fixed getCPUCount
Minor new line changes
Android fix | efficient linux checks
Android fix 2
Fixed cpu logic for non linux platforms
Android fix 3
Android fix 4
* No v1 case handle | Refactor long lines
* Refined Cgroups logic | Combine Android and Linux
* Fixed directives
* Added support for --cpus | Fixed minor bug in Andriod | Change file read logic
* Added macro checks for apple errors
* Fixed macro to include android
* Addressed review comments
* Fixed android macro
* Refined return values
* Fixed apple warning
* Addressed review comments
* Fixed whitespace
* Android Fix try 1
* Android Fix try 2
* Android Fix try 3
* Removed unwanted endif
* Android Fix try 4
* Android Fix try 5
* Macro Restructure
* core: updates to CPUs detection (minor)
2020-02-26 17:48:50 +03:00
Alexander Alekhin
f48c84eaee
Merge pull request #16656 from alalek:issue_16655
2020-02-26 12:47:46 +00:00
Peter Würtz
53c0189ed7
Allow access to CUDA memory and stream pointers for interoperability.
2020-02-26 11:11:03 +01:00
Maksim Shabunin
bf96d8239d
Use BufferArea in more places
2020-02-26 11:45:19 +03:00
Alexander Alekhin
d54d01ca46
core(MatExpr): fix .type() bug
2020-02-23 17:05:05 +00:00
Alexander Alekhin
01048e5603
Merge pull request #16616 from alalek:dnn_fix_input_shape
...
* dnn: fix processing of input shapes
- importer: avoid using of .setInput() => .setInputShape()
- setInput: shape limitation check (partial)
* dnn(test): test .setInput() in readNet()
2020-02-21 22:39:54 +03:00
Vadim Pisarevsky
07b475062f
Merge pull request #16608 from vpisarev:fix_mac_ocl_tests
...
* fixed several problems when running tests on Mac:
* OCL_pyrUp
* OCL_flip
* some basic UMat tests
* histogram badarg test (out of range access)
* retained the storepix fix in ocl_flip only for 16U/16S datatype, where the OpenCL compiler on Mac generates incorrect code
* moved deletion of ACCESS_FAST flag to non-SVM branch (where SVM is shared virtual memory (in OpenCL 2.x), not support vector machine)
* force OpenCL to use read/write for GPU<=>CPU memory transfers on machines with discrete video only on Macs. On Windows/Linux the drivers are seemingly smart enough to implement map/unmap properly (and maybe more efficiently than explicit read/write)
2020-02-21 16:13:41 +03:00
Alexander Alekhin
96b26dc8f4
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-02-20 19:47:27 +03:00
atinfinity
f81fdd58da
Merge pull request #16445 from atinfinity:fixed-typo
...
* fixed typo
* add compatibility code to handle migration
2020-02-16 19:16:33 +03:00
Vadim Pisarevsky
3efa78311a
Merge pull request #16488 from vpisarev:filestorage_longlines
...
trying to fix handling file storages with extremely long lines
* trying to fix handling of file storages with extremely long lines: https://github.com/opencv/opencv/issues/11061
* * fixed errorneous pointer access in JSON parser.
* it's now crash-test time! temporarily set the initial parser buffer size to just 40 bytes. let's run all the test and check if the buffer is always correctly resized and handled
* fixed pointer use in JSON parser; added the proper test to catch this case
* fixed the test to make it more challenging. generate test json with
*
**
***
etc. shape
2020-02-11 18:46:15 +03:00
Alexander Alekhin
aa2777ed61
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-02-10 19:40:29 +03:00
Alexander Smorkalov
bd6ab6d38e
Implemented BASE64 support in cv::FileStorage parser.
2020-02-10 11:38:19 +03:00
Alexander Alekhin
eb14f9a464
Merge pull request #16463 from alalek:core_strong_ptr_alignment
2020-02-08 19:45:43 +00:00
Maksim Shabunin
55cdeaa6dd
BufferArea: initial version, usage in StereoBM
...
New class BufferArea is used to hide complexity of buffers allocations and allow instrumentation with valgrind and sanitizers.
2020-02-07 14:57:36 +03:00
Alexander Alekhin
a4bd7506a5
core: CV_STRONG_ALIGNMENT macro
...
Should be used to guard unsafe type casts of pointers
2020-01-29 18:44:17 +03:00
Alexander Alekhin
560f85f8e5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-01-28 14:26:57 +03:00
Alexander Alekhin
e83438c23d
core(build): fix i386 compilation
2020-01-26 00:00:25 +00:00
Chip Kerchner
4d2da2debe
Merge pull request #16375 from ChipKerchner:vectorizeMultTranspose
...
* Reduce LLC loads, stores and multiplies on MulTransposed - 8% faster on VSX
* Add is_same method so c++11 is not required
* Remove trailing whitespaces.
* Change is_same to DataType depth check
2020-01-24 18:00:49 +03:00
Alexander Alekhin
3d14dd4e39
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-01-22 16:58:30 +03:00
Chip Kerchner
301626ba26
Merge pull request #15488 from ChipKerchner:vectorizeMinMax2
...
Vectorize minMaxIdx functions
* Updated documentation and intrinsic tests for v_reduce
* Add other files back in from the forced push
* Prevent an constant overflow with v_reduce for int8 type
* Another alternative to fix constant overflow warning.
* Fix another compiler warning.
* Update comments and change comparison form to be consistent with other vectorized loops.
* Change return type of v_reduce_min & max for v_uint8 and v_uint16 to be same as lane type.
* Cast v_reduce functions to int to avoid overflow. Reduce number of parameters in MINMAXIDX_REDUCE macro.
* Restore cast type for v_reduce_min & max to LaneType
2020-01-17 19:37:35 +03:00
Alexander Alekhin
fb61f88b9c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2020-01-12 09:35:39 +00:00
Alexander Alekhin
e180cc050b
Merge pull request #16236 from alalek:fix_core_simd_emulator
...
* core: fix intrin_cpp, allow to build modules with SIMD emulator
* core(arithm): fix v_zero initialization
* core(simd): 'strict' types for binary/bitwise operations
* features2d: avoid aligned load issue in GCC 5.4 with emulated SIMD
* core(simd): alignment checks in SIMD emulator
2020-01-10 21:31:02 +03:00
Nuzhny007
7d484d21f7
Fixed compilation on windows with openvx
2020-01-06 06:32:56 +03:00
Alexander Alekhin
523f081923
core(check): add Size_<int>
2019-12-28 13:50:39 +00:00
Brian Wignall
f9c514b391
Fix spelling typos
...
backport commit 659ffaddb4
2019-12-27 12:46:53 +00:00
Brian Wignall
659ffaddb4
Fix spelling typos
2019-12-26 06:45:03 -05:00
shimat
ee4feb4b09
Merge pull request #16208 from shimat:fix_compare_16f
...
* add cv::compare test when Mat type == CV_16F
* add assertion in cv::compare when src.depth() == CV_16F
* cv::compare assertion minor fix
* core: add more checks
2019-12-20 16:38:51 +03:00
Alexander Alekhin
4c86fc13cb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-12-19 15:09:05 +03:00
Alexander Alekhin
dff8e29f98
Merge pull request #16139 from alalek:core_flip_avoid_unaligned
2019-12-19 10:29:07 +00:00
Alexander Alekhin
8d22ac200f
core: workaround flipHoriz() alignment issues
2019-12-19 00:05:23 +00:00
Alexander Alekhin
c6c8783c60
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-12-16 21:30:30 +00:00
Tatsuro Shibamura
971ae00942
Merge pull request #16027 from shibayan:arm64-windows10
...
* Support ARM64 Windows 10 platform
* Fixed detection issue for ARM64 Windows 10
* Try enabling ARM NEON intrin
* build: disable NEON with MSVC compiler
* samples(directx): gdi32 dependency
2019-12-17 00:23:30 +03:00
Alexander Alekhin
ba7b0f4c54
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-12-15 11:23:46 +00:00
RAJKIRAN NATARAJAN
e6ce752da1
Merge pull request #15966 from saskatchewancatch:issue-15760
...
Add checks for empty operands in Matrix expressions that don't check properly
* Starting to add checks for empty operands in Matrix expressions that
don't check properly.
* Adding checks and delcarations for checker functions
* Fix signatures and add checks for each class of Matrix Expr operation
* Make it catch the right exception
* Don't expose helper functions to public API
2019-12-12 19:23:57 +03:00
Alexander Alekhin
92b9888837
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-12-12 13:02:19 +03:00
Alexander Alekhin
816f82682b
core(trace/itt): avoid calling __itt_thread_set_name() by default
...
- don't override current application thread names
- set name for own threads only
2019-12-07 21:41:15 +00:00
Alexander Alekhin
8108fb0575
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-12-05 18:27:45 +03:00
Alexander Alekhin
72f35e0626
Merge pull request #16052 from alalek:issue_16040
...
* calib3d: use normalized input in solvePnPGeneric()
* calib3d: java regression test for solvePnPGeneric
* calib3d: python regression test for solvePnPGeneric
2019-12-05 15:36:39 +03:00
Alexander Alekhin
818585fd12
core(tls): unblock TlsAbstraction destructor call
...
- required to unregister callbacks from system
2019-12-04 08:27:01 +00:00
Alexander Alekhin
ad0ab4109a
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-11-22 22:47:13 +00:00
Alexander Alekhin
50ac880335
Merge pull request #15971 from alalek:core_kmeans_handle_overflow
2019-11-22 21:36:02 +00:00
Natsu
54e6f5c237
Merge pull request #15970 from akemimadoka:master
...
* Fix android armv7 c++_static init crash
* core: move initialization of 'ios_base::Init' for Android
2019-11-22 18:42:25 +03:00
Alexander Alekhin
3266ac7667
core(kmeans): bailout if can't select cluster center
2019-11-22 14:40:02 +00:00
Alexander Alekhin
fc41c18c6f
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-11-18 13:56:24 +03:00
Alexander Alekhin
7ecdcf6ca6
build: GCC9 compilation
2019-11-12 18:49:34 +03:00
Alexander Alekhin
b6a58818bb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-11-11 20:25:42 +00:00
Alexander Alekhin
f42d5399aa
core(persistence): add more checks for implementation limitations
2019-11-07 14:19:00 +03:00
Igor Murzov
cdbfdcc363
Fix OpenCL device detection when some OpenCL platform has no devices
...
It's not an error if some OpenCL platform has no devices. This makes
OpenCL device detection work correctly in the following scenario:
$ OPENCV_OPENCL_DEVICE=:GPU: ./opencv_test_dnn
OpenCV version: 4.1.2-dev
OpenCV VCS version: 4.1.2-80-g467748ee98-dirty
Build type: Debug
Compiler: /usr/bin/g++ (ver 7.4.0)
Parallel framework: pthreads
CPU features: SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?
Intel(R) IPP version: ippIP AVX2 (l9) 2019.0.0 Gold (-) Jul 24 2018
OpenCL Platforms:
AMD Accelerated Parallel Processing
Portable Computing Language
CPU: pthread-AMD Ryzen 7 2700X Eight-Core Processor (OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-znver1)
NVIDIA CUDA
dGPU: GeForce GTX 1080 (OpenCL 1.2 CUDA)
Current OpenCL device:
Type = dGPU
Name = GeForce GTX 1080
Version = OpenCL 1.2 CUDA
Driver version = 430.26
2019-11-05 20:02:39 +03:00
Alexander Alekhin
dcf72e49e2
core(persistence): fix processing of multiple documents
2019-11-05 18:28:15 +03:00
Alexander Alekhin
0d7f770996
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-11-04 09:58:29 +00:00
yuriyluxriot
4e156a162f
Merge pull request #15812 from yuriyluxriot:fls_replaces_tls
...
* Use FlsAlloc/FlsFree/FlsGetValue/FlsSetValue instead of TlsAlloc/TlsFree/TlsGetValue/TlsSetValue to implment TLS value cleanup when thread has been terminated on Windows Vista and above
* Fix 32-bit build
* Fixed calling convention of cleanup callback
* WINAPI changed to NTAPI
* Use proper guard macro
2019-11-01 22:33:12 +03:00
Chip Kerchner
ed7e4273cd
Merge pull request #15555 from ChipKerchner:flipVectorize
...
* Vectorize flipHoriz and flipVert functions.
* Change v_load_mirror_1 to use vec_revb for VSX
* Only use vec_revb in ISA3.0
* Removing vec_revb code since some of the older compilers don't fully support it.
* Use new v_reverse intrinsic and cleanup code.
* Ensure there are no alignment issues with copies
2019-11-01 22:30:48 +03:00
Alexander Alekhin
ea5499fa51
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-29 20:46:51 +00:00
Alexander Alekhin
bad4e5c3eb
Merge pull request #15692 from alalek:core_tls_handle_thread_termination
2019-10-29 20:40:35 +00:00
Alexander Alekhin
6ec5ae0215
core(trace): add ITT control parameter
...
- OPENCV_TRACE_ITT_ENABLE
2019-10-26 15:03:51 +00:00
Alexander Alekhin
055ffc0425
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-24 18:21:19 +00:00
Alexander Alekhin
17e2bf5717
core(tls): implement releasing of TLS on thread termination
...
- move TLS & instrumentation code out of core/utility.hpp
- (*) TLSData lost .gather() method (to dispose thread data on thread termination)
- use TLSDataAccumulator for reliable collecting of thread data
- prefer using of .detachData() + .cleanupDetachedData() instead of .gather() method
(*) API is broken: replace TLSData => TLSDataAccumulator if gather required
(objects disposal on threads termination is not available in accumulator mode)
2019-10-24 06:36:18 +00:00
Alexander Alekhin
938d8dce06
Merge pull request #15685 from pmur:cnz64f-simd
2019-10-18 20:19:40 +00:00
Alexander Alekhin
ad5d14ec0e
Merge pull request #15701 from alalek:issue_15691
2019-10-16 11:13:07 +00:00
Alexander Alekhin
823884b064
core(alloc): force initialization of memalign flag
...
- before main() launch
2019-10-15 13:07:11 +03:00
Alexander Alekhin
6a7d1c15d3
core(ipp): skip huge input in flip()
...
- IPP/SSE4.2 works well
2019-10-14 18:26:19 +03:00
Alexander Alekhin
e42560bed5
Merge pull request #15659 from malfet:use-atomic-in-getExpTab32f
2019-10-12 20:27:58 +00:00
Alexander Alekhin
d6630ab35b
Merge pull request #15655 from malfet:use-atomic-in-parallel-for
2019-10-12 20:26:15 +00:00
Paul E. Murphy
ec91a3d59d
core: vectorize countNonZero64f
...
Improves performance a bit. 2.2x on P9 and 2 - 3x on coffee lake
x86-64.
2019-10-11 09:02:46 -05:00
Alexander Alekhin
65573784c4
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-09 19:46:18 +00:00
Maksim Shabunin
1ca74c3c03
Merge pull request #15544 from mshabunin:disable_posix_memalign
...
* Disable posix_memalign by default
* core: fix memalign parameter handling
2019-10-09 14:06:12 +03:00
Marcin Tolysz
3fd36c1be1
Merge pull request #15658 from tolysz:patch-1
...
* Cuda + OpenGL on ARM
There might be multiple ways of getting OpenCV compile on Tegra (NVIDIA Jetson) platform, but mainly they modify CUDA(8,9,10...) source code, this one fixes it for all installations.
( https://devtalk.nvidia.com/default/topic/1007290/jetson-tx2/building-opencv-with-opengl-support-/post/5141945/#5141945 et al.).
This way is exactly the same as the one proposed but the code change happens in OpenCV.
* Updated,
The link provided mentions: cuda8 + 9, I have cuda 10 + 10.1 (and can confirm it is still defined this way).
NVIDIA is probably using some other "secret" backend with Jetson.
2019-10-09 11:38:10 +03:00
Nikita Shulga
ec37364762
Use std::atomic in getExpTab32f and getLogTab32f
...
Reads and writes to volatile bool are not guaranteed to be atomic.
2019-10-07 16:35:07 -07:00
Nikita Shulga
23288b7cb5
Use atomic operations to modify flagNestedParallelFor
...
This ensures uniform behavior on any C++11 compliant compiler
2019-10-07 16:26:30 -07:00
Sayed Adel
f2fe6f40c2
Merge pull request #15510 from seiko2plus:issue15506
...
* core: rework and optimize SIMD implementation of dotProd
- add new universal intrinsics v_dotprod[int32], v_dotprod_expand[u&int8, u&int16, int32], v_cvt_f64(int64)
- add a boolean param for all v_dotprod&_expand intrinsics that change the behavior of addition order between
pairs in some platforms in order to reach the maximum optimization when the sum among all lanes is what only matters
- fix clang build on ppc64le
- support wide universal intrinsics for dotProd_32s
- remove raw SIMD and activate universal intrinsics for dotProd_8
- implement SIMD optimization for dotProd_s16&u16
- extend performance test data types of dotprod
- fix GCC VSX workaround of vec_mule and vec_mulo (in little-endian it must be swapped)
- optimize v_mul_expand(int32) on VSX
* core: remove boolean param from v_dotprod&_expand and implement v_dotprod_fast&v_dotprod_expand_fast
this changes made depend on "terfendail" review
2019-10-07 22:01:35 +03:00
Suleyman TURKMEN
c0489963bb
Update copy.cpp
2019-10-07 11:59:52 +03:00
Alexander Alekhin
626bfbf309
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-05 15:45:31 +00:00
Alexander Alekhin
98fc098216
Merge pull request #15646 from alalek:fix_avx512_detection
2019-10-05 15:30:09 +00:00
Alexander Alekhin
22d0c57a1c
Merge pull request #15602 from alalek:core_softfloat_ubsan_shift
2019-10-05 15:27:35 +00:00
Alexander Alekhin
bdc097495a
fix avx512 detection
...
- renamed Cascade Lake AVX512_CEL => AVX512_CLX (align with Intel SDE tool)
- fixed CLX instruction sets (no IFMA/VBMI)
- added flag to bypass CPU baseline check: OPENCV_SKIP_CPU_BASELINE_CHECK
2019-10-05 11:03:57 +00:00
Alexander Alekhin
3fb6617d62
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-10-02 17:49:19 +03:00
Alexander Alekhin
77346d7286
core: workaround transform() inplace calls
2019-10-01 16:52:14 +03:00
Alexander Alekhin
ed9bca969c
core: fix UBSAN in softfloat
2019-09-27 16:29:50 +03:00
Alexander Alekhin
bc927f9788
Merge pull request #15591 from alalek:core_persistence_fix
2019-09-26 12:59:37 +00:00
Alexander Alekhin
e2a5a6a05c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-09-25 18:32:44 +00:00
Alexander Alekhin
677b94c92e
Merge pull request #15579 from alalek:ocl_use_host_mem_ptr_flag
2019-09-25 15:12:59 +00:00
Alexander Alekhin
eacadf0e73
core(ocl): add flag OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR
...
to control CL_MEM_USE_HOST_PTR usage
2019-09-25 15:12:36 +03:00
Alexander Alekhin
6e246ee58c
core(persistence): fix reserveNodeSpace() implementation
...
- avoid data copying after buffer block shrink
- resize current block in case of single FileNode
2019-09-25 15:02:20 +03:00
Wenzhao Xiang
c2096771cb
Merge pull request #15371 from Wenzhao-Xiang:gsoc_2019
...
[GSoC 2019] Improve the performance of JavaScript version of OpenCV (OpenCV.js)
* [GSoC 2019]
Improve the performance of JavaScript version of OpenCV (OpenCV.js):
1. Create the base of OpenCV.js performance test:
This perf test is based on benchmark.js(https://benchmarkjs.com ). And first add `cvtColor`, `Resize`, `Threshold` into it.
2. Optimize the OpenCV.js performance by WASM threads:
This optimization is based on Web Worker API and SharedArrayBuffer, so it can be only used in browser.
3. Optimize the OpenCV.js performance by WASM SIMD:
Add WASM SIMD backend for OpenCV Universal Intrinsics. It's experimental as WASM SIMD is still in development.
* [GSoC2019]
1. use short license header
2. fix documentation node issue
3. remove the unused `hasSIMD128()` api
* [GSoC2019]
1. fix emscripten define
2. use fallback function for f16
* [GSoC2019]
Fix rebase issue
2019-09-24 16:30:42 +03:00
Alexander Alekhin
a74fe2ec01
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-09-20 21:11:49 +00:00
mipsopen-fwu
b1ea91d8bd
Merge pull request #15422 from mipsopen-fwu:msa-dev
...
* Added MSA implementations for mips platforms. Intrinsics for MSA and build scripts for MIPS platforms are added.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* Removed some unused code in mips.toolchain.cmake.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* Added comments for mips toolchain configuration and disabled compiling warnings for libpng.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* Fixed the build error of unsupported opcode 'pause' when mips isa_rev is less than 2.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* 1. Removed FP16 related item in MSA option defines in OpenCVCompilerOptimizations.cmake.
2. Use CV_CPU_COMPILE_MSA instead of __mips_msa for MSA feature check in cv_cpu_dispatch.h.
3. Removed hasSIMD128() in intrin_msa.hpp.
4. Define CPU_MSA as 150.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* 1. Removed unnecessary CV_SIMD128_64F guarding in intrin_msa.hpp.
2. Removed unnecessary CV_MSA related code block in dotProd_8u().
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* 1. Defined CPU_MSA_FLAGS_ON as "-mmsa".
2. Removed CV_SIMD128_64F guardings in intrin_msa.hpp.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
* Removed unused msa_mlal_u16() and msa_mlal_s16 from msa_macros.h.
Signed-off-by: Fei Wu <fwu@wavecomp.com>
2019-09-20 19:52:48 +03:00
Alexander Alekhin
bea2c75452
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-09-05 14:29:22 +03:00
Alexander Alekhin
0a13633411
Merge pull request #15444 from alalek:ocl_fix_fft_kernel
2019-09-04 16:25:34 +00:00
Alexander Alekhin
8bd2720c28
core(ocl): fix fft kernel compilation
...
- error: variables in the local address space can only be declared in the outermost scope of a kernel function
2019-09-03 15:46:53 +03:00
David Carlier
6769ee3748
OpenCL: FreeBSD build fix
2019-09-02 18:30:53 +01:00
Alexander Alekhin
048ddbf9ee
Merge pull request #15339 from pmur:dotprod-32s-vsx
2019-08-31 11:16:04 +00:00
Alexander Alekhin
2a6527e751
Merge pull request #15402 from ChipKerchner:normUnroll
2019-08-31 11:10:05 +00:00
ChipKerchner
288e6f9c07
Improve vectorization in the 'norm' functions
2019-08-27 12:15:19 -05:00
Alexander Alekhin
a7b954f655
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-08-23 19:24:37 +03:00
Kazuma Furuhashi
ccecd3405a
Merge pull request #15007 from 284km:fixatypo
...
s/last_occurence/last_occurrence/
2019-08-22 17:32:25 +03:00
Alexander Alekhin
8b1fe8f6e0
core: fix stat SIMD code
2019-08-22 16:37:26 +03:00
Alexander Alekhin
4700722444
Merge pull request #15359 from mgehre:fix_dangling_pointer
2019-08-21 11:38:36 +00:00
Matthias Gehre
0e92ac2af7
modules/core/src/ocl.cpp: Fix dangling pointer
...
Detected by clang trunk:
```
opencv/modules/core/src/ocl.cpp:4337:37: warning: object backing the pointer will be destroyed at the end of the full-expression [-Wdangling]
CV_OCL_CHECK_RESULT(retval, cv::format("clCreateBuffer(capacity=%lld) => %p", (long long int)entry.capacity_, (void*)entry.clBuffer_).c_str());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
opencv/modules/core/src/ocl.cpp:193:42: note: expanded from macro 'CV_OCL_CHECK_RESULT'
if (0) { const char* msg_ = (msg); CV_UNUSED(msg_); /* ensure const char* type (cv::String without c_str()) */ } \
```
because `cv::format` yields a temporary std::string, and thus `msg_` points to a destroyed buffer.
2019-08-20 23:30:34 +02:00
Paul E. Murphy
33fb253a66
core: vectorize dotProd_32s
...
Use 4x FMA chains to sum on SIMD 128 FP64 targets. On
x86 this showed about 1.4x improvement.
For PPC, do a full multiply (32x32->64b), convert to DP
then accumulate. This may be slightly less precise for
some inputs. But is 1.5x faster than the above which
is about 1.5x than the FMA above for ~2.5x speedup.
2019-08-20 15:28:36 -05:00
luz.paz
fcc7d8dd4e
Fix modules/ typos
...
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
backporting of commit: ec43292e1e
2019-08-16 17:34:29 +03:00
luz.paz
ec43292e1e
Fix modules/ typos
...
Found using `codespell -q 3 -S ./3rdparty -L activ,amin,ang,atleast,childs,dof,endwhile,halfs,hist,iff,nd,od,uint`
2019-08-15 18:02:09 -04:00
Alexander Alekhin
2ad0487cec
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-08-13 18:32:29 +00:00
Hugo Lindström
935067ee05
Merge pull request #15265 from hugolm84:wince-armv7-supports-neon
...
* WINCE 8.0 requires ARMv7 Thumb2 and thus have NEON instructions
* Only add NEON if on _ARM_
2019-08-09 18:01:37 +03:00
Alexander Alekhin
174b4ce29d
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-08-05 18:11:43 +00:00
Victor Romero
987bb2ca61
Fix build for UWP
...
backport of commit: f18cbd036a
2019-08-05 17:19:36 +03:00
Thang Tran
d659eb9327
core: fixed error message to avoid confusion
2019-08-04 17:17:03 +02:00
Victor Romero
f18cbd036a
Merge pull request #15207 from vicroms:fix-uwp-build
...
Fix build for UWP (#15207 )
* Guard non-WinRT calls to fix UWP build
* Remove unnecessary guard for WinRT
2019-08-03 22:53:38 +03:00
Alexander Alekhin
ba934ff1ce
Merge pull request #15202 from hugolm84:support_build_shared_for_wince
2019-08-02 15:34:02 +00:00
Hugo Lindström
03fe1cb7fc
Support building shared libraries on WINCE.
2019-08-01 15:28:04 +02:00
Maksim Shabunin
6d5ac67681
Restored IPP call reduction
2019-07-31 15:41:22 +03:00
Alexander Alekhin
0cf479dd5c
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-07-25 19:21:47 +00:00
Chip Kerchner
0db4fb1835
Merge pull request #15136 from ChipKerchner:dotProd_unroll
...
* Unroll multiply and add instructions in dotProd_32f - 35% faster.
* Eliminate unnecessary v_reduce_sum instructions.
2019-07-25 21:21:32 +03:00
Alexander Alekhin
5691d998ea
core(persistence): added null ptr checks
2019-07-25 15:14:22 +03:00
Hugo Lindström
2ee00e7f7d
Merge pull request #15059 from hugolm84:improved-support-for-wince
...
* Improve support for Windows Embedded Compact
* Remove redundant set(WINCE true) and format CMake
2019-07-24 23:12:09 +03:00
Alexander Alekhin
4ea8526e9f
core(persistence): fix writeRaw() / readRaw() struct support
...
- writeRaw(): support structs
- readRaw(): 'len' is buffer limit in bytes (documentation is fixed)
2019-07-16 14:03:39 +03:00
Alexander Alekhin
c3b838b738
core(persistence): struct storage layout without alignment gaps
2019-07-15 21:37:20 +00:00
Alexander Alekhin
b95e93c20a
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-26 20:19:04 +00:00
Alexander Alekhin
4a6888ccf6
imgproc: fix kmeans() call from grabCut()
2019-06-25 13:42:04 +03:00
Alexander Alekhin
7b099e0fe2
videoio: plugins support on Win32
2019-06-16 15:25:25 +00:00
Alexander Alekhin
f8791f072d
core: avoid function type cast, make happy UBSAN
...
backporting of commit: d3d13c41c4
2019-06-11 19:36:47 +00:00
Alexander Alekhin
6c8ffe81d0
core: repair default log level
2019-06-11 19:19:10 +03:00
Alexander Alekhin
d3d13c41c4
core: avoid function type cast, make happy UBSAN
...
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14115
2019-06-11 07:06:29 +00:00
Alexander Alekhin
11b020b9f9
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-10 19:05:28 +00:00
Alexander Alekhin
6d916c5bb4
Merge pull request #14440 from alalek:async_array
2019-06-08 20:57:15 +00:00
Alexander Alekhin
ddcf388270
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-07 19:02:55 +03:00
Alexander Alekhin
f3de2b4be7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-06-05 19:11:52 +03:00
Ahmed Ashour
1aca1d582e
Fix some typos
2019-06-05 12:24:13 +02:00
Ted Steiner
f1fb002682
Merge pull request #14678 from tedsteiner:qnx
...
Fix build issue on QNX platform (#14678 )
* QNX compatibility
* core: unify gettimeofday() usage
2019-06-04 19:45:21 +03:00
Alexander Alekhin
9340af1a8a
core: Async API / AsyncArray
2019-05-18 19:32:23 +00:00
Alexander Alekhin
e21262deba
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-05-16 04:40:39 +00:00
Alexander Alekhin
84fd8190f3
Merge pull request #14232 from terfendail:popcount_rework
2019-05-15 17:58:11 +00:00
Vitaly Tuzov
7a55f2af3b
Updated AVX2 implementation of v_popcount for u8.
2019-05-15 19:39:25 +03:00
Daniel Ingram
962d57b4d6
Merge pull request #14559 from daniel-s-ingram:master
...
* Fix typo: 'divisble' -> 'divisible'
* Fix typo: 'One of arguments' -> 'One of the arguments'
2019-05-15 18:41:43 +03:00
Vitaly Tuzov
1220dd4877
Updated v_popcount description, reference implementation and test.
2019-05-14 18:59:40 +03:00
Vitaly Tuzov
96ab78dc4f
Reworked v_popcount implementation to provide number of bits in a single lane
2019-05-14 18:59:38 +03:00
Alexander Alekhin
b2abd8ca41
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-05-07 16:04:54 +00:00
Sayed Adel
5a77f4cee3
Merge pull request #14007 from seiko2plus:core_avx512_infa
...
* core: improve AVX512 infrastructure by adding more CPU features groups
* cmake: use groups for AVX512 optimization flags
* core: remove gap in CPU flags enumeration
* cmake: restore default CPU_DISPATCH
2019-05-05 14:19:49 +03:00
Alexander Alekhin
d0032b0717
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-22 18:17:28 +00:00
masa-iwm
5c404bb142
Merge pull request #14376 from masa-iwm:3.4
...
* fix getting platformIDs in initializeContextFromD3D11Device
2019-04-22 18:50:31 +03:00
Alexander Alekhin
44bd849697
build: reduce usage of constexpr
...
some compilers has lack of proper support for that
2019-04-22 15:41:27 +03:00
Ryan Wong
8af96248bf
Merge pull request #13909 from kinchungwong:logging_20190220
...
OE-11 Logging revamp (#13909 )
* Initial commit for log tag support.
Part of #11003 , incomplete. Should pass build.
Moved LogLevel enum to logger.defines.hpp
LogTag struct used to convey both name and log level threshold as
one argument to the new logging macro. See logtag.hpp file, and
CV_LOG_WITH_TAG macro.
Global log level is now associated with a global log tag, when a
logging statement doesn't specify any log tag. See getLogLevel and
getGlobalLogTag functions.
A macro CV_LOGTAG_FALLBACK is allowed to be re-defined by other modules
or compilation units, internally, so that logging statements inside
that unit that specify NULL as tag will fall back to the re-defined tag.
Line-of-code information (file name, line number, function name),
together with tag name, are passed into the new log message sink.
See writeLogMessageEx function.
Fixed old incorrect CV_LOG_VERBOSE usage in ocl4dnn_conv_spatial.cpp.
* Implemented tag-based log filtering
Added LogTagManager. This is an initial version, using standard C++
approach as much as possible, to allow easier code review. Will
optimize later.
A workaround for all static dynamic initialization issues is
implemented. Refer to code comments.
* Added LogTagConfigParser.
Note: new code does not fully handle old log config parsing behavior.
* Fix log tag config vs registering ordering issue.
* Started testing LogTagConfigParser, incomplete.
The intention of this commit is to illustrate the capabilities of
the current design of LogTagConfigParser.
The test contained in this commit is not complete. Also, design changes
may require throwing away this commit and rewriting test code from
scratch.
Does not test whitespace segmentation (multiple tags on the config);
will do in next commit.
* Added CV_LOGTAG_EXPAND_NAME macro
This macro allows to be re-defined locally in other compilation units
to apply a prefix to whatever argument is passed as the "tag" argument
into CV_LOG_WITH_TAG. The default definition in logger.hpp does not
modify the argument. It is recommended to include the address-of
operator (ampersand) when re-defined locally.
* Added a few tests for LogTagManager, some fail.
See test_logtagmanager.cpp
Failed tests are: non-global ("something"), setting level by name-part
(first part or any part) has no effect at all.
* LogTagManagerTests substring non-confusion tests
* Fix major bugs in LogTagManager
The code change is intended to approximate the spec documented in
https://gist.github.com/kinchungwong/ec25bc1eba99142e0be4509b0f67d0c6
Refer to test suite in test_logtagmanager.cpp
Filter test result in "opencv_test_core" ...
with gtest_filter "LogTagManager*"
To see the test code that finds the bugs, refer to original commits
(before rebase; might be gone)
.. f3451208 (2019-03-03T19:45:17Z)
.... LogTagManagerTests substring non-confusion tests
.. 1b848f5f (2019-03-03T01:55:18Z)
.... Added a few tests for LogTagManager, some fail.
* Added LogTagManagerNamePartNonConfusionTest.
See test_logtagmanager.cpp in modules/core/test.
* Added LogTagAuto for auto registration in ctor
* Rewritten LogTagManager to resolve issues.
* Resolves code review issues around 2019-04-10
LogTagConfigParser::parseLogLevel - as part of resolving code review
issues, this function is rewritten to simplify control flow and to
improve conformance with legacy usage (for string values "OFF",
"DISABLED", and "WARNINGS").
2019-04-22 00:01:10 +03:00
Alexander Alekhin
4635356435
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-13 20:00:54 +00:00
Alexander Alekhin
b38de57f9a
ts: test tags for flexible/reliable tests filtering
...
- added functionality to collect memory usage of OpenCL sybsystem
- memory usage of fastMalloc() (disabled by default):
* It is not accurate sometimes - external memory profiler is required.
- specify common `CV_TEST_TAG_` macros
- added applyTestTag() function
- write memory usage / enabled tags into Google Tests output file (.xml)
2019-04-08 19:12:49 +00:00
Alexander Alekhin
33dde339fe
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-04-01 18:11:55 +03:00
Alexander Alekhin
1e583942b9
core(lda): don't perform calculations in constructor
...
- exceptions from constructor will not cause destructor calls
2019-03-31 21:48:44 +00:00
David Carlier
06a4c20f60
OpenBSD build fix
...
required for close calls.
2019-03-31 10:54:47 +01:00
Alexander Alekhin
7442100caa
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-29 19:29:36 +00:00
Alexander Alekhin
d6b82dcd65
Merge pull request #14162 from alalek:eliminate_coverity_scan_issues
...
core: eliminate coverity scan issues (#14162 )
* core(hal): avoid using of r,g,b,a parameters in interleave/deinterleave
- static analysis tools blame on possible parameters reordering
- align AVX parameters with corresponding SSE/NEO/VSX/cpp code
* core: avoid "i,j" parameters in Matx methods
- static analysis tools blame on possible parameters reordering
* core: resolve coverity scan issues
2019-03-27 15:48:00 +03:00
Alexander Alekhin
5368a4ac41
Merge pull request #14102 from alalek:core_refactor_eigenvalues
2019-03-27 12:46:51 +00:00
Alexander Alekhin
90df5e00b4
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-26 18:56:54 +00:00
Alexander Alekhin
6686559c70
ocl: define CL_SILENCE_DEPRECATION on MacOSX
2019-03-26 13:11:53 +03:00
iPanda
097fc1a271
Merge pull request #13972 from Mainvooid:add_cuda_support_for_D3D11_interop
...
* Add CUDA support for D3D11 interop. #13888
color_detail.hpp: fixed build error : dynamic initialization is not supported for a __constant__ variable.
directx.cpp: Add CUDA support(cl_nv_d3d11_sharing) for D3D11 interop. #13888
Update directx.cpp
Format adjustment.
Update directx.cpp
fix error.
Update directx.cpp
Format adjustment
Update directx.cpp
fix trailing whitespace.
fix format errors
convert indentation to spaces .
Trim trailing whitespace.
Add information about source of cl_d3d11_ext.h
Avoid unrelated changes.
Increase compile-time conditional judgment.
Increase the judgment of whether the OCL device has the required extensions at compile time.
Add compilation option `HAVE_CLNVEXT`.Check CL support in runtime.
Check result of `clGetExtensionFunctionAddressForPlatform` for KHR is invalid.It always can get the address(from OpenCL.dll),So I check NV support(from nvopencl64.dll) before KHR when `HAVE_CLNVEXT` is enabled.
Delete cl_d3d11_ext.h
Modified parameter list
fix "cannot open include file: 'CL/cl_d3d11_ext.h'"
remove not referenced var
fix C2143: syntax error
Improve compile-time judgment.
dlrectx.cpp Modify the detection order.
initializeContextFromD3D11Device:
```
// try with NV(Need to check it first)
// try with KHR
```
fix warnig C4100
Revert "fix warnig C4100"
This reverts commit 76e5becb67780071d0cbde61cc4f5f807ad7c5ac.
fix warning C4100
fix warning C4505
Format alignment
Format adjustment and automatically detect header files.
Automatically detect header files when users are not configured or configuration errors occur.
avoid unrelated changes.
Update .cmake
Update .cmake
* fix build errors
* fix warning:defined but not used
* Revert "fix warning:defined but not used"
This reverts commit 7ab3537cd0
.
* fix warning:defined but not used
* fix build error for mac
* fix build error for win
* optimizing branch judgment
* Revert "optimizing branch judgment"
This reverts commit 88b72b870e
.
* fix warning C4702: unreachable code
* remove unused code
* Fix problems that may lead to undefined behavior
* Add status check
* fix error C2664,C2665 : cannot convert argument
* Format adjustment
VSCODE will automatically format the indentation to 4 spaces in some situation.
* fix error C2440
* fix error C2440
* add cl_d3d11_ext.h
* Format adjustment
* remove unnecessary checks
2019-03-24 18:34:09 +03:00
Alexander Alekhin
8c25a8eb7b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-22 19:31:31 +03:00
Alexander Alekhin
a8e635f177
Merge pull request #14069 from terfendail:transform_wintr
2019-03-20 15:39:40 +00:00
Vitaly Tuzov
d43597c199
transform() implementation updated to utilize wide universal intrinsics
2019-03-18 20:33:19 +03:00
Alexander Alekhin
6e90b85cae
core: cache dir version update
2019-03-18 19:17:54 +03:00
Alexander Alekhin
5451b89aed
core: refactor EigenvalueDecomposition (hqr2)
...
- fix resource allocation management
- reduce variables scope
- fix complex_div
- fix comments, constants
- simplify add/sub operations
2019-03-18 19:07:34 +03:00
Alexander Alekhin
a7c4ee9ae1
core: add iterations limit check in eigenNonSymmetric()
2019-03-18 17:49:17 +03:00
Alexander Alekhin
bd1fd59fc1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-13 19:13:13 +00:00
Alexander Alekhin
8c8715c4dd
fix static analysis issues
2019-03-13 17:19:39 +03:00
Alexander Alekhin
8c0b0714e7
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-11 19:20:22 +00:00
Alexander Alekhin
b9d2e6664d
Merge pull request #13979 from alalek:issue_13772
2019-03-07 09:53:25 +00:00
Alexander Alekhin
332c37f332
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-03-06 11:43:16 +03:00
Alexander Alekhin
7366eebebb
core: fix condition in OutputArray::create(allowTransposed=True)
2019-03-05 16:26:59 +03:00
Alexander Alekhin
35edad3e74
build: fix warnings
2019-03-05 14:47:04 +03:00
JoeHowse
c0d41f05d6
Merge pull request #13947 from JoeHowse:4.0.1-patches
...
* core, stitching: revise syntax to support Visual C++ 2013
* stitching: revise syntax again to support Visual C++ 2013 and other compilers
* stitching: minor update to clarify changes
2019-03-02 19:00:32 +03:00
Alexander Alekhin
c3cf35ab63
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-26 17:34:42 +03:00
Maksim Shabunin
9702987209
Framework for dynamic videoio backends, FFmpeg and GStreamer plugins
2019-02-26 13:50:30 +03:00
Alexander Alekhin
fd49ee5f39
core: dispatch merge.cpp
2019-02-23 15:42:26 +00:00
Alexander Alekhin
93a36b0df1
core: keep history of merge.cpp
2019-02-23 15:41:39 +00:00
Alexander Alekhin
4e12febe90
core: clone merge.simd.hpp
2019-02-23 15:41:33 +00:00
Alexander Alekhin
6eabe6bc14
core: clone merge.dispatch.cpp
2019-02-23 15:41:33 +00:00
Alexander Alekhin
91d152e2c2
core: dispatch split.cpp
2019-02-22 09:54:31 +00:00
Alexander Alekhin
1d8b30bf4f
core: keep history of split.cpp
2019-02-22 09:18:51 +00:00
Alexander Alekhin
0311770e8b
core: clone split.simd.hpp
2019-02-22 09:18:27 +00:00
Alexander Alekhin
82cd2f8c93
core: clone split.dispatch.cpp
2019-02-22 09:17:51 +00:00
Alexander Alekhin
8bde6aea4b
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-19 19:49:13 +00:00
Alexander Alekhin
dc84cf9914
core: dispatch mean.cpp
2019-02-19 16:58:32 +03:00
Alexander Alekhin
4b82c8a22b
core: keep history of mean.cpp
2019-02-19 16:46:46 +03:00
Alexander Alekhin
7af7bcae18
core: clone mean.dispatch.cpp
2019-02-19 16:46:28 +03:00
Alexander Alekhin
93cea6e46e
core: clone mean.simd.hpp
2019-02-19 16:45:42 +03:00
Alexander Alekhin
cd66f6e3db
core: dispatch matmul
...
- gemm: keep baseline only (lapack is 10x+ faster, lets reduce binary size)
- transform / distTransform
- scaleAdd (32f/64f only)
- Mahalanobis: keep baseline only (no perf tests)
- mulTransposed: keep baseline only (no perf tests)
- dot
2019-02-18 14:36:46 +03:00
Alexander Alekhin
fbde57dba8
core: keep history of matmul.cpp
2019-02-14 19:07:41 +03:00
Alexander Alekhin
dcee7b1605
core: clone matmul.dispatch.cpp
2019-02-14 19:07:37 +03:00
Alexander Alekhin
b769ad2c23
core: clone matmul.simd.hpp
2019-02-14 19:07:37 +03:00
Alexander Alekhin
e3633ec4a2
core: dispatch count_non_zero
2019-02-14 13:16:20 +03:00
Alexander Alekhin
0b49680339
core: keep history of count_non_zero.cpp
2019-02-14 13:15:43 +03:00
Alexander Alekhin
439e43a027
core: clone count_non_zero.dispatch.cpp
2019-02-14 13:15:39 +03:00
Alexander Alekhin
af8a3a0b66
core: clone count_non_zero.simd.hpp
2019-02-14 13:15:39 +03:00
Alexander Alekhin
b40a7ffbe4
core: dispatch sum
2019-02-13 18:17:38 +03:00
Alexander Alekhin
c88e6b344b
core: keep history of sum.cpp
2019-02-13 13:49:36 +03:00
Alexander Alekhin
6e88bff3e3
core: clone sum.dispatch.cpp
2019-02-13 13:49:29 +03:00
Alexander Alekhin
5aceac6b93
core: clone sum.simd.hpp
2019-02-13 13:49:29 +03:00
Alexander Alekhin
dfef04b325
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-12 17:54:40 +03:00
Alexander Alekhin
2e28ff78c1
Merge pull request #13780 from alalek:core_dispatch_convertTo
2019-02-12 12:08:30 +00:00
klemens
5d9c6723ee
spelling fixes
...
backport 997b7b18af
2019-02-11 15:35:10 +03:00
klemens
997b7b18af
spelling fixes
2019-02-09 22:29:54 +01:00
Alexander Alekhin
d32d576d6d
core: dispatch convert_scale
2019-02-08 18:32:10 +03:00
Alexander Alekhin
39b90ae9fb
core: dispatch convert
2019-02-08 18:32:10 +03:00
Alexander Alekhin
c6f39870ff
Merge pull request #13776 from alalek:fix_13741
2019-02-08 15:30:36 +00:00
Alexander Alekhin
33d477e049
core: keep history of convert_scale.cpp
2019-02-08 16:39:13 +03:00
Alexander Alekhin
c4abdb8050
core: clone convert_scale.dispatch.cpp
2019-02-08 16:38:50 +03:00
Alexander Alekhin
0af9e19be7
core: clone convert_scale.simd.hpp
2019-02-08 16:35:52 +03:00
Alexander Alekhin
b6a0acb8f6
core: keep history of convert.cpp
2019-02-08 16:29:54 +03:00
Alexander Alekhin
5527c41468
core: clone convert.dispatch.cpp
2019-02-08 16:29:16 +03:00
Alexander Alekhin
1629e29b98
core: clone convert.simd.hpp
2019-02-08 16:27:59 +03:00
Alexander Alekhin
66d9a33b50
core(ocl): fix log messages
2019-02-07 16:35:14 +03:00
Alexander Alekhin
fcec053d59
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-02-05 19:12:41 +03:00
Alexander Alekhin
4501a2cdea
ocl: support empty "ptr only" UMat in Kernel::set()
...
add messages to avoid silent kernel destruction
2019-01-30 14:51:06 +03:00
Maksim Shabunin
ea3dc78986
Fixed warnings produced by clang-9.0.0
2019-01-30 14:05:32 +03:00
Alexander Alekhin
7e2ebecd52
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2019-01-10 12:29:41 +03:00
Scott Ramsby
7d0d6cd5ee
Fix build error when building with Unicode on Windows
2019-01-07 10:18:58 -08:00
Lee Jaehwan
71aee662bd
Merge pull request #13544 from eightco:bugfix
...
Fix a bug in cv :: merge when array of 3-channel mat is input (#13544 )
* Mat merge function bug fix - Bug fix of merge function of 3-channel vector <Mat> of 3 or 4 matrices
* Add Core_merge test for opencv#13544
* fixups
2019-01-04 15:10:50 +03:00
Alexander Alekhin
7fb70e1701
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-18 19:07:43 +00:00
Alexander Alekhin
d9d9b05912
core(ocl): add parameter to limit device max workgroup size
...
used by OpenCV
2018-12-17 18:33:05 +00:00
Alexander Alekhin
e82e672a93
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-06 07:06:58 +00:00
Vitaly Tuzov
6ad8a9c09d
Replaced core module calls to universal intrinsics with wide universal intrinsics
2018-12-04 16:24:20 +03:00
Alexander Alekhin
2e0150e601
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-12-03 18:38:27 +03:00
Alexander Alekhin
aee865fec9
Merge pull request #13352 from alalek:issue_13324
2018-12-03 15:34:23 +00:00
Alexander Alekhin
80c2adbda1
core: add getcwd() stub
2018-12-03 17:38:57 +03:00
Maksim Shabunin
c26c43c69c
Fixed compilation with VA-interop on 32-bit platforms
2018-12-03 17:16:09 +03:00
Alexander Alekhin
4e8311085f
core(persistence): fix KW issues
2018-12-03 17:10:20 +03:00
Vitaly Tuzov
00c9ab8c23
Merge pull request #13317 from terfendail:norm_wintr
...
* Added performance tests for hal::norm functions
* Added sum of absolute differences intrinsic
* norm implementation updated to use wide universal intrinsics
* improve and fix v_reduce_sad on VSX
2018-11-29 19:34:14 +03:00
Maksim Shabunin
9de63c1edd
Made FileNode::operator string inline
2018-11-27 11:47:23 +03:00
Alexander Alekhin
8f4e5c2fb8
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-26 15:37:45 +03:00
Alexander Alekhin
82f4322d18
Merge pull request #13269 from alalek:ocl_fix_kernels_with_use_host_mem
2018-11-25 18:27:01 +00:00
Alexander Alekhin
9fd822f97e
ocl: fix kernels launching with USE_HOST_PTR UMat
...
created from RAW memory buffers (without proper lifetime management)
2018-11-24 15:37:16 +00:00
Alexander Alekhin
3c49b1dbbe
core: use dladdr() instead of parsing /proc/self/maps
2018-11-24 15:22:54 +00:00
Bram
724620b476
Fixed build on FreeBSD
2018-11-22 09:23:09 +01:00
Alexander Alekhin
7fa7fa0226
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-21 08:33:39 +00:00
Alexander Alekhin
45d2e18808
Merge pull request #13232 from huangqinjin:openmp
2018-11-21 08:32:14 +00:00
huangqinjin
e1ac8589f8
fix numThreadsMax for OpenMP
...
introduced by commit 4e62900009
2018-11-21 10:54:24 +08:00
Sayed Adel
474a0dac49
core: several improves and fixes on ppc64le infrastructure
...
- add infrastructure support for Power9/VSX3
- fix missing VSX flags on GCC4.9 and CLANG4(#13210 , #13222 )
- fix disable VSX optimzation on GCC by using flag ENABLE_VSX
- flag ENABLE_VSX is deprecated now, use CPU_BASELINE, CPU_DISPATCH instead
- add VSX3 to arithmetic dispatchable flags
2018-11-20 15:28:46 +00:00
Alexander Alekhin
22dbcf98c5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-17 14:17:35 +00:00
Alexander Alekhin
780ae864a0
Merge pull request #13192 from alalek:fix_valgrind_3.4
2018-11-17 13:20:33 +03:00
berak
96c99c716a
Merge pull request #13193 from berak:core_copyMakeBorder
2018-11-17 13:19:42 +03:00
Alexander Alekhin
c26dd5d7aa
core: fix issues from valgrind builder
2018-11-17 07:32:06 +00:00
Alexander Alekhin
e580061b74
Merge pull request #12908 from alexevans:Issue11855
2018-11-16 20:42:54 +00:00
Alexander Alekhin
2fa9bd221d
core: add utils::findDataFile() / samples::findFile()
2018-11-16 00:25:06 +00:00
Alexander Alekhin
96c71dd3d2
dnn: reduce set of ignored warnings
2018-11-15 13:15:59 +03:00
Rostislav Vasilikhin
d6b2739525
removed FileNodeIterator::operator->()
2018-11-13 20:18:53 +03:00
Dmitry Kurtaev
6c76c8f881
Add a test for FileNode::keys()
2018-11-12 13:38:18 +03:00
Dmitry Kurtaev
a7f30391d0
Add FileNode::keys() missed during refactoring
2018-11-12 13:34:01 +03:00
Alexander Alekhin
1913482cf5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-11-10 20:50:26 +00:00
Alexander Alekhin
858a7da5c0
core: rework getContinuousSize() for vector-col/row support
2018-11-10 11:08:28 +00:00
Alexander Alekhin
8675a8c743
Merge pull request #12878 from tompollok:3.4
2018-11-09 19:54:17 +00:00
Alexander Alekhin
a1dd30ed50
Merge pull request #13094 from alalek:ocl_reduce_sync
2018-11-09 16:44:10 +00:00
Alexander Alekhin
f74f1a94fe
core(ocl): run "reduce" kernels in synchronous mode
2018-11-09 17:57:13 +03:00
Vadim Pisarevsky
841741aa52
significantly reduced OpenCV binary size by disabling IPP in some funcs ( #13085 )
...
* significantly reduced OpenCV binary size by disabling IPP calls in some OpenCV functions: Sobel, Scharr, medianBlur, GaussianBlur, filter2D, mean, meanStdDev, norm, sum, minMaxIdx, sort.
* re-enable IPP in norm, since it's much faster (without adding too much space overhead)
2018-11-09 17:39:29 +03:00
Alexander Alekhin
596ada51f3
Merge pull request #13080 from alalek:issue_13078
2018-11-09 13:20:27 +00:00
Alexander Alekhin
5059523937
core: fix processing of vector-rows
2018-11-08 20:04:22 +03:00
tompollok
2da56d5af6
refactoring catching all exceptions as const ref
2018-11-08 19:59:47 +03:00
Alexander Alekhin
b74b05d1b3
Revert CV_TRY/CV_CATCH macros
...
This reverts commit 7349b8f5ce
(partially).
2018-11-08 19:56:52 +03:00
Alexander Alekhin
bb7cfcbcdb
Merge pull request #12064 from seiko2plus:coreUnvintrinArithm2
2018-11-08 14:02:40 +00:00
Alexander Alekhin
7a686a0c43
Merge pull request #13010 from dkurt:fix_cl_eye_fp16
2018-11-06 18:36:09 +00:00
Dmitry Kurtaev
32797515de
Fix https://github.com/opencv/opencv/issues/12824
2018-11-02 08:26:08 +03:00
Vadim Pisarevsky
0f622206e4
completely new C++ persistence implementation ( #13011 )
...
* integrated the new C++ persistence; removed old persistence; most of OpenCV compiles fine! the tests have not been run yet
* fixed multiple bugs in the new C++ persistence
* fixed raw size of the parsed empty sequences
* [temporarily] excluded obsolete applications traincascade and createsamples from build
* fixed several compiler warnings and multiple test failures
* undo changes in cocoa window rendering (that was fixed in another PR)
* fixed more compile warnings and the remaining test failures (hopefully)
* trying to fix the last little warning
2018-11-02 00:27:06 +03:00
Sayed Adel
93ffebc273
core: reimplement SIMD arithmetic, logic and comparison operations into wide universal intrinsics
...
- initialize arithmetic dispatcher
- add new universal intrinsic v_absdiffs
- add new universal intrinsic v_pack_b
- add accumulate version of universal intrinsic v_round
- fix sse/avx2:uint8 multiplication overflow
- reimplement arithmetic, logic and comparison operations into wide universal intrinsics
with full support for all types
- reimplement IPP arithmetic, logic and comparison operations in a sperate file arithm_ipp.hpp
- avoid scalar multiplication if scaling factor eq 1 and use integer multiplication
- move C arithmetic operations to precomp.hpp and delete [arithm_simd|arithm_core].hpp
- add compatibility with new opencv4 divide policy
2018-10-30 12:48:31 +02:00
LaurentBerger
389aae59ae
add python copyto with mask ( https://github.com/opencv/opencv/issues/10225 )
2018-10-29 09:09:30 +01:00
root
1196eb33fc
remove non-ideal pairs when using crosscheck in batchdistance
2018-10-26 20:25:24 +00:00
Alexander Alekhin
50bec53afc
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-26 17:56:55 +03:00
Alexander Alekhin
3e0c72ea84
core(ipp): disable SSE4.2 meanStdDev() optimization for CV_32F
2018-10-26 15:57:26 +03:00
maver1
e397434cb6
Merge pull request #12877 from maver1:3.4
...
* Updated ICV packages and IPP integration
* core(test): minMaxIdx IPP regression test
* core(ipp): workaround minMaxIdx problem
* core(ipp): workaround meanStdDev() CV_32FC3 buffer overrun
* Returned semicolon after CV_INSTRUMENT_REGION_IPP()
2018-10-24 15:02:53 +03:00
Alexander Alekhin
9c23f2f1a6
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-20 11:37:54 +00:00
Michał Janiszewski
c8e6ce304f
Catch exceptions by const-reference
...
Exceptions caught by value incur needless cost in C++, most of them can
be caught by const-reference, especially as nearly none are actually
used. This could allow compiler generate a slightly more efficient code.
2018-10-16 22:43:54 +02:00
Alexander Alekhin
edacd91a27
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-15 20:15:42 +00:00
Alexander Alekhin
5dd46b54c1
Merge pull request #12848 from alalek:issue_12337
2018-10-15 20:09:36 +00:00
Alexander Alekhin
954536073d
core: update solveLP() interface
2018-10-15 18:58:11 +00:00
Alexander Alekhin
cc45c10f3d
ocl: bailout from unsupported types
2018-10-15 18:06:06 +00:00
Alexander Alekhin
f185640eda
Merge pull request #12799 from alalek:update_build_js
...
* js: update build script
- support emscipten 1.38.12 (wasm is ON by default)
- verbose build messages
* js: use builtin Math functions
* js: disable tracing code completelly
2018-10-15 17:35:21 +03:00
Alexander Alekhin
72eccb7694
Merge pull request #12825 from alalek:issue_8413_3.4
2018-10-15 14:23:21 +00:00
Vitaly Tuzov
43d9256096
Replaced core module calls to universal intrinsics with wide universal intrinsics
2018-10-15 11:46:45 +03:00
Alexander Alekhin
fd832bb57d
core: follow IEEE 754 rules for floating-point division
2018-10-14 10:47:50 +00:00
Alexander Alekhin
4a9291fd89
Merge branch 'issue_8413_3.4'
2018-10-14 03:46:01 +00:00
Alexander Alekhin
c813ad5533
core(ocl): replace ambiguous 'depth' to 'DEPTH_dst'
...
- always pass DEPTH_dst value to core/arithm kernel
2018-10-14 02:18:04 +00:00
Alexander Alekhin
5115e5decb
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-13 16:19:05 +00:00
Alexander Alekhin
d2a66d3c99
Merge pull request #12815 from alalek:issue_12812
2018-10-13 13:12:55 +00:00
Alexander Alekhin
0f41daeba5
Merge pull request #12641 from dkurt:dnn_samples_args_autofill
2018-10-13 12:28:08 +00:00
Alexander Alekhin
8c4f886f5f
core: re-throw allocation exception if there is no fallback
2018-10-12 19:10:06 +00:00
Alexander Alekhin
1ed9ff17e1
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-10-12 10:05:55 +00:00
Alexander Alekhin
91c6d36ff8
Merge pull request #12796 from alalek:fix_openmp_performance
2018-10-11 19:29:04 +00:00
Alexander Alekhin
4e62900009
core: call omp_set_dynamic() for better CPU usage
...
Similar to 'OMP_DYNAMIC=TRUE'.
2018-10-10 19:57:43 +00:00
Alexander Alekhin
11e2a216c5
ocl(win32): bypass deallocate() during process termination
2018-10-10 18:06:06 +00:00
Alexander Alekhin
70f2ee917e
cmake: add DllMain() into each OpenCV DLL
...
to detect process termination after ExitProcess() call
2018-10-10 11:00:59 +00:00