core: remove raw SSE2/NEON implementation from convert.cpp (#9831)
authorTomoaki Teshima <tomoaki.teshima@gmail.com>
Thu, 14 Dec 2017 21:00:35 +0000 (06:00 +0900)
committerVadim Pisarevsky <vadim.pisarevsky@gmail.com>
Thu, 14 Dec 2017 21:00:35 +0000 (00:00 +0300)
commitca1a0a1108d9f4e894bf747cd5f0ee2b36cfc25c
tree18a372c5fe61f3b0fa6f98c814e34f924a37600c
parent6cedc827991b290d054cbfb92a9a5170f2e080e5
core: remove raw SSE2/NEON implementation from convert.cpp (#9831)

* remove raw SSE2/NEON implementation from convert.cpp
  * remove raw implementation from Cvt_SIMD
  * remove raw implementation from cvtScale_SIMD
  * remove raw implementation from cvtScaleAbs_SIMD
  * remove duplicated implementation cvt_<float, short>
  * remove duplicated implementation cvtScale_<short, short, float>
  * add "from double" version of Cvt_SIMD
  * modify the condition of test ConvertScaleAbs

* Update convert.cpp

fixed crash in cvtScaleAbs(8s=>8u)

* fixed compile error on Win32

* fixed several test failures because of accuracy loss in cvtScale(int=>int)

* fixed NEON implementation of v_cvt_f64(int=>double) intrinsic

* another attempt to fix test failures

* keep trying to fix the test failures and just introduced compile warnings

* fixed one remaining test (subtractScalar)
modules/core/perf/perf_arithm.cpp
modules/core/src/convert.cpp
modules/core/test/test_arithm.cpp