Commit Graph

2344 Commits

Author SHA1 Message Date
Alexander Smorkalov 778faddbd8 Merge pull request #22463 from hanliutong:rvv
Redesign the SIMD macro.
2022-10-27 14:16:03 +03:00
HAN Liutong 5462a6be6e Update SIMD macro for RVV backend. 2022-10-26 13:02:03 +00:00
Alexander Smorkalov a60496f9df Merge pull request #22633 from cudawarped:fix_3361
Reset cuda runtime error code to cudasuccess on runtime failure.
2022-10-26 15:48:06 +03:00
Alexander Alekhin 762481411d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-10-15 16:44:47 +00:00
Hyunggi Chang 085fb78e85 fix typo (portatibility -> portability) 2022-10-13 21:39:52 +00:00
Alexander Alekhin 2763f988da Merge pull request #22526 from paroj:pyrect 2022-10-13 11:46:28 +00:00
cudawarped f89dee4f3e Reset cuda error code to cudasuccess. 2022-10-13 10:15:40 +03:00
Pavel Rojtberg 35f43cc429 core: expose rectangle intersection to bindings 2022-10-12 14:08:12 +02:00
Alexander Alekhin 347246901e Merge pull request #21745 from alalek:dnn_plugin_openvino 2022-10-08 22:32:25 +00:00
Alexander Alekhin 43b2bb2c25 dnn: plugin support for OpenVINO 2022-10-07 16:57:31 +00:00
Sean McBride 1829eba584 Fixed most clang -Wextra-semi warnings 2022-09-27 18:06:46 -04:00
HAN Liutong df24bd295d Fix v_signmask for RISC-V Vector. 2022-09-23 11:28:50 +00:00
Alexander Smorkalov bfeeb0ad70 Merge pull request #22285 from asenyaev:asen/disabled_compiling_warnings_3.4
Disabled compiling warnings in case of symbols in cmake for 3.4
2022-09-20 15:14:36 +03:00
Alexander Smorkalov 2273af0166 Merge pull request #22286 from asenyaev:asen/disabled_compiling_warnings_4.x
Disabled compiling warnings in case of symbols in cmake for 4.x
2022-09-20 15:13:06 +03:00
Andrey Senyaev ccfc34b13f Disabled compiling warnings in case of symbols in cmake for 4.x 2022-09-20 13:35:48 +03:00
Andrey Senyaev 3f4abcb228 Disabled compiling warnings in case of symbols in cmake for 3.4 2022-09-20 13:34:17 +03:00
Alexander Alekhin 2e15582799 build: eliminate uninitialized warnings from GCC12 2022-09-14 11:58:43 +00:00
Hao Chen fce8349c99 Optimize the cvCeil and cvFloor functions.
This patch optimizes the cvCeil and cvFloor functions on
the LoongArch platform.

Signed-off-by: Hao Chen <chenhao@loongson.cn>
2022-09-13 10:49:09 +03:00
wxsheng 4154bd0667 Add Loongson Advanced SIMD Extension support: -DCPU_BASELINE=LASX
* Add Loongson Advanced SIMD Extension support: -DCPU_BASELINE=LASX
* Add resize.lasx.cpp for Loongson SIMD acceleration
* Add imgwarp.lasx.cpp for Loongson SIMD acceleration
* Add LASX acceleration support for dnn/conv
* Add CV_PAUSE(v) for Loongarch
* Set LASX by default on Loongarch64
* LoongArch: tune test threshold for Core/HAL.mat_decomp/15

Co-authored-by: shengwenxue <shengwenxue@loongson.cn>
2022-09-10 09:39:43 +03:00
HAN Liutong 7e2c8cc9f4 Add remaining intrinsics. 2022-08-26 07:06:51 +00:00
Alexander Smorkalov d10832074e Merge pull request #22353 from hanliutong:more-rvv-intrin
[GSoC] Add more universal intrinsic implementations for RVV.
2022-08-23 12:50:01 +03:00
HAN Liutong 189f647264 Add implementation for zip, transpose, interleave, reverse and combine. 2022-08-17 14:38:38 +00:00
Alexander Alekhin 2ebdc04787 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-08-14 15:50:42 +00:00
HAN Liutong e65ad44b32 Remove redundant intrinsics. 2022-08-12 14:12:52 +00:00
HAN Liutong 80c82e10aa Update implementations on arithmetics. 2022-08-12 06:51:41 +00:00
HAN Liutong f0d29cd33c Add more universal intrinsic implementations for RVV. 2022-08-08 02:09:54 +00:00
HAN Liutong 2bd72af2ef Merge pull request #22292 from hanliutong:fix
[GSoC] Fix compilation errors and warnings when using MSVC on Windows.

* Pass reference of the argument.

* Add some cast to suppress warnings.
2022-07-24 12:15:13 +03:00
HAN Liutong 3e3b53f815 Fix compile errors when all SIMD is disabled. 2022-07-21 08:14:32 +00:00
Tomoaki Teshima b3269b08a1 neon: add dotprod dispatch implementation
* read vector at runtime
     * add enum
2022-07-20 19:25:39 +09:00
HAN Liutong 0ef803950b Merge pull request #22179 from hanliutong:new-rvv
[GSoC] New universal intrinsic backend for RVV

* Add new rvv backend (partially implemented).

* Modify the framework of Universal Intrinsic.

* Add CV_SIMD macro guards to current UI code.

* Use vlanes() instead of nlanes.

* Modify the UI test.

* Enable the new RVV (scalable) backend.

