Enable sse2 version of sad8x4/4x8

The encoding time for bus at CIF goes from 661s to 625s. This commit
also enabled unit test of sad8x4/4x8 in sad_test.cc.

Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
Use assembly-optimized variance functions in sub_pixel_{avg}_var().

2.5% faster when encoding first 50 frames of bus @ 1500kbps.

Change-Id: I5a64703996cf7fd39b07e32c72311c4b125ec6d4
Removing vp9_invtrans.{c, h} files.

Moving single function from vp9_invtrans.c to vp9_encodemb.c.

Change-Id: I26bf6bb90de342a3036c0dbfba78a7dd75a61fe7
Move subpixel variance function from common/ to encoder/.

This seems to only be used in the encoder. Also remove an empty wrapper
file that contained forward declarations for this function, but didn't
actually define any actual functions.

Change-Id: Ifc561eef7ebe374a7d03698055e51e105f6d614b
Code cleanup inside the decoder code.

Change-Id: I927c7223996cdeb44f46e0e6c2e2054d458c300b
vpx_ports/x86.h: de-dup #elif block

Change-Id: I052647e13dd24354888c890f6b4a987d989552ae
convolve_test: align filter arrays

fixes issue #583

Change-Id: I4b855a5b5b168c8961410cef6ab5e6d86f14d301
Merge "vpx_ports/x86.h: de-dup #elif block"
Merge "Use assembly-optimized variance functions in sub_pixel_{avg}_var()."
Merge "Move subpixel variance function from common/ to encoder/."
Make fdct32 computation flow within 16bit range

This commit makes use of dual fdct32x32 versions for rate-distortion
optimization loop and encoding process, respectively. The one for
rd loop requires only 16 bits precision for intermediate steps.
The original fdct32x32 that allows higher intermediate precision (18
bits) was retained for the encoding process only.

This allows speed-up for fdct32x32 in the rd loop. No performance
loss observed.

Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3
Merge "Removing vp9_invtrans.{c, h} files."
Merge "Code cleanup inside the decoder code."
tests: clear system state after non-API calls

add ClearSystemState() to reset MMX registers avoiding corrupting
subsequent tests.

Change-Id: I668deb09aa7aa467709776e5819f936910698bc0
Merge "Make fdct32 computation flow within 16bit range"
Merge "tests: clear system state after non-API calls"
Renaming 'nmv' to 'mv' for several functions.

Change-Id: I183a38997a9d01e4a1b869e92509f6915216fa09
Remove unnecessary copying of probs.

Change-Id: Ic924f07c6ab0c929c6cdf11880d3c625806e272c
Add two-pass quantization

Optimized the quantization function by making it a two-pass
process. The first pass does a quick checking of the transform
coefficients against the base ZBIN, and only keep the good
enough set of coefficients for quantization. A skipping
check is added. If all coefficients are within the base ZBIN, no
quantization is needed. The second pass is the actual quantization
pass, which only processes the coefficient subset determined
in first pass. This reduces the computation. Furthermore, an
alternitive method is used for large transform size, which often
has sparse nonzero quantized coefficients.

Overall, the encoder speedup is about 4%. The quantization function
itself gets 20% faster.

Change-Id: I3a9dd0da6db030260b6d9c314a9fa48ecae89f22
Merge "Add two-pass quantization"