Re-enable 8x8 fdct/fht tests by changing tolerance

Increases tolerance for tests to ensure the fdct tests pass after
random number range change.

Change-Id: I5b622099e850f91a14b903d10cf14685f4dd3c2b
Multiframe Quality Enhancement(MFQE) in VP9.

It is the first version of MFQE in VP9. There are a few TODOs included
in this version.
Usage: Add flag --enable-vp9-postproc to config the project.
In decoder, use flag --mfqe in the command line to enable
MFQE in postproc.
Note: Need to have key frame with low quality to see the effect of this
new patch. In my experiment, I fixed the qindex to 200 in key frame.

Change-Id: I021f9ce4616ed3574c81e48d968662994b56a396
Refactor choose_partitioning computing scheme

This commit refactors the choose_partitioning function. It removes
redundant memset calls and makes the encoder to calculate
variance value per block only when it is needed. It reduces the
average runtime cost of choose_partitioning by 60%. Overall it
reduces speed -6 runtime by 2-5%.

Change-Id: I951922c50d901d0fff77a3bafc45992179bacef9
Corrected optimization of 8x8 DCT code

The 8x8 DCT uses a fast version whenever possible.
There was a mistake in the checking code which
meant sometimes the fast version was used when it
was not safe to do so.

Change-Id: I154c84c9e2d836764768a11082947ca30f4b5ab7
(cherry picked from commit fd05fb0c21e253b4d6f92d7e0b752850ff8ab188)
Replace division with bit shift in choose_partitioning

This commit explicitly uses the bit shift operation instead of
division for computing block variance.

Change-Id: Id19c0ff27dd1d1ae4aceee6657e1aad0d406bd74
Merge "Refactor choose_partitioning computing scheme"
Remove unnecessary dqcoeff memset.

dqcoeff is set to be 0 on initialization. And set back to 0 after being
used everytime.

Change-Id: I32b8e149bba40a8d707849f737a8e49a691f319c
Merge "Corrected optimization of 8x8 DCT code"
Merge "Re-enable 8x8 fdct/fht tests by changing tolerance"
Merge "Replace division with bit shift in choose_partitioning"
Allow for 4x4 prediction blocks for key frame, speed 6.

For key frame under variance source partition: 4x4 prediction blocks
may be selected when variance of 8x8 block is very high (threshold is set fairly high for now).

Testing on some RTC clips shows this helps to reduce some ringing artifacts on key frame.
Encoded key frame size increases about ~10%. Key frame PSNR increases about ~0.1-0.2dB.

Change-Id: I56e203fac32ea6ef69897fb3ea269c59cb50d174
Merge "Multiframe Quality Enhancement(MFQE) in VP9."
Fix PICK_MODE_CONTEXT index in non-RD coding mode

This commit fixes a bug in the PICK_MODE_CONTEXT index for
horizontal partition case. The compression performance change
is less than 0.01% level, since most blocks are selected to
use square block size in RTC coding mode.

Change-Id: I67effc18ae8795fccdd82a55f4efc609fa5cb3e1
Adds a test to make sure encoder parms get to decoder.

This is meant as a framework for testing that encode parms make it
through to the decoder.

Change-Id: Idb86ee3668b45b4e73c23c6e4daef94b0650b786
Fix test to call clear system state in convolve_test.

Assembly tests should clear system state, as we have no
expectation of proper system state in between test runs..

Change-Id: I0f591996c1f17ef2a5a8572a6b445f757223a144
vp9_dx_iface.c uses CONFIG_VP9_POSTPROC but config.h not included

Change-Id: Id316b3786214bf1028992968955da917e3f2d4a3
Merge "Fix PICK_MODE_CONTEXT index in non-RD coding mode"
x86_abi_support: set LIBVPX_RAND w/vp9-postproc

set LIBVPX_RAND with --enable-vp9-postproc, previously only the vp8
config was checked. this fixes the build with --disable-postproc.

Change-Id: Ia61baded6aa0e44d6443ae4a3c85915f1054f053
Merge "Adds a test to make sure encoder parms get to decoder."
Merge "vp9_dx_iface.c uses CONFIG_VP9_POSTPROC but config.h not included"