]> granicus.if.org Git - libvpx/commit
Full search SAD function optimization in SSE4.1
authorYunqing Wang <yunqingwang@google.com>
Wed, 27 Oct 2010 12:45:24 +0000 (08:45 -0400)
committerYunqing Wang <yunqingwang@google.com>
Wed, 27 Oct 2010 17:36:31 +0000 (13:36 -0400)
commit71ecb5d7d905d1f1771b6c5e130e873dcf458b73
tree26ef42506e0eaaf03022f4f7fbe15d617beae883
parenta0ae3682aa67f882006c604196f7ee83eff88d84
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
14 files changed:
build/make/configure.sh
configure
vp8/encoder/generic/csystemdependent.c
vp8/encoder/mcomp.c
vp8/encoder/mcomp.h
vp8/encoder/onyx_if.c
vp8/encoder/sad_c.c
vp8/encoder/variance.h
vp8/encoder/x86/mcomp_x86.h
vp8/encoder/x86/sad_sse4.asm [new file with mode: 0644]
vp8/encoder/x86/variance_x86.h
vp8/encoder/x86/x86_csystemdependent.c
vp8/vp8cx.mk
vpx_ports/x86.h