Skip to content
  • Ronald S. Bultje's avatar
    Implement sse2 and ssse3 versions for all sub_pixel_variance sizes. · 8fb6c581
    Ronald S. Bultje authored
    Overall speedup around 5% (bus @ 1500kbps first 50 frames 4min10 ->
    3min58). Specific changes to timings for each function compared to
    original assembly-optimized versions (or just new version timings if
    no previous assembly-optimized version was available):
    
    sse2   4x4:    99 ->   82 cycles
    sse2   4x8:           128 cycles
    sse2   8x4:           121 cycles
    sse2   8x8:   149 ->  129 cycles
    sse2   8x16:  235 ->  245 cycles (?)
    sse2  16x8:   269 ->  203 cycles
    sse2  16x16:  441 ->  349 cycles
    sse2  16x32:          641 cycles
    sse2  32x16:          643 cycles
    sse2  32x32: 1733 -> 1154 cycles
    sse2  32x64:         2247 cycles
    sse2  64x32:         2323 cycles
    sse2  64x64: 6984 -> 4442 cycles
    
    ssse3  4x4:           100 cycles (?)
    ssse3  4x8:           103 cycles
    ssse3  8x4:            71 cycles
    ssse3  8x8:           147 cycles
    ssse3  8x16:          158 cycles
    ssse3 16x8:   188 ->  162 cycles
    ssse3 16x16:  316 ->  273 cycles
    ssse3 16x32:          535 cycles
    ssse3 32x16:          564 cycles
    ssse3 32x32:          973 cycles
    ssse3 32x64:         1930 cycles
    ssse3 64x32:         1922 cycles
    ssse3 64x64:         3760 cycles
    
    Change-Id: I81ff6fe51daf35a40d19785167004664d7e0c59d
    8fb6c581