correct WebPMemoryWriterClear ABI check

this function was introduced in 0x0204; fix checks related to this to be
> 0x0203 instead of 0x0202, pointed out on ffmpeg-devel.

Change-Id: I52cd2b98304baf1eb9a83094e2374f2120a1546b
correct alpha_dithering_strength ABI check

the ABI wasn't bumped with this addition, but it's more correct to say
it was added with 0x0205 rather than 0x0204

Change-Id: I2ba12a33b612fac16bdfeb8272e76b0ea84f3938
cwebp.1: restore quality description

based on:
d3485d9 cwebp.1: fix quality description placement

Change-Id: I8bd16db7f39cc9ff816cc02c04a455493e550c26
dsp: detect mips64 & disable mips32 code

(cherry picked from commit 0524d9e5e83babd417539e042dec5ed1affc7ef2)

Change-Id: Icf68dafd5cf0614ca25b36a0252caa1784ac8059
bit_writer: cosmetics: rename kFlush() -> Flush()

(cherry picked from commit 4c6dde37b959cc71b6c7309d2e1e5701d74ce434)

Change-Id: I8907927974188bee85ffade1d75d2e50817aa115
vp8enci.h: cosmetics: fix '*' placement

associate with the type

(cherry picked from commit b47fb00ac0bbb3554b36bbe736f7933e5894bd69)

Change-Id: Icf94f11bf79f6ccee3150e27b228755f8f3f0f37
cosmetics: remove some extraneous 'extern's

(cherry picked from commit f7b4c48bbacf637efa4368c5573fc1cdffae22eb)

Change-Id: Ib3f0cff37120c51633387dd1c46592c53ab0ba6d
cosmetics

fix some indent/whitespace, remove a few duplicate includes, extra
semi-colons

(cherry picked from commit e300c9d8191db55e113f0aa8effc7a57c6219a41)

Change-Id: If937182b40a21e0f2028496e7b4b06c6e8a41352
Correctly use the AC_CANONICAL_* macros

http://www.gnu.org/software/autoconf/manual/autoconf.html#Using-System-Type

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
(cherry picked from commit 63c2fc02ce3d0674a0a6d1e10e9ee04a76aa9d5d)

Change-Id: I40a13e84f5266ed20bc4db098502b1610ab71206
MIPS: detect mips32r6 and disable mips32r1 code

(cherry picked from commit b7e5a5c451dfead56672703299a44e1e9907becd)

Change-Id: Id1325c789a990c9a8704e84e99a22d580303eb8a
Update PATENTS to reflect s/VP8/WebM/g

Sync with http://www.webmproject.org/license/additional/

modified:   PATENTS

(cherry picked from commit dab702b357a011cf0bdbf01acb0e4e28bfb3a1bb)

Change-Id: I9f7af36fdcf57a82311363a043707b181832fc18
MIPS: mips32r2: added optimization for BSwap32

gcc < 4.8.3 doesn't translate bswap optimally.
use optimized version always

(cherry picked from commit 98c54107df065ff224bd925e670effc7dc8253e6)

Change-Id: I979ea26ad6dc0166d3d2f39c4148eb8adfb7ddec
configure: add work around for gcc-4.9 aarch64 bug

add -frename-registers to avoid:
src/dsp/dec_neon.c:1234:1: internal
compiler error: in simplify_const_unary_operation, at
simplify-rtx.c:1539

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62040
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61622
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757738

(cherry picked from commit e2b8cec05b2d18892c8375b575a727dbeb95c864)

Change-Id: I52fb3a29ac30b82b27da05378bdb495ddebb97d7
Add smart RGB->YUV conversion option -pre 4

New function: WebPPictureSmartARGBToYUVA()
This implement smart RGB->YUV conversion.

This is rather undocumented for now, and is triggered using '-pre 4'
preprocessing option.

This is slow-ish and use quite some memory, but should be improvable.
This is somehow a usable beta version.

(cherry picked from commit 3fc4c539aa00c325eba9ef8faec30ec241d71e9c)

Change-Id: Ia50a8c30134e4cab8a7d3eb70aef13ce1f6187a1
faster RGB->YUV conversion function (~7% speedup)

with a special case for dithering==0., it gets somewhat faster on x86
thanks to inlining.

Also, less macros.

(cherry picked from commit e2a83d71091abc3e5177ee0ffc4ceb18c7714fab)

Change-Id: Ic2f2bf6718310743bb40cef2104fa759a073e6d5
cpu: check for _MSC_VER before using msvc inline asm

_M_IX86 will be defined in mingw builds after including windows.h. as
the gcc inline asm is first, this missing check would only have caused
an error if the code was reorganized.

(cherry picked from commit 3fca851a202e5b1018a2cc491b9e005913394afe)

Change-Id: I395679bcfc43e94d308d1ceb0c0fbf932b2c378c
fix some MSVC64 warning about float conversion

(cherry picked from commit ee52dc4e549b0f13c86d2a34cfd9d6f96209f35c)

Change-Id: I27ab27fc15033d27d0505729f6275fb542c8d473
SmartRGBYUV: fix odd-width problem with pixel replication

rightmost pixel was missing a copy, which could lead to invalid read.

Also added a lower dimension of 4, below which we use the regular conversion.
This is to prevent corner cases, in addition to not being overkill.

(cherry picked from commit 2523aa73cb0aa337aaa5cd480a47a65476cdeb2c)

Change-Id: Iac12e7a3d74590f12fe8eeb1830b9891e61439f6
enc_neon: enable QuantizeBlock for aarch64

vtbl4_u8 is available everywhere except iOS arm64: use vtbl2q_u8 there
with a corresponding change in the load.

(cherry picked from commit 953acd56a413da79c5b7235e7839dc57d2e68430)

Change-Id: Ib84212dda3c7875348282726c29e3b79b78b0eac
dsp.h: collect gcc/clang version test macros

endian_inl.h already relies on dsp.h, grab the definitions from there.

(cherry picked from commit 8323a9038d3dcd722516f874a3310e16be5b10b2)

Change-Id: I445f7d0631723043c55da1070498f89965bec7b1