diff --git a/modules/core/src/convert.cpp b/modules/core/src/convert.cpp index 9d9790d61a..7a82611c54 100644 --- a/modules/core/src/convert.cpp +++ b/modules/core/src/convert.cpp @@ -770,10 +770,10 @@ struct Cvt_SIMD int cWidth = v_float64x2::nlanes; for (; x <= width - cWidth * 2; x += cWidth * 2) { - v_float32x4 v_src0 = v_cvt_f32(v_load(src + x)); - v_float32x4 v_src1 = v_cvt_f32(v_load(src + x + cWidth)); + v_int32x4 v_src0 = v_round(v_load(src + x)); + v_int32x4 v_src1 = v_round(v_load(src + x + cWidth)); - v_store(dst + x, v_round(v_combine_low(v_src0, v_src1))); + v_store(dst + x, v_combine_low(v_src0, v_src1)); } } return x;