mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 07:13:02 +04:00
2e80d30df4
Migrate the ushort specialization from CV_SIMD128 to (CV_SIMD || CV_SIMD_SCALABLE), enabling AVX2/AVX512/RVV widths instead of 128-bit only. uchar specialization left at CV_SIMD128 — initial migration regressed on RVV (Muse Pi v3.0, 0.77~0.85x) when vlanes16 == TILE_SIZE collapses the SIMD loop to one iteration and per-tile setup overhead dominates. - replace v_int32x4/v_uint32x4/v_uint64x2 with scalable v_int32/v_uint32/v_uint64 - iota vector in static const sized by VTraits::max_nlanes (initialized once at program load) - drop buf64; use v_reduce_sum(v_uint64) directly (defined on all backends) - vx_cleanup() at operator() tail for RVV vsetvl hygiene