Lab, Luv and XYZ conversions rewritten to wide intrinsics (#14106) * rgb2xyz<float> re-vectorized * rgb2xyz_i vectorized for ushort and uchar * xyz2rgb<float> vectorized * xyz2rgb_i vectorized for both uchar and ushort * intermediate conversions (int->float) rewritten * packed rgb2luv rewritten * (some) float conversions rewritten * burnt volatile int _3 and similar * RGB2Lab_b rewritten * tests: logging made better * RGB2Lab_f (LRGB path) rewritten * Lab2RGBfloat rewritten * Lab2RGBinteger and Lab2RGB_b rewritten to wide universal intrinsics * Luv2RGBinteger wide vectorized * RGB2Lab_b fixed: v_sub_wrap instead of saturated sub * warnings fixed * trying to fix compilation on older compilers * using 16x8 registers for 8-element dot product * cleanup added * splineInterpolate: loop unrolled, perf fix for f32x4 * Lab2RGBfloat: grab 2x more data to process on f32x4 * nrepeats for Luv2RGBfloat, +20% perf * minor * nrepeats to RGB2Lab_f * Lab2RGBinteger: no tab for linear BGR * nrepeats for RGB2Luvfloat * Luv2RGBinteger: no tab for linear RGB * +10% more to perf of Luv2RGBfloat * nrepeats for 256-simd for Lab2RGBfloat * less warnings * BOM removed * CV_SIMD_WIDTH used for lanes number checking * trilinearPackedInterpolate: 128-bit specialization added * fix build; no vx_cleanup(), instrumentation instead |
||
|---|---|---|
| .. | ||
| ocl | ||
| test_approxpoly.cpp | ||
| test_bilateral_filter.cpp | ||
| test_boundingrect.cpp | ||
| test_canny.cpp | ||
| test_color.cpp | ||
| test_connectedcomponents.cpp | ||
| test_contours.cpp | ||
| test_convhull.cpp | ||
| test_cvtyuv.cpp | ||
| test_distancetransform.cpp | ||
| test_drawing.cpp | ||
| test_emd.cpp | ||
| test_filter.cpp | ||
| test_fitellipse_ams.cpp | ||
| test_fitellipse_direct.cpp | ||
| test_fitellipse.cpp | ||
| test_floodfill.cpp | ||
| test_goodfeaturetotrack.cpp | ||
| test_grabcut.cpp | ||
| test_histograms.cpp | ||
| test_houghcircles.cpp | ||
| test_houghlines.cpp | ||
| test_imgproc_umat.cpp | ||
| test_imgwarp_strict.cpp | ||
| test_imgwarp.cpp | ||
| test_intersectconvexconvex.cpp | ||
| test_intersection.cpp | ||
| test_lsd.cpp | ||
| test_main.cpp | ||
| test_moments.cpp | ||
| test_pc.cpp | ||
| test_precomp.hpp | ||
| test_resize_bitexact.cpp | ||
| test_smooth_bitexact.cpp | ||
| test_subdivision2d.cpp | ||
| test_templmatch.cpp | ||
| test_thresh.cpp | ||
| test_watershed.cpp | ||