mirror of
https://github.com/opencv/opencv.git
synced 2024-12-14 08:59:11 +08:00
e90e0ef9aa
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 |