* Remove whitespace.

* Rename and some others modify.

* Update intrin.hpp but still not work on AVX/SSE

* Update conditional compilation macros.

* Use static variable for vlanes.

* Use max_nlanes for array defining.
2022-07-19 20:02:00 +03:00
Vadim Pisarevsky b5adffd5c2 * cleaned cvRound(), cvFloor() and cvCeil() implementations, removed the old non-banking rounding branch completely
* enable the use of GCC/clang __builtin_*() functions more broadly
2022-06-24 14:58:32 +03:00
Alexander Alekhin 14754deb21 Merge tag '4.6.0' 2022-06-05 19:23:41 +00:00
Alexander Alekhin b0dc474160 release: OpenCV 4.6.0 2022-06-05 15:32:44 +00:00
Alexander Alekhin c103b63fe1 Merge tag '3.4.18' 2022-06-05 15:16:54 +00:00
Alexander Alekhin a3d0882317 release: OpenCV 3.4.18 2022-06-05 07:52:44 +00:00
Namgoo Lee 24547f40ff remove const from functions returning by value 2022-05-26 21:30:41 +09:00
Alexander Alekhin e9428726ca pre: OpenCV 4.6.0 (version++) 2022-05-23 19:25:16 +00:00
Alexander Alekhin 400906b433 pre: OpenCV 3.4.18 (version++) 2022-05-23 19:18:02 +00:00
OpenCV Developers d9a444ca1a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-05-14 11:23:21 +00:00
OpenCV Pushbot f35ec8c955 Merge pull request #21935 from Yulv-git:3.4-typos3 2022-05-13 17:30:57 +00:00
huangziqing 82ae9ef541 Wrap gpuMat::release to Python 2022-05-02 00:54:17 +08:00
Yulv-git 15ac54d5d6 Fix some typos in modules/. 2022-04-30 13:40:07 +08:00
Alexander Smorkalov 2402fa4824 Fix #21894: Wrap constructor to Python to create initialized cuda::BufferPool object. 2022-04-28 12:18:26 +03:00
Qingnan Duan 2958142e31 Remove extra not in doc 2022-04-18 14:18:27 +08:00
Alexander Alekhin 13a995cc1d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-04-02 19:45:44 +00:00
shengwenxue 8b44ee2ce1 fix MSA sum overflow issue 2022-04-01 08:37:28 +00:00
HAN Liutong 3e4a566e46 Merge pull request #21351 from hanliutong:rvv-clang
* Update universal intrinsics of RVV back-end.

* Use array instead of malloc.
2022-03-30 20:04:34 +00:00
Alexander Alekhin 1339ebaa84 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2022-03-26 16:00:28 +00:00
pkubaj f3699b5ac8 Fix build with LLVM 13 on ppc64le
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/vsx_utils.hpp:352:12: warning: 'vec_permi' macro redefined [-Wmacro-redefined]
#   define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ (((c) & 1) << 1 | (c) >> 1)))
           ^
/usr/lib/clang/13.0.0/include/altivec.h:13077:9: note: previous definition is here
#define vec_permi(__a, __b, __c)                                               \
        ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/vsx_utils.hpp:370:25: error: redefinition of 'vec_promote'
VSX_FINLINE(vec_dword2) vec_promote(long long a, int b)
                        ^
/usr/lib/clang/13.0.0/include/altivec.h:14604:1: note: previous definition is here
vec_promote(signed long long __a, int __b) {
^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/vsx_utils.hpp:377:26: error: redefinition of 'vec_promote'
VSX_FINLINE(vec_udword2) vec_promote(unsigned long long a, int b)
                         ^
/usr/lib/clang/13.0.0/include/altivec.h:14611:1: note: previous definition is here
vec_promote(unsigned long long __a, int __b) {
^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1045:22: error: call to 'vec_rsqrt' is ambiguous
{ return v_float32x4(vec_rsqrt(x.val)); }
                     ^~~~~~~~~
/usr/lib/clang/13.0.0/include/altivec.h:8472:34: note: candidate function
static vector float __ATTRS_o_ai vec_rsqrt(vector float __a) {
                                 ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/vsx_utils.hpp:362:29: note: candidate function
    VSX_FINLINE(vec_float4) vec_rsqrt(const vec_float4& a)
                            ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/hal/intrin_vsx.hpp:1047:22: error: call to 'vec_rsqrt' is ambiguous
{ return v_float64x2(vec_rsqrt(x.val)); }
                     ^~~~~~~~~
/usr/lib/clang/13.0.0/include/altivec.h:8477:35: note: candidate function
static vector double __ATTRS_o_ai vec_rsqrt(vector double __a) {
                                  ^
/wrkdirs/usr/ports/graphics/opencv/work/opencv-4.5.5/modules/core/include/opencv2/core/vsx_utils.hpp:365:30: note: candidate function
    VSX_FINLINE(vec_double2) vec_rsqrt(const vec_double2& a)
                             ^
1 warning and 4 errors generated.

The specific functions were added to altivec.h in LLVM's 1ff93618e58df210def48d26878c20a1b414d900, c3da07d216dd20fbdb7302fd085c0a59e189ae3d and 10cc5bcd868c433f9a781aef82178b04e98bd098.
2022-03-21 02:05:05 +00:00
rogday e16cb8b4a2 Merge pull request #21703 from rogday:transpose
Add n-dimensional transpose to core

* add n-dimensional transpose to core

* add performance test, write sequentially and address review comments
2022-03-14 13:10:04 +00:00