• Rostislav Vasilikhin's avatar
    Merge pull request #14106 from savuor:lab_wide · e90e0ef9
    Rostislav Vasilikhin authored
    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
    e90e0ef9
Name
Last commit
Last update
..
opencl Loading commit data...
_geom.h Loading commit data...
accum.cpp Loading commit data...
accum.dispatch.cpp Loading commit data...
accum.simd.hpp Loading commit data...
approx.cpp Loading commit data...
bilateral_filter.dispatch.cpp Loading commit data...
bilateral_filter.simd.hpp Loading commit data...
blend.cpp Loading commit data...
box_filter.dispatch.cpp Loading commit data...
box_filter.simd.hpp Loading commit data...
canny.cpp Loading commit data...
clahe.cpp Loading commit data...
color.cpp Loading commit data...
color.hpp Loading commit data...
color.simd_helpers.hpp Loading commit data...
color_hsv.dispatch.cpp Loading commit data...
color_hsv.simd.hpp Loading commit data...
color_lab.cpp Loading commit data...
color_rgb.dispatch.cpp Loading commit data...
color_rgb.simd.hpp Loading commit data...
color_yuv.dispatch.cpp Loading commit data...
color_yuv.simd.hpp Loading commit data...
colormap.cpp Loading commit data...
connectedcomponents.cpp Loading commit data...
contours.cpp Loading commit data...
convhull.cpp Loading commit data...
corner.avx.cpp Loading commit data...
corner.cpp Loading commit data...
corner.hpp Loading commit data...
cornersubpix.cpp Loading commit data...
demosaicing.cpp Loading commit data...
deriv.cpp Loading commit data...
distransform.cpp Loading commit data...
drawing.cpp Loading commit data...
emd.cpp Loading commit data...
featureselect.cpp Loading commit data...
filter.dispatch.cpp Loading commit data...
filter.hpp Loading commit data...
filter.simd.hpp Loading commit data...
filterengine.hpp Loading commit data...
fixedpoint.inl.hpp Loading commit data...
floodfill.cpp Loading commit data...
gabor.cpp Loading commit data...
gcgraph.hpp Loading commit data...
generalized_hough.cpp Loading commit data...
geometry.cpp Loading commit data...
grabcut.cpp Loading commit data...
hal_replacement.hpp Loading commit data...
hershey_fonts.cpp Loading commit data...
histogram.cpp Loading commit data...
hough.cpp Loading commit data...
imgwarp.avx2.cpp Loading commit data...
imgwarp.cpp Loading commit data...
imgwarp.hpp Loading commit data...
imgwarp.sse4_1.cpp Loading commit data...
intersection.cpp Loading commit data...
linefit.cpp Loading commit data...
lsd.cpp Loading commit data...
main.cpp Loading commit data...
matchcontours.cpp Loading commit data...
median_blur.dispatch.cpp Loading commit data...
median_blur.simd.hpp Loading commit data...
min_enclosing_triangle.cpp Loading commit data...
moments.cpp Loading commit data...
morph.dispatch.cpp Loading commit data...
morph.simd.hpp Loading commit data...
phasecorr.cpp Loading commit data...
precomp.hpp Loading commit data...
pyramids.cpp Loading commit data...
resize.avx2.cpp Loading commit data...
resize.cpp Loading commit data...
resize.hpp Loading commit data...
resize.sse4_1.cpp Loading commit data...
rotcalipers.cpp Loading commit data...
samplers.cpp Loading commit data...
segmentation.cpp Loading commit data...
shapedescr.cpp Loading commit data...
smooth.dispatch.cpp Loading commit data...
smooth.simd.hpp Loading commit data...
spatialgradient.cpp Loading commit data...
subdivision2d.cpp Loading commit data...
sumpixels.avx512_skx.cpp Loading commit data...
sumpixels.cpp Loading commit data...
sumpixels.hpp Loading commit data...
tables.cpp Loading commit data...
templmatch.cpp Loading commit data...
thresh.cpp Loading commit data...
undistort.avx2.cpp Loading commit data...
undistort.cpp Loading commit data...
undistort.hpp Loading commit data...
utils.cpp Loading commit data...