Fix bug 804

A bug in Microsoft compiler was found in the function
vp9_filter_block1d16_v8_avx2 and a workaround applied.
the bug occur when there was 4 consecutive maddubs + min + adds
intrinsic instructions.

Change-Id: I83499faeb70971e650e5663fd2490360ddb1a51b
Improved vp9_quantize_fp_neon()

Eliminated instructions by using better neon instructions
and rearranging the loop.

On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~1.0%.

Change-Id: I6b1700e79318f647ea67ef25e954c308932950ec
Simplifying vp9_set_speed_features() function.

Change-Id: I3e67230690b81ef54ef48ae26107fe7bc880ab8e
Remove unused vp8 quantize functions

Exact fast quantize and inexact regular quantize are unused.

Change-Id: I5a81f5059c896c919f70038af7de04d63823d26d
get_ref_frame: fix test for valid buffer.

In the current implementation of the encoder,
frame buffers may come from the wider set of
12 such buffers, and is not restricted to the
8 allowed as reference frames. This is only
an implementation detail and does not affect
the constraint of having a total of 8 reference
buffers overall.

Change-Id: I075f777146c2df49c275d89232933f8127235175
vp8: Modify to use closest reference in zero_mv bias.

Modify zero_mv bias condition to include check that "closest" reference is last_frame.
This is needed for temporal layers, where the last_frame is not always the closest reference.
Also, constain zeromv_count to be for last_frame reference.

Change-Id: I7af54a809ebf01ef43b9933c9d4095b6cb189390
Add an adaptive denoising mode.

On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).

Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb
Merge "vp8: Modify to use closest reference in zero_mv bias."
Merge "Add an adaptive denoising mode."
Removes fileno check to prevent valgrind error

Explicitly makes the fileptr null when close source is called
on a temporary file. This avoids a valgrind error.

Change-Id: I9c364290eeb6842fde946dd9bf817814c7178aaa
Removing active_arnr_{strength, frames} from VP9_COMP.

Change-Id: I60472b71ca75ee0522ed2611f43e1207d44b66d0
Cleaning up vp9_encoder.c.

Change-Id: Ib06c59d1adefb841a6ff653619dffb7e23f3318d
vp8cx_set_ref: Flush encoder.

According to the current API spec we need to call vpx_codec_encode() until
vpx_codec_get_cx_data() returns NULL.

Change-Id: Ide0c531dc0d453df8ec1edb8acb894856d6cc22e
Merge "get_ref_frame: fix test for valid buffer."
examples.sh: Run all example tests.

- Remove vpxdec and vpxenc from the exclude list.
- vpx{dec,enc}.sh: Updates to support finding their executable when
  LIBVPX_BIN_PATH is setup for the examples.
- tools_common.sh: New library function, vpx_tool_path(). Provides
  support for finding the exectuables in vpx{dec,enc}.sh.

Change-Id: I730f11cceb44646491a7a7ff58603a4a760129ef
Merge "Removing active_arnr_{strength, frames} from VP9_COMP."
Merge "vp8cx_set_ref: Flush encoder."
Merge "Cleaning up vp9_encoder.c."
Merge "examples.sh: Run all example tests."
Merge "Removes fileno check to prevent valgrind error"