Reworked separable filter to use wide universal intrinsics

pull/13392/head
Vitaly Tuzov 6 years ago
parent b0a08cced9
commit 06f32e3b3e
  1. 10
      modules/core/include/opencv2/core/hal/intrin_avx.hpp
  2. 2790
      modules/imgproc/src/filter.cpp

@ -1278,6 +1278,16 @@ OPENCV_HAL_IMPL_AVX_CHECK_FLT(v_float64x4, 15)
OPENCV_HAL_IMPL_AVX_MULADD(v_float32x8, ps)
OPENCV_HAL_IMPL_AVX_MULADD(v_float64x4, pd)
inline v_int32x8 v_fma(const v_int32x8& a, const v_int32x8& b, const v_int32x8& c)
{
return a * b + c;
}
inline v_int32x8 v_muladd(const v_int32x8& a, const v_int32x8& b, const v_int32x8& c)
{
return v_fma(a, b, c);
}
inline v_float32x8 v_invsqrt(const v_float32x8& x)
{
v_float32x8 half = x * v256_setall_f32(0.5);

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save