diff options
author | Yunqing Wang <yunqingwang@google.com> | 2010-10-27 08:45:24 -0400 |
---|---|---|
committer | Yunqing Wang <yunqingwang@google.com> | 2010-10-27 13:36:31 -0400 |
commit | 71ecb5d7d905d1f1771b6c5e130e873dcf458b73 (patch) | |
tree | 26ef42506e0eaaf03022f4f7fbe15d617beae883 /vp8/encoder/generic | |
parent | a0ae3682aa67f882006c604196f7ee83eff88d84 (diff) | |
download | libvpx-71ecb5d7d905d1f1771b6c5e130e873dcf458b73.tar libvpx-71ecb5d7d905d1f1771b6c5e130e873dcf458b73.tar.gz libvpx-71ecb5d7d905d1f1771b6c5e130e873dcf458b73.tar.bz2 libvpx-71ecb5d7d905d1f1771b6c5e130e873dcf458b73.zip |
Full search SAD function optimization in SSE4.1
Use mpsadbw, and calculate 8 sad at once. Function list:
vp8_sad16x16x8_sse4
vp8_sad16x8x8_sse4
vp8_sad8x16x8_sse4
vp8_sad8x8x8_sse4
vp8_sad4x4x8_sse4
(test clip: tulip)
For best quality mode, this gave encoder a 5% performance boost.
For good quality mode with speed=1, this gave encoder a 3%
performance boost.
Change-Id: I083b5a39d39144f88dcbccbef95da6498e490134
Diffstat (limited to 'vp8/encoder/generic')
-rw-r--r-- | vp8/encoder/generic/csystemdependent.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vp8/encoder/generic/csystemdependent.c b/vp8/encoder/generic/csystemdependent.c index ae22b274e..824af5e46 100644 --- a/vp8/encoder/generic/csystemdependent.c +++ b/vp8/encoder/generic/csystemdependent.c @@ -40,6 +40,12 @@ void vp8_cmachine_specific_config(VP8_COMP *cpi) cpi->rtcd.variance.sad8x8x3 = vp8_sad8x8x3_c; cpi->rtcd.variance.sad4x4x3 = vp8_sad4x4x3_c; + cpi->rtcd.variance.sad16x16x8 = vp8_sad16x16x8_c; + cpi->rtcd.variance.sad16x8x8 = vp8_sad16x8x8_c; + cpi->rtcd.variance.sad8x16x8 = vp8_sad8x16x8_c; + cpi->rtcd.variance.sad8x8x8 = vp8_sad8x8x8_c; + cpi->rtcd.variance.sad4x4x8 = vp8_sad4x4x8_c; + cpi->rtcd.variance.sad16x16x4d = vp8_sad16x16x4d_c; cpi->rtcd.variance.sad16x8x4d = vp8_sad16x8x4d_c; cpi->rtcd.variance.sad8x16x4d = vp8_sad8x16x4d_c; |