• Rostislav Vasilikhin's avatar
    initial version of Lab2RGB_f tetrahedral interpolation written · 4b75be80
    Rostislav Vasilikhin authored
    RGB2Lab_f added, bugs fixed, moved to float
    
    several bugs fixed
    
    LUT fixed, no switch in tetraInterpolate()
    
    temporary code; to be removed and rewritten
    
    before refactoring
    
    extra interpolations removed, some things to do left
    
    added Lab2RGB_b +XYZ version, etc.
    
    basic version is done, to be sped up
    
    tetra refactored
    
    interpolations: LUT for weights, refactor., etc.
    
    address arithm optimized
    
    initial version of vectorized code added (not compiling now)
    
    compilation fixed, now segfaults
    
    a lot of fixes, vectorization temp. disabled
    
    fixed trilinear shift size, max error dropped from 19 to 10
    
    fixed several bugs (255 vs 256, signed vs unsigned, bIdx)
    
    minor changes
    
    packed: address arithmetics fixed
    
    shorter code
    
    experiments with pure integer calculations
    
    Lab2RGB max error decreased to 2; need to clean the code
    
    ready for vectorization; need cleaning
    
    vectorized, to be debugged
    
    precision fixed, max error is 2
    
    Lab->XYZ shortened
    
    minor fixes
    
    Lab2RGB_f version fixed, to be completely rewritten using _b code
    
    RGB2Lab_f vectorized
    
    minors
    
    moved to separate file
    
    refactored Lab2RGB to float and int versions
    
    minor fix
    
    Lab2RGB_f vectorized
    
    minor refactoring
    
    Lab2RGBint refactored: process methods, vectorize by 4 pix
    
    Lab2RGB_f int version is done
    
    cleanup extra code
    
    code copied to color.cpp
    
    fixed blue idx bug
    
    optimizations enabled when testing; mulFracConst introduced
    
    divConst -> mulFracConst
    
    calc min time in perf instead of avg
    
    minors
    
    process() slightly sped up
    
    Lab2RGB_f: disabled int version
    
    reinterpret added, minor fixes in names
    
    some warnings fixed
    
    changes transferred to color.cpp
    
    RGB2Lab_f code (and trilinear interpolation code) moved to rgb2lab_faster
    
    whitespace
    
    shift negative fixed
    
    more warnings fixed
    
    "constant condition" warnings fixed, little speed up
    
    minor changes
    
    test_photo decolor fixed
    
    changes copied to test_lab.cpp
    
    idx bounds checking in LUT init
    
    several fixes
    
    WIP: softfloat almost integrated
    
    test_lab partially rewritten to SoftFloat
    
    color.cpp rewritten to SoftFloat
    
    test_lab.cpp: accuracy code added
    
    several fixes
    
    RGB2Lab_b testing fixed
    
    splineBuild() rewritten to SoftFloat
    
    accuracy control improved
    
    rounding fixed
    
    Luv <=> RGB: rewritten to SoftFloat
    
    OCL cvtColor Lab and Lut rewritten to SoftFloat
    
    minor fixes
    
    refactored to new SoftFloat interface
    
    round() -> cvRound, etc.
    
    fixed OCL tests
    
    softfloat.cpp: internal functions made static, unused ones removed
    
    meaningful constants
    
    extra lines removed
    
    unused function removed
    
    unfinished work
    
    it works, need to fix TODOs
    
    refactoring; more calls rewritten
    
    mulFracConst removed
    
    constants made bit exact; minors
    
    changes moved to color.cpp
    
    fixed 1 bug and 4 warnings
    
    OCL: fixed constants
    
    pow(x, _1_3f) replaced by cubeRoot(x)
    
    fixed compilation on MSVC32
    
    magic constants explained
    
    file with internal accuracy&speed tests moved to lab_tetra branch
    4b75be80
softfloat.cpp 153 KB