MIPS: MIPS32r1: Added optimization for Disto4x4 (TTransform)

Change-Id: Ieb20c5c52b964247cfe46f45f9a7415725bf7c02
enc_neon: convert FTransformWHT to intrinsics

slightly faster than the inline asm
in practice not much faster than the C-code in a full NEON build, but
still better overall in an Android-like one that only enables NEON for
certain files.

Change-Id: I69534016186064fd92476d5eabc0f53462d53146
 ~30% encoding speedup: use NEON for QuantizeBlock()

also revamped the signature to avoid having to pass the 'first' parameter

Change-Id: Ief9af1747dcfb5db0700b595d0073cebd57542a5
MIPS: MIPS32r1: Added optimization for FTransform

Change-Id: I9384dac483e8f98bcfdd277a0a3d6ec7c7a7b297
Merge "MIPS: MIPS32r1: Added optimization for FTransform"
MIPS: MIPS32r1: Add optimization for GetResidualCost

+ reorganize the cost-evaluation code by moving some functions
to cost.h/cost.c and exposing VP8Residual

Change-Id: Id976299b5d4484e65da8bed31b3d2eb9cb4c1f7d
enc_mips32.c: fix file mode

Change-Id: I5a43320e2ea2eebc88c65398acb9ea59b63af1fd
fix the gcc-4.6.0 bug by implementing alternative method

previous functions are a bit faster with gcc-4.8, so we keep them
for now.

Change-Id: I4081e5af66fbf606295d8a83875c1b889729b4dc
Merge "fix the gcc-4.6.0 bug by implementing alternative method"
MIPS: MIPS32r1: Added optimizations for SSE functions.

Change-Id: I1287fa65064192cc2edc5c4be2b1974be665b9b4
NEON functions for lossless coding

Verified OK, but right now they don't seem faster.
So they are disabled behind a USE_INTRINSICS flag (off for now)

Change-Id: I72a1c4fa3798f98c1e034f7ca781914c36d3392c
MIPS: MIPS32r1: Added optimizations for FastLog2

Functions VP8LFastLog2Slow and VP8LFastSLog2Slow

also: replaced some "% y" by "& (y-1)" in the C-version
(since y is a power-of-two)

Change-Id: I875170384e3c333812ca42d6ce7278aecabd60f0
Merge "MIPS: MIPS32r1: Added optimizations for FastLog2"
NEON intrinsics version of FTransform

as little bit slower than inlined asm it seems.
So disabled for now.

Change-Id: I8c942846f9bedaed57275675ea9dbbcb8dfd9ccd
fix lossless_neon.c

* some extra {xx , 0 } in initializers
* replaced by vget_lane_u32() where appropriate

Change-Id: Iabcd8ec34d7c853920491fb147a10d4472280a36
replace some mult-long (vmull_u8) with mult-long-accumulate (vmlal_u8)

saves few instructions

Change-Id: If8f464bb2894a209bba94825a4db9267df126d47
NEON intrinsics version of CollectHistogram

apparently faster, but we might save some load/store to/from memory
once we settle for the intrinsics-based FTransform()

(also: fixed some #ifdef USE_INTRINSICS problems)

Change-Id: I426dea299cea0c64eb21c4d81a04a960e0c263c7
Merge "NEON intrinsics version of CollectHistogram"
WIP: extract the float-calculation of HuffmanCost from loop

new function: VP8FinalHuffmanCost()

Change-Id: I42102f8e5ef6d7a7af66490af77b7dc2048a9cb9
MIPS: MIPS32r1: Added optimizations for ExtraCost functions.

ExtraCost and ExtraCostCombined

Change-Id: I7eceb9ce2807296c6b43b974e4216879ddcd79f2