Manojkumar Bhosale 45b176d153 Add MSA optimized Interpolate/MergeUV/Misc functions
BUG=libyuv:634

Change-Id: If8d60bd57f01fe95bc2fd26196466574195cc126

Performance Gain (vs C auto-vectorized)
InterpolateRow_MSA      - ~3.3x
InterpolateRow_Any_MSA  - ~2.5x
ARGBSetRow_MSA          - ~1.0x
ARGBSetRow_Any_MSA      - ~1.0x
ARGBToRGB24Row_MSA      - ~1.9x
ARGBToRGB24Row_Any_MSA  - ~1.6x
MergeUVRow_MSA          - ~1.6x
MergeUVRow_Any_MSA      - ~1.2x

Performance Gain (vs C non-vectorized)
InterpolateRow_MSA      - ~11.3x
InterpolateRow_Any_MSA  - ~ 7.9x
ARGBSetRow_MSA          - ~ 6.2x
ARGBSetRow_Any_MSA      - ~ 4.0x
ARGBToRGB24Row_MSA      - ~ 9.9x
ARGBToRGB24Row_Any_MSA  - ~ 8.4x
MergeUVRow_MSA          - ~12.7x
MergeUVRow_Any_MSA      - ~ 8.0x

Change-Id: If8d60bd57f01fe95bc2fd26196466574195cc126
Reviewed-on: https://chromium-review.googlesource.com/445817
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-02-23 01:42:22 +00:00
..
compare_common.cc xmmword cast for clang 2015-08-18 11:13:12 -07:00
compare_gcc.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
compare_neon64.cc xmmword cast for clang 2015-08-18 11:13:12 -07:00
compare_neon.cc xmmword cast for clang 2015-08-18 11:13:12 -07:00
compare_win.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
compare.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
convert_argb.cc Add MSA optimized I444/I400/J400/YUY2/UYVY to ARGB row functions 2017-02-21 23:22:07 +00:00
convert_from_argb.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
convert_from.cc Libyuv MIPS DSPR2 optimizations. 2017-01-11 12:19:13 -08:00
convert_jpeg.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
convert_to_argb.cc add Intel Code Analyst markers 2017-01-13 15:50:24 -08:00
convert_to_i420.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
convert.cc Add MSA optimized ARGB/ABGR/BGRA/RGBA To Y/UV row functions 2017-02-01 10:31:28 +05:30
cpu_id.cc enable unused parameter warning 2017-02-14 01:33:57 +00:00
mjpeg_decoder.cc scale warning fixes for unused parameters 2017-02-15 21:38:59 +00:00
mjpeg_validate.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
planar_functions.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
rotate_any.cc Add MSA optimized rotate functions (used 16x16 transpose) 2017-01-13 15:50:02 +05:30
rotate_argb.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate_common.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate_dspr2.cc Rename mips source files to dspr2. 2017-01-27 23:11:43 +00:00
rotate_gcc.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate_msa.cc Add MSA optimized rotate functions (used 16x16 transpose) 2017-01-13 15:50:02 +05:30
rotate_neon64.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate_neon.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate_win.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
rotate.cc Add MSA optimized rotate functions (used 16x16 transpose) 2017-01-13 15:50:02 +05:30
row_any.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
row_common.cc HalfFloat SSE2/AVX2 optimized port scheduling. 2017-02-11 01:02:06 +00:00
row_dspr2.cc Rename mips source files to dspr2. 2017-01-27 23:11:43 +00:00
row_gcc.cc HalfFloat SSE2/AVX2 optimized port scheduling. 2017-02-11 01:02:06 +00:00
row_msa.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
row_neon64.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
row_neon.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
row_win.cc HalfFloat SSE2/AVX2 optimized port scheduling. 2017-02-11 01:02:06 +00:00
scale_any.cc Libyuv MIPS DSPR2 optimizations. 2017-01-11 12:19:13 -08:00
scale_argb.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
scale_common.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
scale_dspr2.cc Rename mips source files to dspr2. 2017-01-27 23:11:43 +00:00
scale_gcc.cc scale warning fixes for unused parameters 2017-02-15 21:38:59 +00:00
scale_msa.cc scale warning fixes for unused parameters 2017-02-15 21:38:59 +00:00
scale_neon64.cc scale warning fixes for unused parameters 2017-02-15 21:38:59 +00:00
scale_neon.cc scale warning fixes for unused parameters 2017-02-15 21:38:59 +00:00
scale_win.cc clang-format libyuv 2016-11-07 17:37:23 -08:00
scale.cc Add MSA optimized Interpolate/MergeUV/Misc functions 2017-02-23 01:42:22 +00:00
video_common.cc clang-format libyuv 2016-11-07 17:37:23 -08:00