Sync-patch with libwebp (ChangeId: Ia5475247)

Added 16bit swapping of RGB565 / RGB4444 colorspace.
Added ARM/NEON code for decoder/encoder modules.
Speedup in WebP compression (method 3 and above).

Change-Id: I95a697338bef7c3ea08054eb5f850a97d1889eb9
diff --git a/README b/README
index d3f4062..cd13585 100644
--- a/README
+++ b/README
@@ -4,7 +4,7 @@
           \__\__/\____/\_____/__/ ____  ___
                 / _/ /    \    \ /  _ \/ _/
                /  \_/   / /   \ \   __/  \__
-               \____/____/\_____/_____/____/v0.2.0
+               \____/____/\_____/_____/____/v0.2.1
 
 Description:
 ============
@@ -25,8 +25,8 @@
 Building:
 =========
 
-Windows build (without experimental features):
-----------------------------------------------
+Windows build:
+--------------
 
 By running:
 
@@ -38,49 +38,6 @@
 The target architecture (x86/x64) is detected by Makefile.vc from the Visual
 Studio compiler (cl.exe) available in the system path.
 
-Windows build (with experimental features):
--------------------------------------------
-
-This release requires the zlib library. This library is not common under
-Windows nor can it be replaced with calls to the Windows API, so you will need
-to download it or build it yourself.
-
-You can either:
-(a) Link zlib dynamically (as a DLL).
-(b) Link zlib statically.
-
-Linking it dynamically is easier to do (as you can download a precompiled DLL),
-but a bit more cumbersome to use - you need to keep zlib1.dll in the same
-directory as the created EXEs.
-
-a. With dynamic zlib
-~~~~~~~~~~~~~~~~~~~~
-1. Download and unpack the archive from http://zlib.net/zlib125-dll.zip.
-2. Compile libwebp with the command:
-  nmake /f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output \
-      ZDLLDIR=C:\path\to\the\unpacked\archive EXPERIMENTAL=y
-3. Copy C:\path\to\the\unpacked\archive\zlib1.dll to
-   output\release-static\x86\bin for binaries there to work.
-Note: only a 32-bit DLL is currently available for download, so for a 64-bit
-build, you will need to build the DLL yourself.
-
-b. With static zlib
-~~~~~~~~~~~~~~~~~~~
-
-1. Download and unpack the source code from http://zlib.net/zlib125.zip.
-2. For a 32-bit build of zlib compatible with libwebp:
-  a. Edit zlib's win32\Makefile.msc, adding "-SAFESEH" to ASFLAGS.
-  b. Compile zlib with the command:
-    nmake /f win32/Makefile.msc LOC="-DASMV -DASMINF -MT" \
-        OBJA="inffas32.obj match686.obj"
-3. Compile libwebp with the command
-  nmake /f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output \
-      ZLIBDIR=C:\path\to\the\unpacked\archive experimental
-4. Use the binaries in output\release-static\x86\bin.
-Note: a 64-bit build of zlib requires different modifications of
-Makefile.msc.
-
-
 Unix build using makefile.unix:
 -------------------------------
 
@@ -194,12 +151,15 @@
   -sns <int> ............. Spatial Noise Shaping (0:off, 100:max)
   -f <int> ............... filter strength (0=off..100)
   -sharpness <int> ....... filter sharpness (0:most .. 7:least sharp)
-  -strong ................ use strong filter instead of simple.
+  -strong ................ use strong filter instead of simple (default).
+  -nostrong .............. use simple filter instead of strong.
   -partition_limit <int> . limit quality to fit the 512k limit on
                            the first partition (0=no degradation ... 100=full)
   -pass <int> ............ analysis pass number (1..10)
   -crop <x> <y> <w> <h> .. crop picture with the given rectangle
   -resize <w> <h> ........ resize picture (after any cropping)
+  -mt .................... use multi-threading if available
+  -low_memory ............ reduce memory usage (slower encoding)
   -map <int> ............. print map of extra info.
   -print_psnr ............ prints averaged PSNR distortion.
   -print_ssim ............ prints averaged SSIM distortion.
@@ -214,6 +174,10 @@
   -hint <string> ......... Specify image characteristics hint.
                            One of: photo, picture or graph
 
+  -metadata <string> ..... comma separated list of metadata to
+                           copy from the input to the output if present.
+                           Valid values: all, none (default), exif, iccp, xmp
+
   -short ................. condense printed message
   -quiet ................. don't print anything.
   -version ............... print version number and exit.
@@ -222,6 +186,7 @@
   -progress .............. report encoding progress
 
 Experimental Options:
+  -jpeg_like ............. Roughly match expected JPEG size.
   -af .................... auto-adjust filter strength.
   -pre <int> ............. pre-processing filter
 
@@ -249,8 +214,8 @@
      in-loop processing. The higher the value, the smoother the
      highly-compressed area will look. This is particularly useful when aiming
      at very small files. Typical values are around 20-30. Note that using the
-     option -strong will change the type of filtering. Use "-f 0" to turn
-     filtering off.
+     option -strong/-nostrong will change the type of filtering. Use "-f 0" to
+     turn filtering off.
   * 'm' controls the trade-off between encoding speed and quality. Default is 4.
      You can try -m 5 or -m 6 to explore more (time-consuming) encoding
      possibilities. A lower value will result in faster encoding at the expense
@@ -279,6 +244,8 @@
   -ppm ......... save the raw RGB samples as a color PPM
   -pgm ......... save the raw YUV samples as a grayscale PGM
                  file with IMC4 layout.
+  -yuv ......... save the raw YUV samples in flat layout.
+
  Other options are:
   -version  .... print version number and exit.
   -nofancy ..... don't use the fancy YUV420 upscaler.