• Frank Barchard's avatar
    Add MSA optimized I422ToARGBRow_MSA and I422ToRGBARow_MSA functions · f5d5bd88
    Frank Barchard authored
    R=fbarchard@google.com
    BUG=libyuv:634
    
    Performance Gains :- (vs C vectorized)
    
    I422ToARGBRow_MSA     : ~1.6x
    I422ToRGBARow_MSA     : ~1.6x
    
    I422ToARGBRow_Any_MSA : ~1.58x
    I422ToRGBARow_Any_MSA : ~1.6x
    
    Performance Gains :- (vs C non-vectorized)
    
    I422ToARGBRow_MSA     : ~7x
    I422ToRGBARow_MSA     : ~7x
    
    I422ToARGBRow_Any_MSA : ~6.9x
    I422ToRGBARow_Any_MSA : ~6.8x
    
    Regarding performance measurement, We have created standalone tests which pass in row's data from a 1920x1080 filled buffer to both the C and MSA functions. And such N iterations are executed to get more accurate timings of C vs MSA.
    
    Review URL: https://codereview.chromium.org/2430313005 .
    f5d5bd88
Name
Last commit
Last update
..
compare.cc Loading commit data...
compare_common.cc Loading commit data...
compare_gcc.cc Loading commit data...
compare_neon.cc Loading commit data...
compare_neon64.cc Loading commit data...
compare_win.cc Loading commit data...
convert.cc Loading commit data...
convert_argb.cc Loading commit data...
convert_from.cc Loading commit data...
convert_from_argb.cc Loading commit data...
convert_jpeg.cc Loading commit data...
convert_to_argb.cc Loading commit data...
convert_to_i420.cc Loading commit data...
cpu_id.cc Loading commit data...
mjpeg_decoder.cc Loading commit data...
mjpeg_validate.cc Loading commit data...
planar_functions.cc Loading commit data...
rotate.cc Loading commit data...
rotate_any.cc Loading commit data...
rotate_argb.cc Loading commit data...
rotate_common.cc Loading commit data...
rotate_gcc.cc Loading commit data...
rotate_mips.cc Loading commit data...
rotate_neon.cc Loading commit data...
rotate_neon64.cc Loading commit data...
rotate_win.cc Loading commit data...
row_any.cc Loading commit data...
row_common.cc Loading commit data...
row_gcc.cc Loading commit data...
row_mips.cc Loading commit data...
row_msa.cc Loading commit data...
row_neon.cc Loading commit data...
row_neon64.cc Loading commit data...
row_win.cc Loading commit data...
scale.cc Loading commit data...
scale_any.cc Loading commit data...
scale_argb.cc Loading commit data...
scale_common.cc Loading commit data...
scale_gcc.cc Loading commit data...
scale_mips.cc Loading commit data...
scale_neon.cc Loading commit data...
scale_neon64.cc Loading commit data...
scale_win.cc Loading commit data...
video_common.cc Loading commit data...