1170a8712 Fix check_c_source_compiles with pthread.
285995719 disable CombinedShannonEntropy_SSE2 on x86
38af7436f Merge "{ios,xcframework}build.sh: make min version(s) more visible" into 1.2.0
4e56c3c5b pngdec: raise memory limit if needed
513b8e9fe {ios,xcframework}build.sh: make min version(s) more visible
6a9225410 animdecoder_fuzzer: fix memory leak
7d6c2285d update gradle to 6.1.1
852ce6333 update NEWS
928c49820 bump version to 1.2.0
107363dff2 webp/encode.h: restore WEBP_ENCODER_ABI_VERSION to v1.1.0
11826aafa5 update AUTHORS
1263258823 animdecoder_fuzzer: validate canvas size
139eb26381 CMake: remove duplicate "include(GNUInstallDirs)"
142e7bed79 WebPPicture: clarify the ownership of user-owned data.
15cccf5e33 webpmux: add an '-set loop <value>' option
16c9a3f6a1 Merge changes Ie29f9867,I289c54c4
17319f56f1 iosbuild.sh: sync some aspects of xcframeworkbuild.sh
18e8e8db98 add xcframeworkbuild.sh
19ae545534 dsp.h: allow config.h to override MSVC SIMD autodetection
20fef789f3 Merge "cmake: fix per-file assembly flags"
21fc14fc03 Have C encoding predictors use decoding predictors.
227656f0b3 README,cosmetics: fix a couple typos
23d2e245ea cmake: disable webp.js if WEBP_ENABLE_SIMD=1
2496099a79 cmake: fix per-file assembly flags
255abb5582 Merge "cmake: fix compilation w/Xcode generator"
268484a120 cmake: fix compilation w/Xcode generator
27d7bf01c9 Merge changes Ifcae0f38,Iee2d7401
2836c81ff6 WASM-SIMD: port 2 patches from rreverser@'s tree
29988b02ab Merge "Couple of fixes to allow SIMD on Emscripten"
3026faf770 wicdec: fail with animated images
31ab2d08a8 [cd]webp: document lack of animated webp support
3252273943 Couple of fixes to allow SIMD on Emscripten
338870ba7f Fix skia bug #10952
344b3c6953 Detect if StoreFrame read more than anmf_payload_size bytes
3517fd4ba8 webp/decode.h,cosmetics: normalize 'flip' comment
36411d3677 remove some unreachable break statements
373700ffd7 WebPPictureHasTransparency: remove unreachable return
3883604bf3 {animencoder,enc_dec}_fuzzer: convert some abort()s to returns
39eb44119c Merge changes I8ae09473,I678c8b1e
409f6055fc fuzz_utils.h: rename max() to Max()
41695788e7 fuzz_utils.h: make functions WEBP_INLINE
42906c1fcd make ImgIoUtilReadFile use WebPMalloc instead of malloc
438cb7e536 rename demux_api_fuzzer.c -> mux_demux_api_fuzzer.c
44443db47d add animdecoder_fuzzer.cc
4536a6eea3 Merge "import fuzzers from oss-fuzz/chromium"
46ec5f12c1 Makefile.vc: remove deprecated /Gm option
4764425a08 picture_tools_enc: fix windows build warning
48bd94090a import fuzzers from oss-fuzz/chromium
49cf847cba use WEBP_DSP_INIT_FUNC for Init{GammaTables*,GetCoeffs}
5055a080e5 Add WebPReplaceTransparentPixels() in dsp
5184739717 GetBackgroundColorGIF: promote to uint32_t before << 24
52def64e92 cwebp: Fix -print_psnr for near_lossless
53cf2f88b3 Add palette and spatial for q >= 75 and -m 5
54f0110bae Add no-color cache configuration to the cruncher
55749a8b99 Better estimate of the cache cost.
564f9f00cc Use spatial predictors on top of palette no matter what.
577658c686 Add spatial prediction on top of palette in cruncher.
58133ff0e3 webp_js: force WASM=0 option explicitly
59e3c259a2 Fix integer overflow in EmitFancyRGB.
60b3ff0bde man/{gif2,img2}webp,webpmux: normalize some wording
61f9b30586 fix ABI breakage introduced by 6a0ff358
621d58dcfc README.webp_js: update note about emscripten version
6344070266 README.webp_js: s/fastcomp/upstream/
642565fa8f README.webp_js: update cmake command
6547309ef5 webp: WEBP_OFFSET_PTR()
66687ab00e DC{4,8,16}_NEON: replace vmovl w/vaddl
671b92fe75 DC16_NEON,aarch64: use vaddlv
6853f3d8cf dec_neon,DC8_NEON: use vaddlv instead of movl+vaddv
6927d08240 Fix integer overflow in WebPAnimDecoderGetNext()
7069776e38 Merge "remove call to MBAnalyzeBestIntra4Mode for method >= 5"
71a99078c1 remove call to MBAnalyzeBestIntra4Mode for method >= 5
7222e404cc CMakeLists.txt: fix set(CACHE) argument order
7371690b52 fix MSVC warning
746a0ff358 Enc: add a qmin / qmax range for quality factor
750fa56f30 Merge tag 'v1.1.0'
766cf504d0 PNM decoding: handle max_value != 255
77d7844e97 update ChangeLog (tag: v1.1.0-rc2, tag: v1.1.0, origin/1.1.0)
787f006436 Makefile.vc: fix webp_quality.exe link
79cf047e83 Makefile.vc: fix webp_quality.exe link
80c074c653 update NEWS
8130f09551 bump version to 1.1.0
82a76694a1 update AUTHORS
836e3ef7b3 extras: fix WEBP_SWAP_16BIT_CSP check
8447178dbd extras: add WebPUnmultiplyARGB() convenience function
8522cbae33 idec_dec: fix 0 offset of NULL pointer
86290dd0b4 muxread: fix 0 offset of NULL pointer
870df474ac Merge "lossless_(enc_|)sse2: avoid offsetting a NULL pointer"
88c6b75a19 lossless_(enc_|)sse2: avoid offsetting a NULL pointer
89295e5e38 fix UBSAN warning
90e2575e05 DC8_NEON,aarch64: use vaddv
91b0e09e34 dec_neon: Fix build failure under some toolchains
92cf0e903c dsp/lossless: Fix non gcc ARM builds
93bb7bc40b Remove ubsan errors.
9478881b76 CMake: fix GLUT library link
959f750f7a cmake: fix BUILD_SHARED_LIBS build on mac
9617850e74 libwebp: Remove char-subscripts warning in pnmdec.c
972fa2552d Merge "Expose WebPMalloc() in addition to WebPFree()"
98a4df4aae Expose WebPMalloc() in addition to WebPFree()
99853ea3d8 imageio/tiff: Return error before allocating bad tile size
100af650c0b Fix a Wxor-used-as-pow false positive
101601ef17c libwebp.py: update to swig 3.0.12
1020e48d889 bugfix: last alpha rows were incorrectly decoded
10324d2ccb4 webp: Fix imageio ReadPNM() TUPLTYPE
104fab8f9cf cosmetics: normalize '*' association
10594138e0e update .gitignore
1060fe1a89d update ChangeLog (tag: v1.0.3-rc1, tag: v1.0.3)
1072ad0916d update NEWS
1081287362b bump version to 1.0.3
1097b968cc2 update AUTHORS
1109d6988f4 Fix the oscillating prediction problem at low quality
111312f74d0 makefile.unix: allow *_LIBS to be overridden w/EXTRA_LIBS
11292dbf237 filters_sse2,cosmetics: shorten some long lines
113a277d197 filters_sse2.c: quiet integer sanitizer warnings
114804540f1 Fix cpufeatures in CMake.
115bf00c15b Add CMake option for bittrace.
116a788b498 filters_sse2.c: quiet integer sanitizer warnings
117e6a92c5e filters.c: quiet integer sanitizer warnings
118ec1cc40a lossless.c: remove U32 -> S8 conversion warnings
1191106478f remove conversion U32 -> S8 warnings
120812a6b49 lossless_enc: fix some conversion warning
1214627c1c9 lossless_enc,TransformColorBlue: quiet uint32_t conv warning
122c84673a6 lossless_enc_sse{2,41}: quiet signed conv warnings
123776a7757 dec_sse2: quiet signed conv warnings
124bd39c063 Merge "thread_utils: release mutex before signaling"
1250550576f Merge "(alpha_processing,enc}_sse2: quiet signed conv warnings"
1266682f2c4 thread_utils: release mutex before signaling
127e78dea75 (alpha_processing,enc}_sse2: quiet signed conv warnings
1289acf18ba iosbuild.sh: add WebP{Demux,Mux}.framework
129b9be7e65 vwebp: remove the -fit option (and make it default)
1301394a2bb Merge "README.webp_js: update Emscripten.cmake note"
131dd3e7f8a README.webp_js: update Emscripten.cmake note
13232cf8801 predictor_enc,GetBestGreenRedToBlue: quiet implicit conv warnings
133e1c8acb5 Merge "vwebp: add a -fit option"
134cbd23dd5 vwebp: add a -fit option
1352e672351 bit_writer_utils,Flush: quiet implicit conversion warnings
1361326988d swig: update libwebp_python_wrap.c
1370e7f8548 update generated swig files
13817ed1438 Merge "PutLE{16,24}: quiet implicit conversion warnings"
13924686538 PutLE{16,24}: quiet implicit conversion warnings
140153bb3a0 fix some clang-7 warnings:
141ab2dc893 Rescaler: fix rounding error
142aa65f89a HistogramCombineStochastic: fix free of uninit value
143af0bac64 Merge "encode.h: mention 'exact' default in WebPEncodeLossless*"
1446d2e11ec encode.h: mention 'exact' default in WebPEncodeLossless*
1458c3f04fe AndroidCPUInfo: reorder terms in conditional
146fcfd9c71 BitTrace: if BITTRACE is > 0, record and print syntax bits used
147067031ea Speedups for unused Huffman groups.
14801ac46ba libwebp: Display "libjpeg error:" in imageio/jpegdec
149d9a662e1 WebPRescalerGetScaledDimensions: round scaled dimension up
15062eb3f08 libwebp: Fix missing '{' in README
151e05f785a Merge "unicode,INIT_WARGV: add missing cast"
15263c9a69f tag the VP8LHashPix() function for potential uint roll-over
1532b7214ab unicode,INIT_WARGV: add missing cast
154bf424b46 tag the GetPixPairHash64() function for potential uint roll-over
1557d05d6ca Have the color cache computation be u32-bit only.
1566bcf8769 Remove BINARYEN_METHOD in wasm settings.
1572b98df90 update ChangeLog (tag: v1.0.2-rc1, tag: v1.0.2)
15861e372b7 update NEWS
1597ae658a0 bump version to 1.0.2
16051c4907d update AUTHORS
161666bd6c6 man/cwebp.1: refine near-lossless text
162561cdce5 Clarify the doc about GetFeatures.
163aec2cf02 near_lossless: fix fuzzing-detected integer overflow
164928a75de webp: Fix VP8LBitWriterClone() bug
1655173d4ee neon IsFlat
1665b081219 IsFlat: inline when possible
167381b7b54 IsFlat: use int for thresh
1686ed15ea1 fix unprobable leak in webp_sdl.c
16922bbb24e Merge "IsFlat: return int"
1708b3fb238 Merge tag 'v1.0.1'
171f435de95 IsFlat: return int
17241521aed utils.h: only define WEBP_NEED_LOG_TABLE_8BIT when needed
1739f4d4a3f neon: GetResidualCost
1740fd7514b neon: SetResidualCoeffs
175f95a996c Simpler histogram clustering.
176e85d3313 update ChangeLog (tag: v1.0.1-rc2, tag: v1.0.1)
177fa8210e4 Fix pair update in stochastic entropy merging.
178fd198f73 add codereview.settings
179825389ac README.mux: add a reference to the AnimDecoder API
1803be698c3 CMake: fix webp_js compilation
181485ff86f Fix pair update in stochastic entropy merging.
1824cd0582d CMake: fix webp_js compilation
1834cbb4caf update NEWS
184f5a5918d bump version to 1.0.1
185d61385db Speed-up: Make sure we only initialize histograms when needed.
1866752904b Speed-up: Make sure we only initialize histograms when needed.
1870c570316 update AUTHORS
188301a2dda img2webp: add help note about arguments from a file
189f0abab92 Speedups for empty histograms.
190f2dfd925 Split HistogramAdd to only have the high level logic in C.
19106b7bc7d Fix compilation on windows and clang-cl+ninja.
192b6284d82 img2webp: add help note about arguments from a file
193decf6f6b Speedups for empty histograms.
194dea3e899 Split HistogramAdd to only have the high level logic in C.
195632798ae Merge "Fix compilation on windows and clang-cl+ninja."
196dc1a9518 Merge "libwebp: Unicode command tools on Windows"
1979cf9841b libwebp: Unicode command tools on Windows
19898179495 remove some minor TODOs
199a376e7b9 Fix compilation on windows and clang-cl+ninja.
200cbf82cc0 Remove AVX2 files.
2015030e902 Merge "TIFF decoder: remove unused KINV definition"
202ac543311 Remove a few more useless #defines
203123d3306 TIFF decoder: remove unused KINV definition
204ef1094b0 Merge "- install pkg-config files during the CMake build"
205b911fbc9 libwebp: Remove duplicate GIFDisplayError in anim_util
206eee00b66 - install pkg-config files during the CMake build
207ac3ec8c9 Merge "Clean-up the common sources in dsp."
2083e13da7b Clean-up the common sources in dsp.
2095c395f1d libwebp: cmake-format all
210e7a69729 libwebp: Add extras targets in CMakeLists.txt
211e52485d6 libwebp: Rename macros in webpmux.c
21292dc0f09 clean-up MakeInputImageCopy()
21339952de2 VP8IteratorImport: add missing 'const'
214382af7a2 clean-up WebPBlendAlpha
21514d020f6 libwebp: Use ExUtilGet*() in anim_diff
2160d92ff25 libwebp: remove useless variable in gif2webp
217556cb1b4 Merge "CMake: Set WEBP_BUILD_GIF2WEBP to off"
218da26ee49 CMake: Set WEBP_BUILD_GIF2WEBP to off
219b2a867c0 cwebp: Don't premultiply during -resize if -exact
220637141bc pngdec: fix build w/libpng < 1.4.x
221bc5092b1 pngdec: set memory functions
22250d8345a Fix CMake math library.
2236aa3e8aa Fix math library on Visual Studio.
224d71df4e2 Fix math library finding in CMake.
225de08d727 cosmetics: normalize include guard comment
226009562b4 vwebp: Fix bug when Dispose then NoBlend frames
227423f2579 Fix up CMake to create targets.
228907208f9 Wait for all threads to be done in DecodeRemaining.
2294649b3c4 vwebp: Add background color display option
23078ad57a3 Fix bad glClearColor parameters
231da96d8d9 Allow for a non-initialized alpha decompressor in DoRemap.
2322563db47 fix rescaling rounding inaccuracy
233211f37ee fix endian problems in pattern copy
2345f0f5c07 Make sure partition #0 is read before VP8 data in IDecode.
235de98732b fix GetColorf() bug
2364338cd36 misc fixes in libwebpmux
237e00af13e fix signatures after a9ceda7ff1
238a9ceda7f Speed-up chunk list operations.
2392281bbf6 Merge "Better handling of bogus Huffman codes."
24039cb9aad Better handling of bogus Huffman codes.
24189cc9d37 Merge "fix read-overflow while parsing VP8X chunk"
24295fd6507 fix read-overflow while parsing VP8X chunk
2439e729fe1 Fix VP8IoTeardownHook being called twice on worker sync failure
24429fb8562 Merge "muxread,anmf: fail on multiple image chunks"
245eb82ce76 muxread,anmf: fail on multiple image chunks
2461344a2e9 fix alpha-filtering crash when image width is larger than radius
247be738c6d muxread,ChunkVerifyAndAssign: validate chunk_size
2482c70ad76 muxread,CreateInternal: fix riff size checks
249569001f1 Fix for thread race heap-use-after-free
250c56a02d9 Android.mk: use LOCAL_EXPORT_C_INCLUDES w/public libs
25115795596 CMakeLists.txt,cosmetics: normalize if() formatting
2521a44c233 Merge "cmake: add support for webpmux"
253e9569ad7 Merge "configure,*am,cosmetics: s/WANT_/BUILD_/"
25435c7de6f cmake: add support for webpmux
2550f25e61c WebpToSDL(): fix the return value in case of error
2565d8985de configure,*am,cosmetics: s/WANT_/BUILD_/
257895fd28f Merge "man/Makefile.am: add img2webp.1"
2585cf3e2af man/Makefile.am: add img2webp.1
2592a9de5b9 Add build rules for anim_diff & anim_dump utils.
26071ed73cf fix invalid check for buffer size
261af0e4fbb gif2webp: fix transcode of loop count=65535
262dce5d764 Limit memory allocation when reading invalid Huffman codes.
263f9df0081 Merge "cmake: quiet glut deprecation warnings on OS X"
264dc39b16f webpmux.1: correct grammar
265c7aa1264 cwebp.c: fix a missing \n
26653aa51e9 Merge tag 'v1.0.0'
267698b8844 update ChangeLog (tag: v1.0.0)
2688d510751 webp-container-spec: correct frame duration=0 note
269e6b2164e vwebp: Copy Chrome's behavior w/frame duration == 0
270094b3b28 cmake: quiet glut deprecation warnings on OS X
27171c39a06 webp-container-spec: correct frame duration=0 note
272fd3d5756 vwebp: Copy Chrome's behavior w/frame duration == 0
273b0c966fb Build vwebp from CMake.
274d20b7707 update ChangeLog (tag: v1.0.0-rc3)
2750d5fad46 add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNC
276d77bf512 add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNC
277c1cb86af fix 16b overflow in SSE2
278e577feb7 makefile.unix: add DEBUG flag for compiling w/ debug-symbol
27999be34b3 cwebp,get_disto: fix bpp output
280e122e511 cwebp,get_disto: fix bpp output
281f5565ca8 cmake: Make sure we use near-lossless by default.
282d898dc14 fix bug in WebPImport565: alpha value was not set
2831c8f358d Fix CMake with WASM.
284a0215fb7 webp_js: fix webp_js demo html
285882784b0 update ChangeLog (tag: v1.0.0-rc2)
2862f930e08 Revert "Use proper targets for CMake."
2878165e8fb Use proper targets for CMake.
2883f157dd5 Remove some very hard TODOs.
289abb47760 Merge "Use proper targets for CMake."
290cd758a17 {de,}mux/Makefile.am: add missing headers
291e155dda0 Use proper targets for CMake.
292b892b8ba makefile.unix,dist: use ascii for text output
29364a57d05 add -version option to anim_dump,anim_diff and img2webp
294994be82d Merge "Remove some very hard TODOs."
2954033e1d7 Remove some very hard TODOs.
296fc1b8e3a webp_js: fix webp_js demo html
29715aa48d9 update ChangeLog (tag: v1.0.0-rc1)
298e607dabc update AUTHORS
29938410c08 [CFI] Remove function pointer casts
300978eec25 [CFI] Remove function pointer casts
301c57b2736 bump version to 1.0.0
302cba28853 update NEWS
303c909d531 Merge "remove some deprecation warning on MacOSX"
304217443c7 remove some deprecation warning on MacOSX
305b672bdfa configure: quiet glut deprecation warnings on OS X
306daa9fcaf configure: use sdl-config if available
307dd174cae Merge "imagedec: support metadata reading for WebP image decoding"
308641cedcc imagedec: support metadata reading for WebP image decoding
309065b2ce1 anim_diff: add a couple missing newlines in Help()
310c4cc1147 Merge "gif2webp: force low duration frames to 100ms"
31109333097 gif2webp: force low duration frames to 100ms
312e03f0ec3 sharp_yuv: use 14b fixed-point precision for gamma
313b2db361c image_enc,WebPWritePNG: move locals after setjmp
31474e82ec6 Merge "WebPPictureDistortion: fix big-endian results order"
315645d04ca Merge "cwebp,get_disto: report bpp"
316120f58c3 Merge "lossless*sse2: improve non-const 16-bit vector creation"
317a7fe9412 WebPPictureDistortion: fix big-endian results order
318e26fe066 cwebp,get_disto: report bpp
3199df64e28 Merge changes Id5b4a1a4,Ia20ce844
3208043504f lossless*sse2: improve non-const 16-bit vector creation
3211e3dfc48 Import: extract condition from loop
3223b07d327 Import,RGBA: fix for BigEndian import
323551948e4 Remove unused argument in VP8LBitsEntropy.
3243005237a ReadWebP: fix for big-endian
325499c395a Merge "anim_diff: expose the -max_diff option"
326f69dcd69 Merge "remove WEBP_EXPERIMENTAL_FEATURES"
32707d884d5 anim_diff: expose the -max_diff option
328f4dd9256 remove WEBP_EXPERIMENTAL_FEATURES
32994a8377b extract the command-line parsing helpers to example_util
330fc09e6e2 PNM decoder: prevent unsupported depth=2 PAM case.
3316de58603 MIPS64: Fix defined-but-not-used errors with WEBP_REDUCE_CSP
332cbde5728 gif2webp: add support for reading from stdin
333cf1c5054 Add an SSE4 version of some lossless color transforms.
33445a8b5eb Fix lint error with man page.
335cff38e8f Merge "PNG decoder: handle gAMA chunk"
33659cb1a48 Merge "enable dc error-diffusion always"
33778318b30 PNG decoder: handle gAMA chunk
338664c21dd Merge "remove some TODOs"
339815652de enable dc error-diffusion always
340aec45cec remove some TODOs
3415715dfce fix block-count[] increment in case of large image
342c2d04f3e enable DC error-diffusion always for multi-pass
34396bf07c5 use DC error diffusion for U/V at low-quality
3441c59020b fix missing sse41 targets in makefile.unix
3457a8e814b cosmetics: s/color_space/colorspace/
34605f6fe24 upsampling: rm asserts w/REDUCE_CSP+OMIT_C_CODE
347b4cf5597 Merge "Upsampling SSE2/SSE4 speedup."
348ccbeb32c Makefile.vc: add missing sse41 files
34955403a9a Upsampling SSE2/SSE4 speedup.
350807b53c4 Implement the upsampling/yuv functions in SSE41
35184101a81 Fix wasm WebP compilation
3528bebd2a3 fix warning on MSVC
353a7f93fe3 webpmux: allow reading argument from a file
354b69f18a7 gif2webp.1: fix -loop_compatibility layout
35572d530c0 Merge "fix lossless decoding w/WEBP_REDUCE_SIZE"
356296c7dc4 fix lossless decoding w/WEBP_REDUCE_SIZE
3570d5d029c Merge "ImgIoUtilReadFile: fix file leak upon error"
358ae568ce7 ImgIoUtilReadFile: fix file leak upon error
359796b5a8a Merge tag 'v0.6.1'
3606b7a95fd update ChangeLog (tag: v0.6.1)
361f66955de WEBP_REDUCE_CSP: restrict colorspace support
3621af0df76 Merge "WEBP_REDUCE_CSP: restrict colorspace support"
3636de20df0 WEBP_REDUCE_CSP: restrict colorspace support
364a289d8e7 update ChangeLog (tag: v0.6.1-rc2)
365c10a493c vwebp: disable double buffering on windows & mac
3660d4466c2 webp_to_sdl.c: fix file mode
3671b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code
368126be109 webpinfo: add -version option
3690df22b9e WEBP_REDUCE_SIZE: disable all rescaler code
3709add62b5 bump version to 0.6.1
371d3e26144 update NEWS
3722edda639 README: add webpinfo section
3739ca568ef Merge "right-size some tables"
37431f1995c Merge "SSE2 implementation of HasAlphaXXX"
375a80c46bd SSE2 implementation of HasAlphaXXX
376083507f2 right-size some tables
3772e5785b2 anim_utils.c: remove warning when !defined(WEBP_HAVE_GIF)
378b299c47e add WEBP_REDUCE_SIZE
379f593d71a enc: disable pic->stats/extra_info w/WEBP_DISABLE_STATS
380541179a9 Merge "predictor_enc: fix build w/--disable-near-lossless"
3815755a7ec predictor_enc: fix build w/--disable-near-lossless
382eab5bab7 add WEBP_DISABLE_STATS
3838052c585 remove some petty TODOs from vwebp.
384c245343d move LOAD8x4 and STORE8x2 closer to their use location
385b9e734fd dec,cosmetics: normalize function naming style
386c188d546 dec: harmonize function suffixes
38728c5ac81 dec_sse41: harmonize function suffixes
388e65b72a3 Merge "introduce WebPHasAlpha8b and WebPHasAlpha32b"
389b94cee98 dec_sse2: remove HE8uv_SSE2
39044a0ee3f introduce WebPHasAlpha8b and WebPHasAlpha32b
391aebf59ac Merge "WebPPictureAllocARGB: align argb allocation"
392c184665e WebPPictureAllocARGB: align argb allocation
3933daf7509 WebPParseHeaders: remove obsolete animation TODO
39480285d97 cmake: avoid security warnings under msvc
395650eac55 cmake: don't set -Wall with MSVC
396c462cd00 Remove useless code.
39701a98217 Merge "remove WebPWorkerImpl declaration from the header"
3983c49fc47 Merge "thread_utils: fix potentially bad call to Execute"
399fde2782e thread_utils: fix potentially bad call to Execute
4002a270c1d remove WebPWorkerImpl declaration from the header
401f1f437cc remove mention of 'lossy-only parameters' from the doc
4023879074d Merge "WebPMemToUint32: remove ptr cast to int"
40304b029d2 WebPMemToUint32: remove ptr cast to int
404b7971d0e dsp: avoid defining _C functions w/NEON builds
4056ba98764 webpdec: correct alloc size check w/use_argb
4065cfb3b0f normalize include guards
407f433205e Merge changes Ia17c7dfc,I75423abb,Ia2f716b4,I161caa14,I4210081a, ...
4088d033b14 {dec,enc}_neon: harmonize function suffixes x2
4090295e981 upsampling_neon: harmonize function suffixes
410d572c4e5 yuv_neon: harmonize function suffixes
411ab9c2500 rescaler_neon: harmonize function suffixes
41293e0ce27 lossless_neon: harmonize function suffixes
41322fbc50e lossless_enc_neon: harmonize function suffixes
414447875b4 filters_neon,cosmetics: fix indent
415e51bdd43 remove unused VP8TokenToStats() function
416785da7ea enc_neon: harmonize function suffixes
417bc1a251f dec_neon: harmonize function suffixes
41861e535f1 dsp/lossless: workaround gcc-4.8 bug on arm
41968b2eab7 cwebp: fix alpha reporting w/lossless & metadata
42030042faa WebPDemuxGetI: add doc details around WebPFormatFeature
4210a17f471 Merge "WIP: list includes as descendants of the project dir"
422a4399721 WIP: list includes as descendants of the project dir
42308275708 Merge "Make sure we reach the full range for alpha blending."
424d361a6a7 yuv_sse2: harmonize function suffixes
4256921aa6f upsampling_sse2: harmonize function suffixes
42608c67d3e ssim_sse2: harmonize function suffixes
427582a1b57 rescaler_sse2: harmonize function suffixes
4282c1b18ba lossless_sse2: harmonize function suffixes
4290ac46e81 lossless_enc_sse2: harmonize function suffixes
430bc634d57 enc_sse2: harmonize function suffixes
431bcb7347c dec_sse2: harmonize function suffixes
432e14ad93c Make sure we reach the full range for alpha blending.
4337038ca8d demux,StoreFrame: restore hdr size check to min req
434fb3daad6 cpu: fix ssse3 check
435be590e06 Merge "Fix CMake redefinition for HAVE_CPU_FEATURES_H"
43635f736e1 Fix CMake redefinition for HAVE_CPU_FEATURES_H
437a5216efc Fix integer overflow warning.
438a9c8916b decode.h,WebPIDecGetRGB: clarify output ptr validity
4393c74c645 gif2webp: handle 1-frame case properly + fix anim_diff
440c7f295d3 Merge "gif2webp: introduce -loop_compatibility option"
441b4e04677 gif2webp: introduce -loop_compatibility option
442f78da3de add LOCAL_CLANG_PREREQ and avoid WORK_AROUND_GCC w/3.8+
44301c426f1 define WEBP_USE_INTRINSICS w/gcc-4.9+
4448635973d use sdl-config (if available) to determine the link flags
445e9459382 use CPPFLAGS before CFLAGS
4464a9d788e Merge "Android.mk,mips: fix clang build with r15"
4474fbdc9fb Android.mk,mips: fix clang build with r15
448a80fcc4a ifdef code not used by Chrome/Android.
4493993af12 Fix signed integer overflows.
450f66f94ef anim_dump: small tool to dump frames from animated WebP
4516eba857b Merge "rationalize the Makefile.am"
452c5e34fba function definition cleanup
4533822762a rationalize the Makefile.am
454501ef6e4 configure style fix: animdiff -> anim_diff
455f8bdc268 Merge "protect against NULL dump_folder[] value in ReadAnimatedImage()"
45623bfc652 protect against NULL dump_folder[] value in ReadAnimatedImage()
4578dc3d71b cosmetics,ReadAnimatedWebP: correct function comment
4585bd40066 Merge changes I66a64a0a,I4d2e520f
4597945575c cosmetics,webpinfo: remove an else after a return
4608729fa11 cosmetics,cwebp: remove an else after a return
461f324b7f9 cosmetics: normalize fn proto & decl param names
462869eb369 CMake cleanups.
463289e62a3 Remove declaration of unimplemented VP8ApplyNearLosslessPredict
46420a94186 pnmdec,PAM: validate depth before calculating bytes_per_px
46534130afe anim_encode: fix integer overflow
46642c79aa6 Merge "Encoder: harmonize function suffixes"
467b09307dc Encoder: harmonize function suffixes
468bed0456d Merge "SSIM: harmonize the function suffix"
46954f6a3cf lossless_sse2.c: fix some missed suffix changes
470088f1dcc SSIM: harmonize the function suffix
47186fc4dd9 webpdec: use ImgIoUtilCheckSizeArgumentsOverflow
47208ea9ecd imageio: add ability restrict max image size
4736f9daa4a jpegdec,ReadError: fix leaks on error
474a0f72a4f VP8LTransformColorFunc: drop an non-respected 'const' from the signature.
4758c934902 Merge "Lossess dec: harmonize the function suffixes"
476622242aa Lossess dec: harmonize the function suffixes
4771411f027 Lossless Enc: harmonize the function suffixes
47824ad2e3c add const to two variables
47946efe062 Merge "Allow the lossless cruncher to work for alpha."
4808c3f9a47 Speed-up LZ77.
4811aef4c71 Allow the lossless cruncher to work for alpha.
482b8821dbd Improve the box LZ77 speed.
4837beed280 add missing ()s to macro parameters
4846473d20b Merge "fix Android standalone toolchain build"
485dcefed95 Merge "build.gradle: fix arm64 build"
4860c83a8bc Merge "yuv: harmonize suffix naming"
487c6d1db4b fix Android standalone toolchain build
488663a6d9d unify the ALTERNATE_CODE flag usage
48973ea9f27 yuv: harmonize suffix naming
490c71b68ac build.gradle: fix arm64 build
491c4568b47 Rescaler: harmonize the suffix naming
4926cb13b05 Merge "alpha_processing: harmonize the naming suffixes to be _C()"
49383a3e69a Merge "simplify WEBP_EXTERN macro"
4947295fde2 Merge "filters: harmonize the suffixes naming to _SSE2(), _C(), etc."
4958e42ba4c simplify WEBP_EXTERN macro
496331ab34b cost*.c: harmonize the suffix namings
497b161f670 filters: harmonize the suffixes naming to _SSE2(), _C(), etc.
498dec5e4d3 alpha_processing: harmonize the naming suffixes to be _C()
4996878d427 fix memory leak in SDL_Init()
500461ae555 Merge "configure: fix warnings in sdl check"
50162486a22 configure: test for -Wundef
50292982609 dsp.h: fix -Wundef w/__mips_dsp_rev
5030265cede configure: fix warnings in sdl check
50488c73d8a backward_references_enc.h: fix WINDOW_SIZE_BITS check
5054ea49f6b rescaler_sse2.c: fix WEBP_RESCALER_FIX -> _RFIX typo
5061b526638 Clean-up some CMake
50787f57a4b Merge "cmake: fix gif lib detection when cross compiling"
508b34a9db1 cosmetics,dec_sse2: remove some redundant comments
509471c5755 cmake: fix gif lib detection when cross compiling
510c793417a cmake: disable gif2webp if gif lib isn't found
511dcbc1c88 cmake: split gif detection from IMG deps
51266ad84f0 Merge "muxread: remove unreachable code"
51350ec3ab7 muxread: remove unreachable code
5147d67a164 Lossy encoding: smoothen transparent areas to improve compression
515e50650c7 Merge "fix signature for DISABLE_TOKEN_BUFFER compilation"
516671d2567 fix signature for DISABLE_TOKEN_BUFFER compilation
517d6755580 cpu.cmake: use unique flag to test simd disable flags
51828914528 Merge "Remove the argb* files."
5198acb4942 Remove the argb* files.
5203b62347b README: correct cmake invocation note
5217ca0df13 Have the SSE2 version of PackARGB use common code.
5227b250459 Merge "Re-use the transformed image when trying several LZ77 in lossless."
523e132072f Re-use the transformed image when trying several LZ77 in lossless.
5245d7a50ef Get code to compile in C++.
5257b012987 configure: test for -Wparentheses-equality
526f0569adb Fix man pages for multi-threading.
527f1d5a397 multithread cruncher: only copy stats when picture->stats != NULL
528f8c2ac15 Multi-thread the lossless cruncher.
529a88c6522 Merge "Integrate a new LZ77 looking for matches in the neighborhood of a pixel only."
5308f6df1d0 Unroll Predictors 10, 11 and 12.
531355c3d1b Integrate a new LZ77 looking for matches in the neighborhood of a pixel only.
532a1779a01 Refactor LZ77 handling in preparation for a new method.
53367de68b5 Android.mk/build.gradle: fix mips build with clang from r14b
534f209a548 Use the plane code and not the distance when computing statistics.
535b903b80c Split cost-based backward references in its own file.
536498cad34 Cosmetic changes in backward reference.
537e4eb4587 lossless, VP8LTransformColor_C: make sure no overflow happens with colors.
538af6deaff webpinfo: handle alpha flag mismatch
5397caef29b Fix typo that creeped in.
54039e19f92 Merge "near lossless: fix unsigned int overflow warnings."
5419bbc0891 near lossless: fix unsigned int overflow warnings.
542e1118d62 Merge "cosmetics,FindClosestDiscretized: use uint in mask creation"
543186bc9b7 Merge "webpinfo: tolerate ALPH+VP8L"
544b5887297 cosmetics,FindClosestDiscretized: use uint in mask creation
545f1784aee near_lossless,FindClosestDiscretized: use unsigned ops
5460d20abb3 webpinfo: tolerate ALPH+VP8L
547972104b3 webpmux: tolerate false positive Alpha flag
548dd7e83cc tiffdec,ReadTIFF: ensure data_size is < tsize_t max
549d988eb7b tiffdec,MyRead: quiet -Wshorten-64-to-32 warning
550dabda707 webpinfo: add support to parse Alpha bitstream
5514c117643 webpinfo: correct background color output, BGRA->ARGB
552defc98d7 Doc: clarify the role of quality in WebPConfig.
553d78ff780 Merge "Fix code to compile with C++."
554c8f14093 Fix code to compile with C++.
555497dc6a7 pnmdec: sanitize invalid header output
556d78e5867 Merge "configure: test for -Wconstant-conversion"
557481e91eb Merge "pnmdec,PAM: set bytes_per_px based on depth when missing"
55893b12753 configure: test for -Wconstant-conversion
559645f0c53 pnmdec,PAM: set bytes_per_px based on depth when missing
560e9154605 Merge "vwebp: activate GLUT double-buffering"
561818d795b vwebp: activate GLUT double-buffering
562d63e6f4b Add a man page for webpinfo
5634d708435 Merge "NEON: implement ConvertRGB24ToY/BGR24/ARGB/RGBA32ToUV/ARGBToUV"
564faf42213 NEON: implement ConvertRGB24ToY/BGR24/ARGB/RGBA32ToUV/ARGBToUV
565b4d576fa Install man pages with CMake.
566cbc1b921 webpinfo: add features to parse bitstream header
567e644c556 Fix bad bit writer initialization.
568b62cdad2 Merge "Implement a cruncher for lossless at method 6."
569da3e4dfb use the exact constant for the gamma transfer function
570a9c701e0 Merge "tiffdec: fix EXTRASAMPLES check"
571adab8ce0 Implement a cruncher for lossless at method 6.
5721b92b237 Merge "Fix VP8ApplyNearLossless to respect const and stride."
5731923ff02 tiffdec: fix EXTRASAMPLES check
57497cce5ba tiffdec: only request EXTRASAMPLES w/> 3 samples/px
5750dcd85b6 Fix VP8ApplyNearLossless to respect const and stride.
576f7682189 yuv: rationalize the C/SSE2 function naming
57752245424 NEON implementation of some Sharp-YUV420 functions
578690efd82 Avoid several backward reference copies.
5794bb1f607 src/dec/vp8_dec.h, cosmetics: fix comments
580285748be cmake: build/install webpinfo
58178fd199c backward_references_enc.c: clear -Wshadow warnings
582ae836410 WebPLog2FloorC: clear -Wshadow warning
583d0b7404e Merge "WASM support"
584134e314f WASM support
585c08adb6f Merge "VP8LEnc: remove use of BitsLog2Ceiling()"
58628c37ebd VP8LEnc: remove use of BitsLog2Ceiling()
5872cb58ab2 webpinfo: output format as a human readable string
588bb175a93 Merge "rename some symbols clashing with MSVC headers"
58939eda658 Remove a duplicated pixel hash implementation.
59036b8274d rename some symbols clashing with MSVC headers
591274daf54 Add webpinfo tool.
592ec5036e4 add explicit reference to /usr/local/{lib,inc}
59318f0dfac Merge "fix TIFF encoder regarding rgbA/RGBA"
5944e2b0b50 Merge "webpdec.h: fix a doc typo"
595e2eeabff Merge "Install binaries, libraries and headers in CMake."
596836607e6 webpdec.h: fix a doc typo
5979273e441 fix TIFF encoder regarding rgbA/RGBA
59817e3c11f Add limited PAM decoding support
5995f624871 Install binaries, libraries and headers in CMake.
600976adac1 Merge "lossless incremental decoding: fix missing eos_ test"
601f8fad4fa lossless incremental decoding: fix missing eos_ test
60227415d41 Merge "vwebp_sdl: fix the makefile.unix"
60349566182 Merge "ImgIoUtilWriteFile(): use ImgIoUtilSetBinaryMode"
6046f75a51b Analyze the transform entropy on the whole image.
605a5e4e3af Use palette only if we can in entropy analysis.
60675a9c3c4 Improve compression by better entropy analysis.
60739cf6f4f vwebp_sdl: fix the makefile.unix
608699b0416 ImgIoUtilWriteFile(): use ImgIoUtilSetBinaryMode
6097d985bd1 Fix small entropy analysis bug.
6106e7caf06 Optimize the color cache size.
611833c9219 More efficient stochastic histogram merge.
6125183326b Refactor the greedy histogram merge.
61399f6f462 Merge "histogram_enc.c,MyRand: s/ul/u/ for unsigned constants"
61480a22186 ssim.c: remove dead include
615a128dfff histogram_enc.c,MyRand: s/ul/u/ for unsigned constants
616693bf74e move the SSIM calculation code in ssim.c / ssim_sse2.c
61710d791ca Merge "Fix the random generator in HistogramCombineStochastic."
618fa63a966 Fix the random generator in HistogramCombineStochastic.
61916be192f VP8LSetBitPos: remove the eos_ setting
620027151ca don't erase the surface before blitting.
6214105d565 disable WEBP_USE_XXX optimisations when EMSCRIPTEN is defined
6229ee32a75 Merge "WebP-JS: emscripten-based Javascript decoder"
623ca9f7b7d WebP-JS: emscripten-based Javascript decoder
624868aa690 Perform greedy histogram merge in a unified way.
6255b393f2d Merge "fix path typo for vwebp_sdl in Makefile.vc"
626e0012bea CMake: only use libwebpdecoder for building dwebp
62784c2a7b0 fix path typo for vwebp_sdl in Makefile.vc
6281b0e4abf Merge "Add a flag to disable SIMD optimizations."
62932263250 Add a flag to disable SIMD optimizations.
630b494fdec optimize the ARGB->ARGB Import to use memcpy
631f1536039 Merge "ReadWebP: decode directly into a pre-allocated buffer"
632e69ed291 ReadWebP: decode directly into a pre-allocated buffer
63357d8de8a Merge "vwebp_sdl: simple viewer based on SDL"
6345cfd4ebc LZ77 interval speedups. Faster, smaller, simpler.
6351e7ad88b PNM header decoder: add some basic numerical validation
63617c7890c Merge "Add a decoder only library for WebP in CMake."
637be733786 Merge "Add clang build fix for MSA"
63803cda0e4 Add a decoder only library for WebP in CMake.
639aa893914 Add clang build fix for MSA
64031a92e97 Merge "imageio: add limited PNM support for reading"
641dcf9d82a imageio: add limited PNM support for reading
6426524fcd6 vwebp_sdl: simple viewer based on SDL
6436cf24a24 get_disto: fix reference file read
64443d472aa Merge tag 'v0.6.0'
64550d1a848 update ChangeLog (tag: v0.6.0, origin/0.6.0)
64620a7fea0 extras/Makefile.am: fix libwebpextras.la reference
647415f3ffe update ChangeLog (tag: v0.6.0-rc3)
6483c6d1224 update NEWS
649ee4a4141 update AUTHORS
65032ed856f Fix "all|no frames are keyframes" settings.
6511c3190b6 Merge "Fix "all|no frames are keyframes" settings."
652f4dc56fd disable GradientUnfilter_NEON
6534f3e3bbd disable GradientUnfilter_NEON
6542dc0bdca Fix "all|no frames are keyframes" settings.
6550d8e0588 img2webp: treat -loop as a no-op w/single images
656b0450139 ReadImage(): restore size reporting
6570ad3b4ef update ChangeLog (tag: v0.6.0-rc2)
6586451709e img2webp,get_disto: fix image decode w/WIC builds
65992504d21 get_disto: make ReadPicture() return a bool
660c3e4b3a9 update NEWS
6613363eb6d man/img2webp.1: fix formatting warning
6624d1312f2 update NEWS
66336c42ea4 bump version to 0.6.0
664bb498a51 update AUTHORS
66584cef16f Makefile.vc: fix CFG=debug-dynamic build
666919f9e2f Merge "add .rc files for windows dll versioning"
667f1ae8af4 Merge ".gitignore: add img2webp"
6684689ce16 cwebp: add a -sharp_yuv option for 'sharp' RGB->YUV conversion
66979bf46f1 rename the pretentious SmartYUV into SharpYUV
670eb1dc89a silently expose use_delta_palette in the WebPConfig API
671c85b0dde .gitignore: add img2webp
67243d3f01a add .rc files for windows dll versioning
673668e1dd4 src/{dec,enc,utils}: give filenames a unique suffix
6740e6b7f33 Merge "iosbuild.sh: only add required headers to framework"
67529ed6f9a iosbuild.sh: only add required headers to framework
67671c53f1a NEON: speed-up strong filtering
67773f567ea Merge "get_disto: remove redundant reader check"
6789e14276f Merge "makefiles: prune get_disto & webp_quality deps"
67999965bac Merge "Makefile.vc: add get_disto.exe, webp_quality.exe"
680d4912238 get_disto: remove redundant reader check
681ea482409 makefiles: prune get_disto & webp_quality deps
6822ede5a19 Makefile.vc: add get_disto.exe, webp_quality.exe
683a345068a ARM: speed up bitreader by avoiding tables
6841dc82a6b Merge "introduce a generic GetCoeffs() function pointer"
6858074b89e introduce a generic GetCoeffs() function pointer
686749a45a5 Merge "NEON: implement alpha-filters (horizontal/vertical/gradient)"
68774c053b5 Merge "NEON: fix overflow in SSE NxN calculation"
6880a3aeff7 Merge "dsp: WebPExtractGreen function for alpha decompression"
6891de931c6 NEON: implement alpha-filters (horizontal/vertical/gradient)
6909b3aca40 NEON: fix overflow in SSE NxN calculation
6911c07a3c6 dsp: WebPExtractGreen function for alpha decompression
6929ed5e3e5 use pointers for WebPRescaler's in WebPDecParams
693db013a8d Merge "ARM: don't use USE_GENERIC_TREE"
694fcd4784d use a 8b table for C-version for clz()
695fbb5c473 ARM: don't use USE_GENERIC_TREE
6968fda5612 Merge "add a kSlowSSSE3 feature for CPUInfo"
69786bbd245 add a kSlowSSSE3 feature for CPUInfo
6987c2779e9 Get code to fully compile in C++.
699250c3586 Merge "When compiling as C++, avoid narrowing warnings."
700c0648ac2 When compiling as C++, avoid narrowing warnings.
7010d55f60c 40% faster ApplyAlphaMultiply_SSE2
70249d0280d NEON: implement several alpha-processing functions
70348b1e85f SSE2: 15% faster alpha-processing functions
704e3b8abbc fix warning from static analysis.
70528fe054e SSE2: 30% faster ApplyAlphaMultiply()
706f44acd25 Merge "Properly compute the optimal color cache size."
707527844fe Properly compute the optimal color cache size.
708be0ef639 fix a comment typo
7098874b162 Fix a non-deterministic color cache size computation.
710d712e20d Do not allow a color cache size bigger than the number of colors.
711ecff04f6 re-introduce some comments in Huffman Cost.
712259e9828 replace 'ptr + y * stride' by 'ptr += stride'
71300b08c88 Merge "NEON: 5% faster conversion to RGB565 and RGBA4444"
7140e7f4447 Merge "NEON: faster fancy upsampling"
715b016cb91 NEON: faster fancy upsampling
7161cb63801 Call the C function to finish off lossless SSE loops only when necessary.
717875fafc1 Implement BundleColorMap in SSE2.
7183674d49e Merge "remove Clang warnings with unused arch arguments."
719f04eb376 Merge tag 'v0.5.2'
720341d711c NEON: 5% faster conversion to RGB565 and RGBA4444
721abb54827 remove Clang warnings with unused arch arguments.
722ece9684f update ChangeLog (tag: v0.5.2-rc2, tag: v0.5.2, origin/0.5.2)
723aa7744ca anim_util: quiet implicit conv warnings in 32-bit
724d9120271 jpegdec: correct ContextFill signature
72524eb3940 Remove some errors when compiling the code as C++.
726a4a8e5f3 vwebp: clear canvas during resize w/o animation
72767c25ad5 vwebp: clear canvas during resize w/o animation
728a4bbe4b3 fix indentation
72931ca2a80 tiffdec: restore libtiff 3.9.x compatibility
730b2f77b57 update NEWS
7315ab6d9de AnimEncoder: avoid freeing uninitialized memory pointer.
732f29bf582 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless.
7333ebe1c00 AnimEncoder: avoid freeing uninitialized memory pointer.
734df780e0e fix a potential overflow with MALLOC_LIMIT
73558fc5078 Merge "PredictorSub: implement fully-SSE2 version"
7369cc42167 PredictorSub: implement fully-SSE2 version
7370aa1f35c remove dependency of imageio/ to stopwatch.h
738cb9ec84b Merge "remove the dependency to stop_watch.[ch] in imageio"
739dc0c01fb Merge "anim_util: quiet implicit conv warnings in 32-bit"
740827d3c50 Merge "fix a potential overflow with MALLOC_LIMIT"
7411e2e25b0 anim_util: quiet implicit conv warnings in 32-bit
742218460cd bump version to 0.5.2
743de7d654d update AUTHORS & .mailmap
744273367c1 Merge "dsp/lossless.c,cosmetics: fix indent"
74576bbcf2e fix a potential overflow with MALLOC_LIMIT
7468ac1abfe Merge "jpegdec: correct ContextFill signature"
747cb215aed remove the dependency to stop_watch.[ch] in imageio
7482423017a dsp/lossless.c,cosmetics: fix indent
74974a12b10 iosbuild.sh: add WebPDecoder.framework + encoder
750a9cc7621 Merge "iosbuild.sh: add WebPDecoder.framework + encoder"
751fbba5bc2 optimize predictor #1 in plain-C For some reason, gcc has hard time inlining this one...
7529ae0b3f6 Merge "SSE2: slightly (~2%) faster Predictor #1"
753c1f97bd7 SSE2: slightly (~2%) faster Predictor #1
754ea664b89 SSE2: 10% faster Predictor #11
755be7dcc08 AnimEncoder: Correctly skip a frame when sub-rectangle is empty.
75640885830 Fix assertions in WebPRescalerExportRow()
7571d5046d1 iosbuild.sh: add WebPDecoder.framework + encoder
758cec72014 jpegdec: correct ContextFill signature
7598f38c72e fix a typo in WebPPictureYUVAToARGB's doc
76033ca93f9 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_
76176e19073 doc: use two's complement explicitly for uint8->int8 conversion
762f91ba963 Anim_encoder: correctly handle enc->prev_candidate_undecided_
76325d74e65 WebPPictureDistortion(): free() -> WebPSafeFree()
76403f1c008 mux/Makefile.am: add missing -lm
76558410cd6 fix bug in RefineUsingDistortion()
766e168af8c fix filtering auto-adjustment
767ed9dec41 fix doc and code snippet for WebPINewDecoder() doc
7683c49178f prevent 32b overflow for very large canvas_width / height
7699595f290 fix anim_util.c compilation when HAVE_GIF is not defined.
7707ec9552c Make gif transparent color to be transparent black
771b3fb8bb6 slightly faster Predictor #11 in NEON
7729871335f Add a CMake option for WEBP_SWAP_16BIT_CSP.
7730ae32226 Fix missing cpu-features for Android.
774ab4c8056 cpu.cmake: improve webp_check_compiler_flag output
775eec5fa3a Provide support for CMake on Android studio 2.2.
776004d5690 Split the main CMake file.
7774fe5d588 Android.mk: use -fvisibility=hidden
778bd63a31a vwebp: ensure setenv() is available in stdlib.h
779363a5681 vwebp: handle window resizing properly
780a0d2753f lower WEBP_MAX_ALLOCABLE_MEMORY default
78131fe11a5  fix infinite loop in case of PARTITION0 overflow
782532215dd Change the rule of picking UV mode in MBAnalyzeBestUVMode()
7839c75dbd3 cwebp.1: improve some grammar
784af2e05cb vwebp: Clear previous frame when a key triggers a redraw
78526ffa296 Add descriptions of default configuration in help info.
7867416280d Fix an unsigned integer overflow error in enc/cost.h
78713cf1d2e Do token recording and counting in a single loop
788eb9a4b97 Reset segment id if we decide not to update segment map
78942ebe3b7 configure: fix NEON flag detection under gcc 6
79076ebbfff NEON: implement predictor #13
79195b12a08 Merge "Revert Average3 and Average4"
79254ab2e75 Revert Average3 and Average4
793fe12330c 3-5% faster Predictor #5, #6, #7 and #10 for NEON
794fbfb3bef ~2% faster predictor #10 for NEON
795d4b7d801 lossless_sse2: use the local functions
796a5e3b225 Lossless decoder SSE2 improvements.
79758a1f124 ~2% faster predictor #12 in NEON.
798906c3b63 Merge "Implement lossless transforms in NEON."
799d23abe4e Implement lossless transforms in NEON.
8002e6cb6f3 Give more flexibility to the predictor generating macro.
80128e0bb70 Merge "Fix race condition in multi-threading initialization."
80264704530 Fix race condition in multi-threading initialization.
803bded7848 img2webp: fix default -lossless value and use pic.argb=1
8040e61a513 Merge "img2webp: convert a sequence of images to an animated webp"
8051cc79e92 AnimEncoder: Correctly skip a frame when sub-rectangle is empty.
80603f40955 img2webp: convert a sequence of images to an animated webp
807ea72cd60 add missing 'extern' keyword for predictor dcl
80867879e6d SSE implementation of decoding predictors.
80934aee990 Merge "vwebp: make 'd' key toggle the debugging of fragments"
810a41296ae Fix potentially uninitialized value.
811c85adb33 vwebp: make 'd' key toggle the debugging of fragments
8124239a148 Make the lossless predictors work on a batch of pixels.
813bc18ebad fix extra 'const's in signatures
81471e2f5ca Remove memcpy in lossless decoding.
8157474d46e Do not use a register array in SSE.
81667748b41 Improve latency of FTransform2.
81716951b19 Merge "Provide an SSE implementation of ConvertBGRAToRGB"
8186540cd0e Provide an SSE implementation of ConvertBGRAToRGB
819de568abf Android.mk: use -fvisibility=hidden
8203c2a61b0 remove some unneeded casts
8219ac063c3 add dsp functions for SmartYUV
82222efabdd Merge "smart_yuv: switch to planar instead of packed r/g/b processing"
8231d6e7bf3 smart_yuv: switch to planar instead of packed r/g/b processing
8240a3838ca fix bug in RefineUsingDistortion()
825c0699515 webpmux -duration: set default 'end' value equal to 'start'
82683cbfa09 Import: use relative pointer offsets
827a1ade40e PreprocessARGB: use relative pointer offsets
828fd4d090f ConvertWRGBToYUV: use relative pointer offsets
8299daad459 ImportYUVAFromRGBA: use relative pointer offsets
830f90c60d1 Merge "add a "-duration duration,start,end" option to webpmux"
8313f182d36 add a "-duration duration,start,end" option to webpmux
832342e15f0 Import: use relative pointer offsets
8331147ab4e PreprocessARGB: use relative pointer offsets
834e4cd4daf fix filtering auto-adjustment
835e7152856 fix doc and code snippet for WebPINewDecoder() doc
836de9fa507 ConvertWRGBToYUV: use relative pointer offsets
837deb1b831 ImportYUVAFromRGBA: use relative pointer offsets
838c284780f imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow
839e375080d gifdec,Remap: avoid out of bounds colormap read
840c222a053 additional fix for stride type as size_t
841bb233617 fix potential overflow when width * height * 4 >= (1<<32)
842883d41fb gif2webp: fix crash with NULL extension data
843cac9a36a gifdec,Remap: avoid out of bounds colormap read
8444595e01f Revert "gifdec,Remap: avoid out of bounds colormap read"
845fb52d443 gifdec: make some constants unsigned
846f048d38d gifdec,Remap: avoid out of bounds colormap read
84731b1e343 fix SSIM metric ... by ignoring too-dark area
8482f51b614 introduce WebPPlaneDistortion to compute plane distortion
8490104d730 configure: fix NEON flag detection under gcc 6
850265abbe9 Merge "additional fix for stride type as size_t"
851f7601aa6 Merge "Introduce a generic WebPGetImageReader(type) function"
852ce873320 Introduce a generic WebPGetImageReader(type) function
8532a2773ea imageio/*dec,Read*: add input parameter checks
8549f5c8eca additional fix for stride type as size_t
8554eb5df28 remove unused stride fields from VP8Iterator
85611bc423a MIN_LENGTH cleanups.
857273d035a Merge "fix a typo in WebPPictureYUVAToARGB's doc"
8584db82a17 Merge "fix potential overflow when width * height * 4 >= (1<<32)"
859e2affacc fix potential overflow when width * height * 4 >= (1<<32)
860dc789ada fix a typo in WebPPictureYUVAToARGB's doc
861539f5a68 Fix non-included header in config.c.
862aaf2a6a6 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_
86320ef9915 Merge "imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow"
864bc86b7a8 imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow
865806f6279 gif2webp: fix crash with NULL extension data
86668ae5b67 Add libwebp/src/mux/animi.h
86728ce3043 Remove some errors when compiling the code as C++.
868b34abcb8 Favor keeping the areas locally similar in spatial prediction mode selection
869ba843a92 fix some SSIM calculations
87051b71fd2 Merge "vwebp: ensure setenv() is available in stdlib.h"
871fb01743a get_disto: fix the r/g/b order for luma calculation
872bfab8947 vwebp: ensure setenv() is available in stdlib.h
8739310d192 vwebp: handle window resizing properly
874f79450ca Speedup ApplyMap.
875cfdda7c6 Merge "prevent 32b overflow for very large canvas_width / height"
876e36396ba Merge "get_disto: new option to compute SSIM map and convert to gray"
87718a9a0ab Add an API to import a color-mapped image.
87830d43706 Speed-up Combined entropy for palettized histograms.
87936aa087b get_disto: new option to compute SSIM map and convert to gray
88086a84b35 2x faster SSE2 implementation of SSIMGet
881b8384b53 lower WEBP_MAX_ALLOCABLE_MEMORY default
8821c364400 prevent 32b overflow for very large canvas_width / height
883eee0cce1 Merge "Small LZ77 speedups."
8845f1caf29 Small LZ77 speedups.
8851effde7b fix anim_util.c compilation when HAVE_GIF is not defined.
886a2fe9bf4 Speedup TrellisQuantizeBlock().
887573cce27 smartYUV improvements
88821e7537a  fix infinite loop in case of PARTITION0 overflow
889053a1565 Merge "Change the rule of picking UV mode in MBAnalyzeBestUVMode()"
8901377ac2e Change the rule of picking UV mode in MBAnalyzeBestUVMode()
8917c1fb7d0 fix uint32_t initialization (0. -> 0)
892bfff0bf3 speed-up SSIM calculation
89364577de8 De-VP8L-ize GetEntropUnrefinedHelper.
894a7be7328 Merge "refactor the PSNR / SSIM calculation code"
89550c3d7da refactor the PSNR / SSIM calculation code
896d6228aed indentation fix after I7055d3ee3bd7ed5e78e94ae82cb858fa7db3ddc0
897dd538b19 Remove unused declaration.
8986cc48b17 Move some lossless logic out of dsp.
89978363e9e Merge "Remove a redundant call to InitLeft() in VP8IteratorReset()"
900ffd01929 Refactor VP8IteratorNext().
901c4f6d9c9 Remove a redundant call to InitLeft() in VP8IteratorReset()
902c27d8210 Merge "smartYUV: simplify main loop"
90307795296 smartYUV: simplify main loop
904c9b45863 Split off common lossless dsp inline functions.
905490ae5b1 smartYUV: improve initial state for faster convergence
906894232be smartYUV: fix and simplify the over-zealous stop criterion
9078de08483 Remove unused code in webpi.h
90841cab7fe imageio/Android.mk: correct imagedec dependencies
90982c91c70 Merge "libimageenc.a: extract image-saving code from dwebp"
910af1ad3e2 libimageenc.a: extract image-saving code from dwebp
911dd7309e3 Merge "doc: use two's complement explicitly for uint8->int8 conversion"
9126105777e Merge "add gif2webp to CMake"
91313ae011e doc: use two's complement explicitly for uint8->int8 conversion
9144bda0cfb add gif2webp to CMake
9156029c7fe Merge "remove mention of fragment, frgm, FRGM, etc."
916545c147f remove mention of fragment, frgm, FRGM, etc.
9175b46f7fc cwebp.1: improve some grammar
9189e478f80 dec/vp8l.c: add assertions in EmitRescaledRowsRGBA/YUVA
91943bd8958 Make gif transparent color to be transparent black
9200887fc2d Merge "get_disto: add a '-o file' option to save a diff map"
9210de48e18 get_disto: add a '-o file' option to save a diff map
9220a57ad0d cosmetics: WebPSafeAlloc -> WebPSafeMalloc
9230a4699bc Merge "WebPPictureDistortion(): free() -> WebPSafeFree()"
92429fedbf5 Anim_encoder: correctly handle enc->prev_candidate_undecided_
92532dead4e WebPPictureDistortion(): free() -> WebPSafeFree()
92685cd5d06 Smarter LZ77 for uniform regions.
9276585075f Change PixelsAreSimilar() to handle black pixels correctly.
928c0a27fd2 vwebp: Clear previous frame when a key triggers a redraw
92957a5e3b6 webp_quality should return '0' in case of success.
9307f1b897b Faster stochastic histogram merging.
93148c810b8 Merge "remove WEBP_FORCE_ALIGNED and use memcpy() instead."
9323884972e remove WEBP_FORCE_ALIGNED and use memcpy() instead.
933485cac1a switch libimagedec.a and libimageio_util.a to avoid undefined symbol
934005e15b1 Merge "{extras,mux}/Makefile.am: add missing -lm"
9356ab496ed fix some 'unsigned integer overflow' warnings in ubsan
9368a4ebc6a Revert "fix 'unsigned integer overflow' warnings in ubsan"
9379d4f209f Merge changes I25711dd5,I43188fab
938e44f5248 fix 'unsigned integer overflow' warnings in ubsan
93927b5d991 Fix assertions in WebPRescalerExportRow()
94074f6f9e7 Add descriptions of default configuration in help info.
941aaf2530c {extras,mux}/Makefile.am: add missing -lm
9421269dc7c Refactor VP8LColorCacheContains()
94340872fb2 dec_neon,NeedsHev: micro optimization
9447b54e26b Add a CMake option for WEBP_SWAP_16BIT_CSP.
945d2223d8d Fix missing cpu-features for Android.
946bf16a4b4 Merge "cpu.cmake: improve webp_check_compiler_flag output"
947ee1057e3 cpu.cmake: improve webp_check_compiler_flag output
948b551e587 cosmetics: add {}s on continued control statements
949d2e4484e dsp/Makefile.am: put msa source in correct lib
950c7f66c82 Merge "utils/thread.c,cosmetics: join a few lines"
95198d8f295 Merge "examples/Makefile.am,cosmetics: sort binary targets"
95239f4ffbc utils/thread.c,cosmetics: join a few lines
953a86ce2b1 Merge "extras/Makefile.am: don't install libwebpextras"
9546fa9fe24 extras/Makefile.am: don't install libwebpextras
9550b2c58a9 Fix an unsigned integer overflow error in enc/cost.h
956d7ce4a2e examples/Makefile.am,cosmetics: sort binary targets
957386e4ba2 Reset segment id if we decide not to update segment map
9587b87e848 Merge "Add MSA optimized YUV to RGB upsampling functions"
959d3ddacb6 Add MSA optimized YUV to RGB upsampling functions
960eb98d8d8 webp_quality: detect lossless format and features
961ebee57f4 move imageio/example_util.[hc] (back to) examples/
96299542bbf webpdec: s/ExUtil//
963da573cf4 imageio_util: s/ExUtil/ImgIoUtil/
964bdda5bd4 split example_util.h
96515ed462b .gitignore: add extras/{get_disto,webp_quality}
9667be57489 Merge "VP8EstimateQuality(): roughty estimate webp bitstream quality factor"
96757020525 Makefile.vc: add missing imageio target
968e8ab6a82 VP8EstimateQuality(): roughty estimate webp bitstream quality factor
969fee7b3d6 Merge "'extras/get_disto' example: compute PSNR between two files"
9701e7d4401 'extras/get_disto' example: compute PSNR between two files
9714cecab63 pngdec.c,jpegdec.[hc]: remove unnecessary includes
972259f0434 makefile.unix: normalize image decode lib name
973ed34c39b fix: examples/libexample_dec.a => imageio/libexample_dec.a
97433d8d0d4 Merge "move examples/{example_util,image_dec} to imageio/"
975c960b82e Merge "extras.h: correct include guard"
976fe3cd28a Merge ".gitignore: add .gradle, /build"
97745fbeba5 Merge "Do token recording and counting in a single loop"
9784f33c820 .gitignore: add .gradle, /build
979c379b55a move examples/{example_util,image_dec} to imageio/
9805108d9aa extras.h: correct include guard
981ad497fbc move src/extras to the top-level
9820c0fb832 Do token recording and counting in a single loop
9839ac74f92 Add MSA optimized rescaling functions
984cb19dbc1 Add MSA optimized color transform functions
9853f4042b5 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless.
9865e2eb89e cosmetics,dsp/*msa.c: associate '*' with the type
9875b60db5c FastMBAnalyze() for quick i16/i4 decision
988567e6977 Add MSA optimized CollectHistogram function
989c54ab8dd Add MSA optimized quantization functions
990ec6f68c5 Merge "Remove QuantizeBlockWHT() in enc.c"
9912a5c417c Apply the RLE heuristic to LZ77.
99291b59e88 Remove QuantizeBlockWHT() in enc.c
993fe572737 Add MSA optimized SSE functions
9946b53ca87 cosmetics,(dec|enc)_sse2.c: fix indent
995b15d00d9 Merge "Add MSA optimized encoder IntraChromaPreds function"
996afe3cec8 Add MSA optimized encoder IntraChromaPreds function
997fc8cad9f reduce the number of malloc/free cycles in huffman.c
9987b4b05e0 Add MSA optimized encoder Intra16Preds function
999c18787a0 Add MSA optimized encoder Intra4Preds function
1000479d1908 webpmux: Also print compression info per frame.
1001a80e8cfd Provide support for CMake on Android studio 2.2.
10026c628410 Split the main CMake file.
1003bbb6ecd9 Merge "Add MSA optimized distortion functions"
10047915396f Add MSA optimized distortion functions
1005652e944f Merge "build.gradle: remove tab"
1006c0991a14 io,EmitRescaledAlphaYUV: factor out a common expr
100748bf5ed1 build.gradle: remove tab
1008bfef6c9f Merge tag 'v0.5.1'
10093d97bb75 update ChangeLog (tag: v0.5.1, origin/0.5.1)
1010deb54d91 Clarify the expected 'config' lifespan in WebPIDecode()
1011435308e0 Add MSA optimized encoder transform functions
1012dce64bfa Add MSA optimized alpha filter functions
1013429120d0 Add MSA optimized color transform functions
1014c7e2d245 update ChangeLog (tag: v0.5.1-rc5)
101555b2fede normalize the macros' "do {...} while (0)" constructs
1016701c772e Add MSA optimized colorspace conversion functions
1017c7eb06f7 Fix corner case in CostManagerInit.
1018f918cb10 fix rescaling bug: alpha plane wasn't filled with 0xff
1019ab7937a5 gif2webp: normalize the number of .'s in the help message
10203cdec847 vwebp: normalize the number of .'s in the help message
1021bdf6241e cwebp: normalize the number of .'s in the help message
102206a38c7b fix rescaling bug: alpha plane wasn't filled with 0xff
1023319e37be Improve lossless compression.
10246a197937 Add MSA optimized intra pred chroma functions
1025447adbce 'our bug tracker' -> 'the bug tracker'
102697b9e644 normalize the number of .'s in the help message
1027293d786f Added MSA optimized intra prediction 16x16 functions
10280afa0ce2 Added MSA optimized intra prediction 4x4 functions
1029a6621bac Added MSA optimized simple edge filtering functions
1030bb50bf42 pngdec,ReadFunc: throw an error on invalid read
103138063af1 decode.h,WebPGetInfo: normalize function comment
10321ebf193c Added MSA optimized chroma edge filtering functions
10339ad2352d Merge "Added MSA optimized edge filtering functions"
103460751096 Added MSA optimized edge filtering functions
10359e8e1b7b Inline GetResidual for speed.
10367d58d1b7 Speed-up uniform-region processing.
10378ec7032b simplify HistogramCombineEntropyBin()
103823e29cb1 Merge "Fix a boundary case in BackwardReferencesHashChainDistanceOnly." into 0.5.1
1039472a049b remove bin_map[] allocation altogether
10400bb23b2c free -> WebPSafeFree()
1041a977b4b5 Merge "rewrite the bin_map clustering to use less memory"
10423591ba66 rewrite the bin_map clustering to use less memory
1043e6ac450c utils.[hc]: s/MAX_COLOR_COUNT/MAX_PALETTE_SIZE/
1044e7b91772 Merge "DecodeImageData(): change the incorrect assert" into 0.5.1
10452abfa54f DecodeImageData(): change the incorrect assert
10465a48fcd8 Merge "configure: test for -Wfloat-conversion"
10470174d18d Fix a boundary case in BackwardReferencesHashChainDistanceOnly.
10486a9c262a Merge "Added MSA optimized transform functions"
1049cfbcc5ec Make sure to consider small distances in LZ77.
10505e60c42a Added MSA optimized transform functions
10513dc28d76 configure: test for -Wfloat-conversion
1052f2a0946a add some asserts to delimit the perimeter of CostManager's operation
10539a583c66 fix invalid-write bug for alpha-decoding
1054f66512db make gradlew executable
10556fda58f1 backward_references: quiet double->int warning
1056a48cc9d2 Merge "Fix a compression regression for images with long uniform regions." into 0.5.1
1057cc2720c1 Merge "Revert an LZ77 boundary constant." into 0.5.1
1058059aab4f Fix a compression regression for images with long uniform regions.
1059b0c7e49e Check more backward matches with higher quality.
1060a3611513 Revert an LZ77 boundary constant.
10618190374c README: fix typo
10627551db44 update NEWS
10630fb2269c bump version to 0.5.1
1064f4537610 update AUTHORS & .mailmap
10653259571e Refactor GetColorPalette method.
10661df5e260 avoid using tmp histogram in PreparePair()
10677685123a fix comment typos
1068a246b921 Speedup backward references.
106976d73f18 Merge "CostManager: introduce a free-list of ~10 intervals"
1070eab39d81 CostManager: introduce a free-list of ~10 intervals
10714c59aac0 Merge "mips msa webp configuration"
1072043c33f1 Merge "Improve speed and compression in backward reference for lossless."
107371be9b8c Merge "clarify variable names in HistogramRemap()"
10740ba7fd70 Improve speed and compression in backward reference for lossless.
10750481d42a CostManager: cache one interval and re-use it when possible
107641b7e6b5 Merge "histogram: fix bin calculation"
107796c3d624 histogram: fix bin calculation
1078fe9e31ef clarify variable names in HistogramRemap()
1079ce3c8247 disable near-lossless quantization if palette is used
1080e11da081 mips msa webp configuration
10815f8f998d mux: Presence of unknown chunks should trigger VP8X chunk output.
1082cadec0b1 Merge "Sync mips32 and dsp_r2 YUV->RGB code with C verison"
1083d9637758 Compute the hash chain once and for all for lossless compression.
108450a48665 Sync mips32 and dsp_r2 YUV->RGB code with C verison
1085eee788e2 Merge "introduce a common signature for all image reader function"
1086d77b877c introduce a common signature for all image reader function
1087ca8d9519 remove some obsolete TODOs
1088ae2a7222 collect all decoding utilities from examples/ in libexampledec.a
10890b8ae852 Merge "Move DitherCombine8x8 to dsp/dec.c"
109077cad885 Merge "ReadWebP: avoid conversion to ARGB if final format is YUVA"
1091ab8d6698 ReadWebP: avoid conversion to ARGB if final format is YUVA
1092f8b7ce9e Merge "test pointer to NULL explicitly"
10935df6f214 test pointer to NULL explicitly
109477f21c9c Move DitherCombine8x8 to dsp/dec.c
1095c9e6d865 Add gradle support
1096c65f41e8 Revert "Add gradle support"
1097bf731ede Add gradle support
109808333b85 WebPAnimEncoder: Detect when canvas is modified, restore only when needed.
10990209d7e6 Merge "speed-up MapToPalette() with binary search"
1100fdd29a3d speed-up MapToPalette() with binary search
1101cf4a651b Revert "Refactor GetColorPalette method."
11020a27aca3 Merge changes Idfa8ce83,I19adc9c4
1103f25c4406 WebPAnimEncoder: Restore original canvas between multiple encodes.
1104169004b1 Refactor GetColorPalette method.
1105576362ab VP8LDoFillBitWindow: support big-endian in fast path
1106ac49e4e4 bit_reader.c: s/VP8L_USE_UNALIGNED_LOAD/VP8L_USE_FAST_LOAD/
1107d39ceb58 VP8LDoFillBitWindow: remove stale TODO
11082ec2de14 Merge "Speed-up BackwardReferencesHashChainDistanceOnly."
11093e023c17 Speed-up BackwardReferencesHashChainDistanceOnly.
1110f2e1efbe Improve near lossless compression when a prediction filter is used.
1111e15afbce dsp.h: fix ubsan macro name
1112e53c9ccb dsp.h: add WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW
1113af81fdb7 utils.h: quiet -fsanitize=undefined warnings
1114ea0be354 dsp.h: remove utils.h include
1115cd276aec utils/*.c: ../utils/utils.h -> ./utils.h
1116c8927131 utils/Makefile.am: add some missing headers
1117ea24e026 Merge "dsp.h: add WEBP_UBSAN_IGNORE_UNDEF"
1118369e264e dsp.h: add WEBP_UBSAN_IGNORE_UNDEF
11190d020a78 Merge "add runtime NEON detection"
11205ee2136a Merge "add VP8LAddPixels() to lossless.h"
112147435a61 add VP8LAddPixels() to lossless.h
11228fa6ac68 remove two ubsan warnings
112374fb56fb add runtime NEON detection
11244154a839 MIPS update to new Unfilter API
1125c80b9fc8 Merge "cherry-pick decoder fix for 64-bit android devices"
11266235147e cherry-pick decoder fix for 64-bit android devices
1127d41b8c43 configure: test for -Wformat-* w/-Wformat present
11285f95589f Fix WEBP_ALIGN in case the argument is a pointer to a type larger than a byte.
11292309fd5c replace num_parts_ by num_parts_minus_one_ (unsigned)
11309629f4bc SimplifySegments: quiet -Warray-bounds warning
1131de47492e Merge "update the Unfilter API in dsp to process one row independently"
11322102ccd0 update the Unfilter API in dsp to process one row independently
1133e3912d56 WebPAnimEncoder: Restore canvas before evaluating blending possibility.
11346e12e1e3 WebPAnimEncoder: Fix for single-frame optimization.
1135602f344a Merge changes I1d03acac,Ifcb64219
113695ecccf6 only apply color-mapping for alpha on the cropped area
113747dd0708 anim_diff: Add an experimental option for max inter-frame diff.
1138aa809cfe only allocate alpha_plane_ up to crop_bottom row
113931f2b8d8 WebPAnimEncoder: FlattenSimilarPixels(): look for similar
1140774dfbdc perform alpha filtering within the decoding loop
1141a4cae68d lossless decoding: only process decoded row up to last_row
1142238cdcdb Only call WebPDequantizeLevels() on cropped area
1143cf6c713a alpha: preparatory cleanup
1144b95ac0a2 Merge "VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions"
114589231394 VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions
11465828e199 use_8b_decode -> use_8b_decode_
11478dca0247 fix bug in alpha.c that was triggering a memory error in incremental mode
11489a950c53 WebPAnimEncoder: Disable filtering when blending is used with lossy encoding.
1149eb423903 WebPAnimEncoder: choose max diff for framerect based on quality.
1150ff0a94be WebPAnimEncoder lossy: ignore small pixel differences for frame rectangles.
1151f8040084 gif2webp: Remove the 'prev_to_prev_canvas' buffer.
11526d8c07d3 Merge "WebPDequantizeLevels(): use stride in CountLevels()"
1153d96fe5e0 WebPDequantizeLevels(): use stride in CountLevels()
1154ec1b2407 WebPPictureImport*: check output pointer
1155c0768769 Merge "Revert "Re-enable encoding of alpha plane with color cache for next release.""
115641f14bcb WebPPictureImport*: check src pointer
115764eed387 Pass stride parameter to WebPDequantizeLevels()
115897934e24 Revert "Re-enable encoding of alpha plane with color cache for next release."
1159e88c4ca0 fix -m 2 mode-cost evaluation (causing partition0 overflow)
11604562e83d Merge "add extra meaning to WebPDecBuffer::is_external_memory"
1161abdb109f add extra meaning to WebPDecBuffer::is_external_memory
1162875aec70 enc_neon,cosmetics: break long comment
116371e856cf GetMBSSIM,cosmetics: fix alignment
1164a90edffb fix missing 'extern' for SSIM function in dsp/
1165423ecaf4 move some SSIM-accumulation function for dsp/
1166f08e6624 Merge "Fix FindClosestDiscretized in near lossless:"
11670d40cc5e enc_neon,Disto4x4: remove an unnecessary transpose
1168e8feb20e Fix FindClosestDiscretized in near lossless:
116982006430 anim_util: quiet static analysis warning
1170a6f23c49 Merge "AnimEncoder: Support progress hook and user data."
1171a5193774 Merge "Near lossless feature: fix some comments."
1172da98d31c AnimEncoder: Support progress hook and user data.
117333357131 Near lossless feature: fix some comments.
11740beed01a cosmetics: fix indent after 2f5e898
11756753f35c Merge "FTransformWHT optimization."
11766583bb1a Improve SSE4.1 implementation of TTransform.
11777561d0c3 FTransformWHT optimization.
11787ccdb734 fix indentation after patch #328220
11796ec0d2a9 clarify the logic of the error path when decoding fails.
11808aa352b2 Merge "Remove an unnecessary transposition in TTransform."
1181db860884 Merge "remove useless #include"
11829960c316 Remove an unnecessary transposition in TTransform.
11836e36b511 Small speedup in FTransform.
11849dbd4aad Merge "fix C and SIMD flags completion."
1185e60853ea Add missing common_sse2.h file to makefile.unix
1186696eb2b0 fix C and SIMD flags completion.
11872b4fe33e Merge "fix multiple allocation for transform buffer"
11882f5e8986 fix multiple allocation for transform buffer
1189bf2b4f11 Regroup common SSE code + optimization.
11904ed650a1 force "-pass 6" if -psnr or -size is used but -pass isn't.
11913ef1ce98 yuv_sse2: fix -Wconstant-conversion warning
1192a7a03e9f Merge changes I4852d18f,I51ccb85d
11935e122bd6 gif2webp: set enc_options.verbose = 0 w/-quiet
1194ab3c2583 anim_encode,DefaultEncoderOptions: init verbose
11958f0dee77 Merge "configure: fix builtin detection w/-Werror"
11964a7b85a9 cmake: fix builtin detection w/-Werror
1197b74657fb configure: fix builtin detection w/-Werror
11983661b980 Add a CMakeLists.txt
119975f4af4d remove useless #include
12006c1d7631 avoid Yoda style for comparison
12018ce975ac SSE optimization for vector mismatch.
12027db53831 Merge tag 'v0.5.0'
120337f04949 update ChangeLog (tag: v0.5.0-rc1, tag: v0.5.0, origin/0.5.0)
12047e7b6ccc faster rgb565/rgb4444/argb output
12054c7f565f update NEWS
12061f62b6b2 update AUTHORS
1207e224fdc8 update mailmap
120871100500 bump version to 0.5.0
1209230a685e README: update help text, repo link
1210d48e427b Merge "demux: accept raw bitstreams"
121199a01f4f Merge "Unify some entropy functions."
12124b025f10 Merge "configure: disable asserts by default"
121392cbddf8 Merge "fix PrintBlockInfo()"
1214ca509a33 Unify some entropy functions.
1215367bf903 fix PrintBlockInfo()
1216b0547ff0 move back common constants for lossless_enc*.c into the .h
1217fb4c7832 lossless: simpler alpha cleanup preprocessing
1218ba7f4b68 Merge "anim_diff: add brief description of options"
121947ddd5a4 Move some codec logic out of ./dsp .
1220b4106c44 anim_diff: add brief description of options
1221357f455d yuv_sse2: fix 32-bit visual studio build
1222b9d80fa4 configure: disable asserts by default
12237badd3da cosmetic fix: sizeof(type) -> sizeof(*var)
122480ce27d3 Speed up 24-bit packing / unpacking in YUV / RGB conversions.
122568eebcb0 remove a TODO about rotation
12262dee2966 remove few obsolete TODO about aligned loads in SSE2
1227e0c0bb34 remove TODO about unused ref_lf_delta[]
12289cf1cc2b remove few TODO:   * 256 -> RD_DISTO_MULT   * don't use TDisto for UV mode picking
122979189645 Merge changes from topic 'demux-fragment-cleanup'
123047399f92 demux: remove GetFragment()
1231d3cfb79a demux: remove dead fragment related TODO
1232ab714b8a demux, Frame: remove is_fragment_ field
1233b105921c yuv_sse2, cosmetics: fix indent
1234466c92e8 demux,WebPIterator: remove fragment_num/num_fragments
123511714ff1 demux: remove WebPDemuxSelectFragment
1236c0f7cc47 fix for bug #280: UMR in next->bits
1237578beeb8 Merge "enc/Makefile.am: add missing headers"
12381a819f00 makefile.unix: make visibility=hidden the default
1239d4f9c2ef enc/Makefile.am: add missing headers
1240846caff4 configure: check for -fvisibility=hidden
12413f3ea2c5 demux: accept raw bitstreams
1242d6dad5d0 man cwebp: add precision about exactness of the 'lossless' mode
124346bb1e34 Merge "gifdec: remove utils.h include"
12442b882e94 Merge "Makefile.vc: define WEBP_HAVE_GIF for gifdec.c"
1245892b9238 Merge "man/*, AUTHORS: clarify origin of the tool"
1246e5687a18 Merge "fix optimized build with -mcmodel=medium"
1247e56e6859 Makefile.vc: define WEBP_HAVE_GIF for gifdec.c
12484077d944 gifdec: remove utils.h include
1249b5e30dac man/*, AUTHORS: clarify origin of the tool
1250b275e598 fix optimized build with -mcmodel=medium
125164da45a9 cosmetics, cwebp: fix indent
1252038a060d Merge "add disto-based refinement for UV mode (if method = 1 or 2)"
12532835089d Provide an SSE2 implementation of CombinedShannonEntropy.
1254e6c93519 add disto-based refinement for UV mode (if method = 1 or 2)
125504507dc9 Merge "fix undefined behaviour during shift, using a cast"
1256793c5261 Merge "wicdec: add support for reading from stdin"
1257d3d16397 Optimize the heap usage in HistogramCombineGreedy.
1258202a710b fix undefined behaviour during shift, using a cast
125914d27a46 improve method #2 by merging DistoRefine() and  SimpleQuantize()
1260cb1ce996 Merge "10% faster table-less SSE2/NEON version of YUV->RGB conversion"
1261ac761a37 10% faster table-less SSE2/NEON version of YUV->RGB conversion
126279fcf29a wicdec: add support for reading from stdin
1263015f173f Merge "cwebp: add support for stdin input"
1264a9947c32 cwebp: add support for stdin input
12657eb01ff3 Merge "Improved alpha cleanup for the webp encoder when prediction transform is used."
1266fb8c9106 Merge "introduce WebPMemToUint32 and WebPUint32ToMem for memory access"
1267bd91af20 Merge "bit_reader: remove aarch64 BITS TODO"
12686c702b81 Speed up hash chain initialization using memset.
12694c60f63c make ReadPNG and ReadJPEG take a filename instead of a FILE
1270464ed10f bit_reader: remove aarch64 BITS TODO
1271d478e589 Merge "configure: update issue tracker"
127269381113 Improved alpha cleanup for the webp encoder when prediction transform is used.
12732c08aac8 introduce WebPMemToUint32 and WebPUint32ToMem for memory access
1274010ca3d1 Fix FindMatchLength with non-aligned buffers.
1275a90e1e3f README: add prerequisites for an autoconf build
1276458f0866 configure: update issue tracker
127733914595 vwebp: work around the transparent background with GLUT bug
1278e4a7eed4 cosmetics: fix indent
127908375129 Merge "Make a separate case for low_effort in CopyImageWithPrediction"
1280aa2eb2d4 Merge "cosmetics: fix indent"
1281b7551e90 cosmetics: fix indent
12825bda52d4 Make a separate case for low_effort in CopyImageWithPrediction
128366fa598a Merge "configure: fix intrinsics build w/older gcc"
12845ae220be backward_references.c: Fixed compiler warning
12851556da09 Merge "configure: restore 2 warnings"
128671a17e58 configure: restore 2 warnings
12879eeabc07 configure: fix intrinsics build w/older gcc
1288363babe2 Merge "fix some warning about unaligned 32b reads"
1289a1411782 Optimization in hash chain comparison for 64 bit Arrays were compared 32 bits at a time, it is now done 64 bits at a time. Overall encoding speed-up is only of 0.2% on @skal's small PNG corpus. It is of 3% on my initial 1.3 Mp desktop screenshot image.
1290829bd141 Combine Huffman cost and bit entropy into one loop
1291a7a954c8 Merge "lossless: make prediction in encoder work per scanline"
129261b605b4 Merge "fix of undefined multiply (int32 overflow)"
1293239421c5 lossless: make prediction in encoder work per scanline
1294f5ca40e0 fix of undefined multiply (int32 overflow)
12955cd2ef4c Merge changes from topic 'win-threading-compat'
129676ce9187 Makefile.vc: enable WEBP_USE_THREAD for windows phone
1297d2afe974 thread: use CreateThread for windows phone
12980fd0e12b thread: use WaitForSingleObjectEx if available
129963fadc9f thread: use InitializeCriticalSectionEx if available
1300110ad583 thread: use native windows cond var if available
1301912c9fdf dec/webp: use GetLE(24|32) from utils
1302f1694481 utils/GetLE32: correct uint32 promotion
1303158763de Merge "always call WebPInitSamplers(), don't try to be smart"
13043770f3bb Merge "cleanup the YFIX/TFIX difference by removing some code and #define"
1305a40f60a9 Merge "3% speed improvement for lossless webp encoder for low effort mode:"
1306ed1c2bc6 always call WebPInitSamplers(), don't try to be smart
1307b8c44f1a 3% speed improvement for lossless webp encoder for low effort mode:
1308997e1038 cleanup the YFIX/TFIX difference by removing some code and #define
1309d73d1c8b Merge "Make discarding invisible RGB values (cleanup alpha) the default."
13101f9be97c Make discarding invisible RGB values (cleanup alpha) the default.
1311f240117b Make dwebp listen more to the -quiet flag
1312b37b0179 fix for issue #275: don't compare to out-of-bound pointers
131321735e06 speed-up trivial one-symbol decoding case for lossless
1314397863bd Refactor CopyPlane() and CopyPixels() methods: put them in utils.
13156ecd72f8 Re-enable encoding of alpha plane with color cache for next release.
13161f7148a4 Merge "remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures"
13176ae395fa Merge "use ExReadFile() for ReadYUV()"
13188076a00e gitignore list: add anim_diff.
13191c1702d8 use ExReadFile() for ReadYUV()
1320775d3a37 remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures
1321c13245c7 AnimEncoder: Add a GetError() method.
1322688b265d AnimDecoder API: Add a GetDemuxer() method.
13231aa4e3d6 WebPAnimDecoder: add an option to enable multi-threaded decoding.
13243584abca AnimDecoder: option to decode to common color modes.
1325afd5a62c Merge "mux.h does NOT need to include encode.h"
13268550d443 Merge "migrate anim_diff tool from C++ to C89"
132796201e50 migrate anim_diff tool from C++ to C89
1328945cfa3b mux.h does NOT need to include encode.h
13298da07e8d Merge "~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV"
1330bfd3fc02 ~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV
133102432427 man/cwebp.1, cosmetics: escape '-'s
133296f5b423 man/cwebp: group lossy-only options
133352fdbdfe extract some RGB24 to Luma conversion function from enc/ to dsp/
1334ab8c2300 add missing \n
13358304179a sync NEWS with 0.4.4
13365bd04a08 sync versions with 0.4.4
13378f1fcc15 Merge "Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c"
133825bf2ce5 fix some warning about unaligned 32b reads
1339922268fd s/TIFF/WebP
1340fa8927ef Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c
13419b373598 Merge "for ReadXXXX() image-readers, use the value of pic->use_argb"
1342f7c507a5 Merge "remove unnecessary #include "yuv.h""
13437861578b for ReadXXXX() image-readers, use the value of pic->use_argb
134414e4043b remove unnecessary #include "yuv.h"
1345469ba2cd vwebp: fix incorrect clipping w/NO_BLEND
13464b9186b2 update issue tracker url
1347d64d376c change WEBP_ALIGN_CST value to 31
1348f717b828 vp8l.c, cosmetics: fix indent after 95509f9
1349927ccdc4 Merge "fix alignment of allocated memory in AllocateTransformBuffer"
1350fea94b2b fix alignment of allocated memory in AllocateTransformBuffer
13515aa8d61f Merge "MIPS: rescaler code synced with C implementation"
1352e7fb267d MIPS: rescaler code synced with C implementation
135393c86ed5 Merge "format_constants.h: MKFOURCC, correct cast"
13545d791d26 format_constants.h: MKFOURCC, correct cast
135565726cd3 dsp/lossless: Average2, make a constant unsigned
1356d26d9def Use __has_builtin to check clang support
135712ec204e moved ALIGN_CST into util/utils.h and renamed WEBP_ALIGN_xxx
1358a2640838 Merge "rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand"
13593fb600d5 Merge "wicdec: fix alpha detection w/64bpp BGRA/RGBA"
136067c547fd rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand
136199e3f812 Merge "large re-organization of the delta-palettization code"
136295509f99 large re-organization of the delta-palettization code
136374fb458b fix for weird msvc warning message
1364ae49ad86 Merge "SSE2 implementation of ImportRowShrink"
1365932fd4df SSE2 implementation of ImportRowShrink
1366badfcbaa wicdec: fix alpha detection w/64bpp BGRA/RGBA
136735cafa6c Merge "iosbuild: fix linking with Xcode 7 / iOS SDK 9"
1368b0c9d8af label rename: NO_CHANGE -> NoChange
1369b4e731cd neon-implementation for rescaler code
1370db1321a6 iosbuild: fix linking with Xcode 7 / iOS SDK 9
13716dfa5e3e rescaler: better handling of the fxy_scale=0 special case.
137255c05293 Revert "rescaler: better handling of the fxy_scale=0 special case."
13739f226bf8 rescaler: better handling of the fxy_scale=0 special case.
1374f7b8f907 delta_palettization.*: add copyright
1375c1e1b710 Changed delta palette to compress better
13760dd28267 Merge "Add delta_palettization feature to WebP"
137748f66b66 Add delta_palettization feature to WebP
137827933e2a anim_encoder: drop a frame if it has same pixels as the prev frame.
1379df9f6ec8 Merge "webpmux/DisplayInfo: send non-error output to stdout"
13808af4993b Merge "rescaler_mips_dsp_r2: cosmetics, fix indent"
13812b9d2495 Merge "rescaler: cosmetics, join two lines"
1382cc020a8c webpmux/DisplayInfo: send non-error output to stdout
1383a288e746 configure: add -Wshorten-64-to-32
1384c4c3cf2d pngdec: fix type conversion warnings
1385bef8e97d webpmux: fix type conversion warning
13865a84460d rescaler_mips_dsp_r2: cosmetics, fix indent
1387acde0aae rescaler: cosmetics, join two lines
1388306ce4fd rescaler: move the 1x1 or 2x1 handling one level up
1389cced974b remove _mm_set_epi64x(), which is too specific
139056668c9f fix warnings about uint64_t -> uint32_t conversion
139176a7dc39 rescaler: add some SSE2 code
13921df1d0ee rescaler: harmonize function protos
13939ba1894b rescaler: simplify ImportRow logic
13945ff0079e fix rescaler vertical interpolation
1395cd82440e VP8LAllocateHistogramSet: align histogram[] entries
1396a406b1dd Merge "fix memory over-allocation in lossless rescaler init"
13970fde33e3 add missing const in VP8InitFrame signature
1398ac7d5e8d fix memory over-allocation in lossless rescaler init
1399017f8ccc Loosen the buffer size checks for Y/U/V/A too.
140015ca5014 loosen the padding check on buffer size
1401d623a870 dec_neon: add whitespace around stringizing operator
140229377d55 dsp/mips: cosmetics: add whitespace around XSTR macro
1403eebaf97f dsp/mips: add whitespace around stringizing operator
1404d39dc8f3 Create a WebPAnimDecoder API.
140503fb7522 gif2webp: print output file size
140614efabbf Android: limit use of cpufeatures
14077b83adbe preparatory cosmetics for Rescaler code fix and clean-up
140877fb41c2 dec/vp8l/DecodeAlphaData: remove redundant cast
140990fcfcd9 Insert less hash chain entries from the beginnings of long copies.
1410bd55604d SSE2: add yuv444 converters, re-using yuv_sse2.c
141141a5d99d add a -quiet option to 'dwebp'
141280ab3edb Merge "README: update dwebp help output after 1e595fe"
141332b71b2e README: update dwebp help output after 1e595fe
14143ec11827 use the DispatchAlpha() call from dsp
1415c5f00621 incorporate bzero() into WebPRescalerInit() instead of call site
14163ebcdd41 remove duplicate "#include <stdlib.h>"
14171e595fe1 dwebp: add -resize as a synonym for -scale
141824a96932 dec: allow 0 as a scaling dimension
1419b9187242 utils/rescaler: add WebPRescalerGetScaledDimensions
1420923e8eda Merge "update NEWS"
1421020fd099 Merge "WebPPictureDistortion: support ARGB format for 'pic' when computing distortion."
14226a5292f6 update NEWS
142356a2e9f5 WebPPictureDistortion: support ARGB format for 'pic' when computing distortion.
14240ae582e4 configure: test and add -Wunreachable-code
1425c2f9dc06 bit_writer: convert VP8L macro values to immediates
1426b969f888 Reduce magic in palette reordering
1427acb297e9 anim_diff: add a -raw_comparison flag
1428155c1b22 Merge changes I76f4d6fe,I45434639
1429717e4d5a mips32/mipsDSPr2: function ImportRow rebased
14307df93893 fix rescaling bug (uninitialized read, see bug #254).
14315cdcd561 lossless_enc_neon: add VP8LTransformColor
1432a53c3369 lossless_neon: add VP8LTransformColorInverse
143399131e7f Merge changes I9fb25a89,Ibc648e9e
1434c4556766 simplify the main loop for downscaling
14352a010f99 lossless_neon: remove predictors 5-13
1436ca221bbc ll_enc_neon: enable VP8LSubtractGreenFromBlueAndRed
1437585d93db Container spec: clarify ordering of ALPH chunk.
143801d61fd9 lossless: ~20 % speedup
1439f722c8f0 lossless: Speed up ComputeCacheEntropy by 40 %
14401ceecdc8 add a VP8LColorCacheSet() method for color cache
144117eb6099 lossless: Allow copying from prev row in rle-mode.
1442f3a7a5bf lossless: bit writer optimization
1443d97b9ff7 Merge changes from topic 'lossless-enc-improvements'
14440250dfcc msvc: fix pointer type warning in BitsLog2Floor
144552931fd5 lossless: combine the Huffman code with extra bits
1446c4855ca2 lossless: Inlining add literal
14478e9c94de lossless: simplify HashChainFindCopy heuristics
1448888429f4 lossless: 0.5 % compression density improvement
14497b23b198 lossless: Add zeroes into the predicted histograms.
145085b44d8a lossless: encoding, don't compute unnecessary histo
1451d92453f3 lossless: Remove about 25 % of the speed degradation
14522cce0317 Faster alpha coding for webp
14535e75642e lossless: rle mode not to accept lengths smaller than 4.
145484326e4a lossless: Less code for the entropy selection
145516ab951a lossless: 0.37 % compression density improvement
1456822f113e add WebPFree() to the API
14570ae2c2e4 SSE2/SSE41: optimize SSE_16xN loops
145839216e59 cosmetics: fix indent after 32462a07
1459559e54ca Merge "SSE2: slightly faster FTransformWHT"
14608ef9a63b SSE2: slightly faster FTransformWHT
1461f27f7735 lossless_neon: enable VP8LAddGreenToBlueAndRed
146236e9c4bc SSE2: minor cosmetrics on in-loop filter code
14634741fac4 dsp/lossless_*sse2: remove some unnecessary inlines
14641819965e fix warning ("left shift of negative value") using a cast
146570170014 SSE2: speed-up some lossless-encoding functions
1466abcb0128 Merge "SSE2: slightly faster (~5%) AddGreenToBlueAndRed()"
14672df5bd30 Merge "Speedup to HuffmanCostCombinedCount"
14689e356d6b SSE2: slightly faster (~5%) AddGreenToBlueAndRed()
1469fc6c75a2 SSE2: 53% faster TransformColor[Inverse]
147049073da6 SSE2: 46% speed-up of TransformColor[Inverse]
147132462a07 Speedup to HuffmanCostCombinedCount
1472f3d687e3 SSE4.1 implementation of some lossless encoding functions
1473bfc300c7 SSE4.1 implementation of some alpha-processing functions
14747f9c98f2 Merge "sse2 in-loop: simplify SignedShift8b() a bit"
1475ef314a5d dec_sse2/GetNotHEV: micro optimization
1476a729cff9 sse2 in-loop: simplify SignedShift8b() a bit
1477422ec9fb simplify Load8x4() a bit
14788df238ec Merge "remove some duplicate FlipSign()"
1479751506c4 remove some duplicate FlipSign()
148065ef5afc Merge "lossless: 0.13% compression density gain"
14812beef2f2 lossless: 0.13% compression density gain
14823033f24c lossless: 0.06 % compression density improvement
148364960da9 dec_neon: add VE8uv / VE16
148414dbd87b dec_neon: add HE8uv / HE16
1485ac768011 introduce FTransform2 to perform two transforms at a time.
1486aa6065ae dec_neon: use vld1_dup(mem) rather than vdup(mem[0])
14878b63ac78 Merge "dec_neon: add TM16"
1488f51be09e Merge "dec_neon/TrueMotion: simply left border load"
1489dc48196b dec_neon: add TM16
1490ea95b305 dec_neon/TrueMotion: simply left border load
1491f262d612 speed-up SetResidualSSE2
1492bf46d0ac fix mips2 build target
1493929a0fdc enc_sse2/TTransform: simplify abs calculation
149417dbd058 enc_sse2/CollectHistogram: simplify abs calculation
1495a6c15936 dec_neon: add DC16 intra predictors
149603b4f50d Makefile.vc: add anim_diff build support.
14971b989874 Merge changes I9cd84125,Iee7e387f,I7548be72
1498acd7b5af Introduce a test tool anim_diff.
1499f274a96c dsp/enc_sse2: add luma4 intra predictors
1500040b11bd dsp/enc_sse2: add chroma intra predictors
1501aee021bb dsp/enc_sse2: add luma16 intra predictors
15029e00a499 makefile.unix: remove superclean target
1503cefc9c09 makefile.unix: clean up after extras target
15044c9af023 dec_neon: add DC8uvNoTopLeft
1505dd55b873 Merge "doc/webp-container-spec: update repo browser link"
1506f0486968 doc/webp-container-spec: update repo browser link
15079287761d Merge "GetResidualCostSSE2: simplify abs calculation"
15080e009366 dsp/cpu.c(x86): check maximum supported cpuid feature
1509b243a4bc GetResidualCostSSE2: simplify abs calculation
15106d4602b8 Merge "fix typo: constitutes -> constitute"
15115fe1fe37 fix typo: constitutes -> constitute
1512b83bd7c4 Merge "populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions"
1513b0114a32 Merge "histogram.h: cosmetics: remove unnecessary includes"
1514feab45ef gifdec: Move inclusion of webp/config.h to header.
1515dbba67d1 histogram.h: cosmetics: remove unnecessary includes
1516e978fec6 Merge "VP8LBitReader: fix remaining ubsan error with large shifts"
1517d6fe5884 Merge "ReconstructRow: move some one-time inits out of the main loop"
1518a21d647c ReconstructRow: move some one-time inits out of the main loop
15197a01c3c3 VP8LBitReader: fix remaining ubsan error with large shifts
15207fa67c9b change GetPixPairHash64() return type to uint32_t
1521ec1fb9f8 Merge "dsp/enc.c: cosmetics: move DST() def closer to use"
15227073bfb3 Merge "split 64-mult hashing into two 32-bit multiplies"
15230768b252 dsp/enc.c: cosmetics: move DST() def closer to use
15246a48b8f0 Merge "fix MSVC size_t->int conversion warning"
15251db07cde Merge "anim_encode: cosmetics: fix alignment"
1526e28271a3 anim_encode: cosmetics: fix alignment
15277fe357b8 split 64-mult hashing into two 32-bit multiplies
1528af74c145 populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions
152961214134 remove VP8Residual::cost unused field
1530e2544823 fix MSVC size_t->int conversion warning
1531b69a6c35 vwebp: don't redefine snprintf with VS2015+
15320ac29c51 AnimEncoder API: Consistent use of trailing underscores in struct.
1533d4845550 AnimEncoder API: Use timestamp instead of duration as input to Add().
15349904e365 dsp/dec_sse2: DC8uv / DC8uvNoLeft speedup
15357df20497 dsp/dec_sse2: DC16 / DC16NoLeft speedup
15368e515dfe Merge "makefile.unix: add some missing headers"
1537db12250f cosmetics: vp8enci.h: break long line
1538bf516a87 makefile.unix: add some missing headers
1539b44eda3f dsp: add DSP_INIT_STUB
154003e76e96 clarify the comment about double-setting the status in SetError()
15419fecdd71 remove unused EmitRGB()
154243f010dd move ReconstructRow to top
154382d98020 add a dec/common.h header to collect common enc/dec #defines
15445d4744a2 Merge "enc_sse41: add Disto4x4 / Disto16x16"
1545e38886a7 mux.h: Bump up ABI version
154646305ca6 configure: add --disable-<avx2|sse4.1|sse2>
15472fc8b658 CPPFLAGS->CFLAGS for detecting sse4.1 in preprocessor
15481a338fb3 enc_sse41: add Disto4x4 / Disto16x16
154994055503 encoding SSE4.1 stub for StoreHistogram + Quantize + SSE_16xN
1550c64659e1 remove duplicate variables after the lossless{_enc}.c split
155167ba7c7a enc_sse2: call local FTransform in CollectHistogram
155218249799 dsp: s/VP8LSetHistogramData/VP8SetHistogramData/
1553ede5e158 cosmetics: dsp/lossless.h: reorder prototypes
1554553051f7 dsp/lossless: split enc/dec functions
15559064adc8 Merge "conditionally add -msse4.1 in Makefile.unix"
1556cecf5096 dsp/yuv*.c: rework WEBP_USE_<arch> ifdef
15576584d398 dsp/upsampling*.c: rework WEBP_USE_<arch> ifdef
155880809422 dsp/rescaler*.c: rework WEBP_USE_<arch> ifdef
15591d93ddec dsp/lossless*.c: rework WEBP_USE_<arch> ifdef
156073805ff2 dsp/filters*.c: rework WEBP_USE_<arch> ifdef
1561fbdcef24 dsp/enc*.c: rework WEBP_USE_<arch> ifdef
156266de69c1 dsp/dec*.c: rework WEBP_USE_<arch> ifdef
156348e4ffd1 dsp/cost*.c: rework WEBP_USE_<arch> ifdef
156429fd6f90 dsp/argb*.c: rework WEBP_USE_<arch> ifdef
156580ff3813 dsp/alpha*.c: rework WEBP_USE_<arch> ifdef
1566bf09cf1e conditionally add -msse4.1 in Makefile.unix
1567e9570dd9 stub for SSE4.1 support.
15684a95384b Merge "dsp: add sse4.1 detection"
1569cabf4bd2 dsp: add sse4.1 detection
15704ecba1ab thread.h: rename interface param
1571b8d706c8 Merge "sync versions with 0.4.3"
1572ae64a711 Merge "add shell for libwebpextras"
157392a5da9c sync versions with 0.4.3
15749d4e2d16 Merge "~30% faster smart-yuv (-pre 4) with early-out criterion"
1575b1bdbbab ~30% faster smart-yuv (-pre 4) with early-out criterion
15767efb9748 Merge "Disable NEON code on Native Client"
1577ac4f5784 Disable NEON code on Native Client
15780873f85b AnimEncoder API: Support input frames in YUV(A) format.
15795c176d2d add shell for libwebpextras
158044bd9561 fix signature for VP8RecordCoeffTokens()
1581c9b8ea0e small cosmetics on TokenBuffer.
158276394c09 Merge "MIPS: dspr2: added optimization for TrueMotion"
15830f773693 WebPPictureRescale: add a note about 0 width/height
1584241bb5d9 MIPS: dspr2: added optimization for TrueMotion
15856cef0e4f examples/Android.mk: add webpmux_example target
158653c16ff0 Android.mk: add webpmux target
158721852a00 Android.mk: add webpdemux target
15888697a3bc Android.mk: add webpdecoder{,_static} targets
15894a670491 Android.mk: split source lists per-directory
1590b5e79422 MIPS: dspr2: Added optimization for some convert functions
15910f595db6 MIPS: dspr2: Added optimization for some convert functions
15928a218b4a MIPS: [mips32|dspr2]: GetResidualCost rebased
1593ef987500 Speedup method StoreImageToBitMask by 5%.
1594602a00f9 fix iOS arm64 build with Xcode 6.3
159523820507 1-2% faster encoding by removing an indirection in GetResidualCost()
1596eddb7e70 MIPS: dspr2: added otpimization for DC8uv, DC8uvNoTop and DC8uvNoLeft
159773ba2915 MIPS: dspr2: added optimization for functions RD4 and LD4
1598c7129da5 Merge "4-5% faster encoding using SSE2 for GetResidualCost"
159994380d00 MIPS: dspr2: added optimizaton for functions VE4 and DC4
16002a407092 4-5% faster encoding using SSE2 for GetResidualCost
160117e19862 Merge "MIPS: dspr2: added optimization for simple filtering functions"
16023ec404c4 Merge "dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage"
1603b969f5df dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage
1604d7b8e711 MIPS: dspr2: added optimization for simple filtering functions
1605235f774e Merge "MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C"
160642a8a628 MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C
1607b442bef3 Merge "ApplyFiltersAndEncode: only copy lossless stats"
1608b510fbfe doc/webp-container-spec: note MSB order for chunk diagrams
16099bc0f922 ApplyFiltersAndEncode: only copy lossless stats
16103030f115 Merge "dsp/mips: add some missing TSan annotations"
1611dfcf4593 Merge "MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C"
161255c75a25 dsp/mips: add some missing TSan annotations
16132cb879f0 MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C
1614e1556010 move some cost tables from enc/ to dsp/
1615c3a03168 Merge "picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined"
161639537d7c Merge "VP8LDspInitMIPSdspR2: add missing TSan annotation"
16171dd419ce picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined
161843fd3543 VP8LDspInitMIPSdspR2: add missing TSan annotation
1619c7233dfc Merge "VP8LDspInit: remove memcpy"
16200ec4da96 picture_csp::InitGammaTables*: add missing TSan annotations
162135579a49 VP8LDspInit: remove memcpy
162297f6aff8 VP8YUVInit: add missing TSan annotation
1623f9016d66 dsp/enc::InitTables: add missing TSan annotation
1624e3d9771a VP8EncDspCostInit*: add missing TSan annotations
1625d97c143d Merge "doc/webp-container-spec: cosmetics"
1626309b7908 MIPS: mips32: Added optimization for function SetResidualCoeffs
1627a987faed MIPS: dspr2: added optimization for function GetResidualCost
1628e7d3df23 doc/webp-container-spec: cosmetics
1629be6635e9 Merge "VP8TBufferClear: remove some misleading const's"
163002971e72 Merge "VP8EmitTokens: remove unnecessary param void cast"
16313b77e5a7 VP8TBufferClear: remove some misleading const's
1632aa139c8f VP8EmitTokens: remove unnecessary param void cast
1633c24d8f14 cosmetics: upsampling_sse2: add const to some casts
16341829c42c cosmetics: lossless_sse2: add const to some casts
1635183168f3 cosmetics: enc_sse2: add const to some casts
1636860badca cosmetics: dec_sse2: add const to some casts
16370254db97 cosmetics: argb_sse2: add const to some casts
16381aadf856 cosmetics: alpha_processing_sse2: add const to some casts
16391579de3c vwebp: clear canvas at the beginning of each loop
16404b9fa5d0 Merge "webp-container-spec: clarify background clear on loop"
16414c82284d Updated the near-lossless level mapping.
164256039479 webp-container-spec: clarify background clear on loop
164319f0ba0e Implement true-motion prediction in SSE2
1644774d4cb7 make VP8PredLuma16[] array non-const
1645d7eabb80 Merge "MIPS: dspr2: Added optimization for function CollectHistogram"
1646fe42739c Use integers for kmin/kmax for simplicity.
1647b9df35f7 AnimEncode API: kmax=0 should imply all keyframes.
16486ce296da MIPS: dspr2: Added optimization for function CollectHistogram
16492c906c40 vwebp: remove unnecessary static Help() prototype
1650be0fd1d5 Merge "dec/vp8: clear 'dither_' on skipped blocks"
1651e96170fe Merge "vwebp/animation: display last frame on end-of-loop"
16520f017b56 vwebp/animation: display last frame on end-of-loop
1653c86b40cc enc/near_lossless.c: fix alignment
165466935fb9 dec/vp8: clear 'dither_' on skipped blocks
1655b7de7946 Merge "lossless_neon: enable subtract green for aarch64"
165677724f70 SSE2 version of GradientUnfilter
1657416e1cea lossless_neon: enable subtract green for aarch64
165872831f6b Speedup AnalyzeAndInit for low effort compression.
1659a6597483 Speedup Analyze methods for lossless compression.
166098c81386 Enable Near-lossless feature.
1661c6b24543 AnimEncoder API: Fix for kmax=1 and default kmin case.
1662022d2f88 add SSE2 variants for alpha filtering functions
16632db15a95 Temporarily disable encoding of alpha plane with color cache.
16641d575ccd Merge "Lossless decoding: Remove an unnecessary if condition."
1665cafa1d88 Merge "Simplify backward refs calculation for low-effort."
16667afdaf84 Alpha coding: reorganize the filter/unfiltering code
16674d6d7285 Simplify backward refs calculation for low-effort.
1668ec0d1be5 Cleaup Near-lossless code.
16699814ddb6 Remove the post-transform near-lossless heuristic.
16704509e32e Lossless decoding: Remove an unnecessary if condition.
1671f2ebc4a8 Merge "Regression fix for lossless decoding"
1672783a8cda Regression fix for lossless decoding
16739a062b8e AnimEncoder: Bugfix for kmin = 1 and kmax = 2.
16740f027a72 simplify smart RGB->YUV conversion code
16750d5b334e BackwardReferencesHashChainFollowChosenPath: remove unused variable
1676f480d1a7 Fix to near lossless artefacts on palettized images.
1677d4615d08 Merge changes Ia1686828,I399fda40
1678cb4a18a7 rename HashChainInit into HashChainReset
1679f079e487 use uint16_t for chosen_path[]
1680da091212 MIPS: dspr2: Added optimization for function FTransformWHT
1681b8c20135 Merge "wicdec: (msvs) quiet some /analyze warnings"
16829b228b54 wicdec: (msvs) quiet some /analyze warnings
1683daeb276a Merge "MIPS: dspr2: Added optimization for MultARGBRow function"
1684cc087424 Merge "dsp/cpu: (msvs) add include for __cpuidex"
16854a82aab5 Merge changes I87544e92,I0bb6cda5
16867a191398 dwebp/WritePNG: mark png variables volatile
1687775dfad2 dwebp: include setjmp.h w/WEBP_HAVE_PNG
168847d26be7 dwebp: correct sign in format strings
1689f0e0677b VP8LEncodeStream: add an assert
1690c5f7747f VP8LColorCacheCopy: promote an int before shifting
16910de5f33e dsp/cpu: (msvs) add include for __cpuidex
16927d850f7b MIPS: dspr2: Added optimization for MultARGBRow function
169354875293 MIPS: dspr2: added optimization for function QuantizeBlock
16944fbe9cf2 dsp/cpu: (msvs) avoid immintrin.h on _M_ARM
16953fd59039 simplify/reorganize arguments for CollectColorBlueTransforms
1696b9e356b9 Disable costly TraceBackwards for method=0.
1697a7e7caa4 MIPS: dspr2: added optimization for function TransformColorRed
16982cb39180 Merge "MIPS: dspr2: added optimization for function TransformColorBlue"
1699279e6613 Merge "dsp/cpu: add include for _xgetbv() w/MSVS"
1700b6c0428e dsp/cpu: add include for _xgetbv() w/MSVS
1701d1c4ffae gif2webp: Move GIF decoding related code to a support library.
170207c39559 Merge "AnimEncoder API: Add info in README.mux"
17037b161973 MIPS: dspr2: added optimization for function TransformColorBlue
1704d7c4b02a cpu: fix AVX2 detection for gcc/clang targets
17059d299469 AnimEncoder API: Add info in README.mux
1706d581ba40 follow-up: clean up WebPRescalerXXX dsp function
1707f8740f0d dsp: s/USE_INTRINSICS/WEBP_USE_INTRINSICS/
1708ce73abe0 Merge "introduce a separate WebPRescalerDspInit to initialize pointers"
1709ab66beca introduce a separate WebPRescalerDspInit to initialize pointers
1710205c7f26 fix handling of zero-sized partition #0 corner case
1711cbcdd5ff Merge "move rescaler functions to rescaler* files in src/dsp/"
1712bf586e88 Merge changes I230b3532,Idf3057a7
17136dc79dc2 Merge "anim_encode: fix type conversion warnings"
171411fce25a Merge "dec_neon: remove returns from void functions"
1715c4e63f99 Makefile.vc: add gif2webp target
17164f43d38c enable NEON for Windows ARM builds
17173f6615ac Makefile.vc: add rudimentary Windows ARM support
1718e7c5954c dec_neon: remove returns from void functions
1719f79c163b anim_encode: fix type conversion warnings
17200f54f1ec Remove gif2webp_util which is no longer needed.
1721cbcbedd0 move rescaler functions to rescaler* files in src/dsp/
1722ac79ed19 webpmux: remove experimental fragment handling
1723e8694d4d mux: remove experimental FRGM parsing
17249e92b6ea AnimEncoder API: Optimize single-frame animated images
1725abbae279 Merge "Move over gif2webp to the new AnimEncoder API."
1726a28c4b36 MIPS: move WORK_AROUND_GCC define to appropriate place
1727012d2c60 MIPS: dspr2: added optimization for functions SSEAxB
172867720c8b Move over gif2webp to the new AnimEncoder API.
17299241ecf4 MIPS: dspr2: added optimization for function Average
17309422211d Merge "Tune BackwardReferencesLz77 for low_effort (m=0)."
1731df40057b Merge "Speedup VP8LGetHistoImageSymbols for low effort (m=0) mode."
1732ea08466d Tune BackwardReferencesLz77 for low_effort (m=0).
1733b0b973c3 Speedup VP8LGetHistoImageSymbols for low effort (m=0) mode.
1734c6d32927 argb_sse2: cosmetics
173567f601cd make the 'last_cpuinfo_used' variable names unique
1736b9489861 AnimEncoder API: Init method for default options.
1737856f8ec1 Merge "AnimEncoder API: Remove AnimEncoderFrameOptions."
1738c537514d Merge "AnimEncoder API: GenerateCandidates bugfix."
1739dc0ce039 Merge "AnimEncoder API: Compute change rectangle for first frame too."
1740f00b639b Merge "AnimEncoder API: In Assemble(), always set animation parameters."
174129ed796c Merge "AnimEncoder lib cleanup: prev to prev canvas not needed."
17429f0dd6e5 Merge "WebPAnimEncoder API: Header and implementation"
17435e56bbe0 AnimEncoder API: Remove AnimEncoderFrameOptions.
1744b902c3ea AnimEncoder API: GenerateCandidates bugfix.
1745ef3c39bb AnimEncoder API: Compute change rectangle for first frame too.
1746eec423ab AnimEncoder API: In Assemble(), always set animation parameters.
1747ae1c046e AnimEncoder lib cleanup: prev to prev canvas not needed.
17484b997ae4 WebPAnimEncoder API: Header and implementation
174972208bec move argb_*.o build target to encoder list
175095920538 Merge "multi-thread fix: lock each entry points with a static var"
17514c1b300a Merge "SSE2 implementation of VP8PackARGB"
1752fbcc2004 Merge "add -Wformat-nonliteral and -Wformat-security"
175380d950d9 add -Wformat-nonliteral and -Wformat-security
175404c20e75 Merge "MIPS: dspr2: added optimization for function Intra4Preds"
1755a437694a multi-thread fix: lock each entry points with a static var
1756ca7f60db SSE2 implementation of VP8PackARGB
175772d573f6 simplify the PackARGB signature
17584e2589ff demux: restore strict fragment flag check
17594ba8e074 Merge "webp-container-spec: remove references to fragments"
1760e752f0a6 Merge "demux: remove experimental FRGM parsing"
1761f8abb112 Merge changes I109ec4d9,I73fe7743
1762ae2188a4 MIPS: dspr2: added optimization for function Intra4Preds
17631f4b8642 move VP8EncDspARGBInit() call closer to where it's needed
176414108d78 dec_neon: add DC8uvNoTop / DC8uvNoLeft
1765d8340da7 dec_neon: add DC8uv
1766a66e66c7 webp-container-spec: remove references to fragments
17677ce8788b MIPS: dspr2: added optimization for function MakeARGB32
1768012e623d demux: remove experimental FRGM parsing
176987c3d531 method=0: Don't evaluate any predictor
17706f4fcb98 Merge "MIPS: dspr2: added optimization for function ImportRow"
177124284459 replace unneeded calls to HistogramCopy() by swaps
1772bdf7b40c MIPS: dspr2: added optimization for function ImportRow
1773e66a9225 Merge "MIPS: dspr2: added optimization for function ExportRowC"
1774c279fec1 MIPS: dspr2: added optimization for function ExportRowC
177531a9cf64 Speedup WebP lossless compression for low effort (m=0) mode with following: - Disable Cross-Color transform. - Evaluate predictors #11 (paeth), #12 and #13 only.
17769275d91c MIPS: dspr2: added optimization for function TrueMotion
177726106d66 Merge "enc_neon: fix building with non-Xcode clang (iOS)"
17781c4e3efe unroll the kBands[] indirection to remove a dereference in GetCoeffs()
1779a3946b89 enc_neon: fix building with non-Xcode clang (iOS)
17808ed9c00d Merge "simplify the Histogram struct, to only store max_value and last_nz"
1781bad77571 simplify the Histogram struct, to only store max_value and last_nz
17823cca0dc7 MIPS: dspr2: Added optimization for DCMode function
178337e395fd MIPS: fix functions to use generic BPS istead of hardcoded value
17849475bef4 PickBestUV: fix VP8Copy16x8 invocation
1785441f273f Merge changes I55f8da52,Id73a1e96
17864a279a68 cosmetics: add some missing != NULL comparisons
178766ad3725 factorize BPS definition in dsp.h and add VP8Copy16x8
1788432e5b55 make ALIGN_xxx naming consistent
178957606047 encoder: switch BPS to 32 instead of 16
17901b66bbe9 MIPS: dspr2: added optimization for function TransformColor_C
1791c6d0f9e7 histogram: cosmetics
1792f399d307 Merge changes I6eac17e5,I32d2b514
17939de9074c dec_neon: add TM8uv
17948e517eca bit_reader/kVP8NewRange: range_t -> uint8_t
1795e1857139 dsp: initialize VP8PredChroma8 in VP8DspInit()
1796e0c809ad Move Entropy methods to lossless.c
1797a96ccf8f iosbuild: add x64_64 simulator support
1798a0df5510 Remove handling for WEBP_HINT_GRAPH
1799413dfc0c Move static method definition before its usage.
18000f235665 Update BackwardRefsWithLocalCache.
1801d69e36ec Remove TODOs from lossless encoder code.
1802fdaac8e0 Optmize VP8LGetBackwardReferences LZ77 references.
18032f0e2ba8 MIPS: dspr2: added optimization for function Select
1804a3e79a46 Merge "WebPEncode: Support encoding same pic twice (even if modified)"
1805e4f4dddb WebPEncode: Support encoding same pic twice (even if modified)
1806cbc3fbb4 Merge "Updated VP8LGetBackwardReferences and color cache."
180795a9bd85 Updated VP8LGetBackwardReferences and color cache.
180854f2c14c MIPS: dspr2: added optimization for function FTransform
1809aa42f423 MIPS: dspr2: Added optimization for function VP8LSubtractGreenFromBlueAndRed
181011a25f75 Merge "FlattenSimilarBlocks should only be tried when blending is possible."
18115cccdadf FlattenSimilarBlocks should only be tried when blending is possible.
181295ca44a7 MIPS: dspr2: added optimization for Disto4x4
18134171b672 backward_references.c: reindent after c8581b0
1814c8581b06 Optimize BackwardReferences for RLE encoding.
18155798eee6 MIPS: dspr2: unfilters bugfix (Ie7b7387478a6b5c3f08691628ae00f059cf6d899)
18164167a3f5 Optimize backwardreferences
1817d18554c3 Merge "webp/types.h: use inline for clang++/-std=c++11"
18187489b0e7 gif2webp: Add '-min-size' option to get best compression.
181977bdddf0 Speed up BackwardReferences
18206638710b webp/types.h: use inline for clang++/-std=c++11
1821abf04205 Enable entropy based merge histo for (q<100)
1822572022a3 filters_mips_dsp_r2.c: disable unfilters
1823a28e21b1 MIPS: dspr2: Added optimization for function ClampedAddSubtractFull
182418d5a1ef MIPS: dspr2: added optimization for function ClampedAddSubtractHalf
1825829a8c19 MIPS: dspr2: added optimization for ITransform
1826c94ed49e gif2webp: Use the default hint instead of WEBP_HINT_GRAPH.
1827653ace55 Increase the MAX_COLOR_CACHE_BITS from 9 to 10.
1828919220c7 Change the logic adjusting the Histogram bits.
182953b096c0 Merge "Fix bug in VP8LCalculateEstimateForCacheSize."
1830e912bd55 Fix bug in VP8LCalculateEstimateForCacheSize.
1831541d7839 Merge "dec_neon: add RD4 intra predictor"
1832f8cd0672 Merge "Makefile.vc: add a 'legacy' RTLIBCFG option"
183322881c99 dec_neon: add RD4 intra predictor
1834613d281e update NEWS
18351304eb34 Merge "dec_neon: DC4: use pair-wise adds for top row"
183634c20c06 Makefile.vc: add a 'legacy' RTLIBCFG option
18377083006b Merge "dsp/dec_{neon,sse2}: VE4: normalize variable names"
18380db9031c dsp/dec_{neon,sse2}: VE4: normalize variable names
1839b5bc1530 dec_neon: DC4: use pair-wise adds for top row
18405b90d8fe Unify the API between VP8BitWriter and VP8LBitWriter
1841f7ada560 Merge changes I2e06907b,Ia9ed4ca6,I782282ff
18425beb6bf0 Merge "dec_neon: add VE4 intra predictor"
1843eba6ce06 dec_neon: add DC4 intra predictor
184479abfbd9 dec_neon: add TM4 intra predictor
1845fe395f0e dec_neon: add LD4 intra predictor
184632de385e dec_neon: add VE4 intra predictor
184772395ba9 Merge "Modify CostModel to allocate optimal memory."
184865e5eb8a gif2webp: Support GIF_DISPOSE_RESTORE_PREVIOUS
1849e4c829ef gif2webp: Handle frames with odd offsets + disposal to background.
1850c2b5a039 Modify CostModel to allocate optimal memory.
1851b7a33d7e implement VE4/HE4/RD4/... in SSE2
185297c76f1f make VP8PredLuma4[] non-const and initialize array in VP8DspInit()
18530ea8c6c2 Merge "PrintReg: output to stderr"
1854d7ff2f97 Merge "stopwatch.h: fix includes"
1855f85ec712 PrintReg: output to stderr
185654edbf65 stopwatch.h: fix includes
1857139142e4 Optimize BackwardReferenceHashChainFollowPath.
18585f36b68d enc/backward_references.c: fix indent
1859e0e9960d Merge "sync version numbers to 0.4.2 release"
186064ac5144 sync version numbers to 0.4.2 release
1861c24f8954 Simplify and speedup Backward refs computation.
1862d1c359ef fix shared object build with -fvisibility=hidden
1863a4c3a31b WEBP_TSAN_IGNORE_FUNCTION: fix gcc compat warning
1864f358eeb8 add code for testing random incremental decoding in dwebp
186580247291 mark some init function as being safe for thread_sanitizer.
186679b5bdbf bit_reader.h: cosmetics: fix a typo
18676c673681 Improved near-lossless mode.
18680ce27e71 enc_mips32: workaround gcc-4.9 bug
1869aca1b98f enc/vp8l.c: fix indent
1870ca005027 Evaluate non-palette compression for palette image
1871c8a87bb6 AssignSegments: quiet -Warray-bounds warning
187232f67e30 Merge "enc_neon: initialize vectors w/vdup_n_u32"
1873fabc65da 1-3% faster encoding optimizing SSE_NxN functions
18747534d716 enc_neon: initialize vectors w/vdup_n_u32
18755f813912 Merge "Fix return code of EncodeImageInternal()"
1876e321abe4 Fix return code of EncodeImageInternal()
1877f82cb06a optimize palette ordering
1878f545feee don't set the alpha value for histogram index image
18792d9b0a44 add WebPDispatchAlphaToGreen() to dsp
18801bd4c2ad Merge "Change Entropy based Histogram Combine heuristic."
1881e295b8f1 Merge "iosbuild: cleanup"
18821be4e760 Merge "iosbuild: output autoconf req. on failure"
1883d5e498d4 Change Entropy based Histogram Combine heuristic.
188447a2d8e1 fix MSVC float->int conversion warning
1885041956f6 iosbuild: cleanup
1886767eb402 iosbuild: output autoconf req. on failure
188735ad48b8 HistoHeapInit: correct positions allocation size
188845d9635f lossless: entropy clustering for high qualities.
1889dc37df8c fix type warning for VS9_x64
18909f7d9e6d iosbuild: make iOS 6 the minimum requirement
1891fdd6528b Remove unused VP8LDecoder member variable
1892ea3bba5a Merge "rewrite Disto4x4 in enc_neon.c with intrinsic"
1893f060dfc4 add lossless incremental decoding support
1894ab70794d rewrite Disto4x4 in enc_neon.c with intrinsic
1895d4471637 MIPS: dspr2: added optimization for function FilterLoop24
18962aef54d4 Merge "prepare VP8LDecodeImage for incremental decode"
1897aed0f5a2 Merge "MIPS: dspr2: added optimization for function FilterLoop26"
189828630685 prepare VP8LDecodeImage for incremental decode
1899248f3aed remove br->error_ field
190049e15044 MIPS: dspr2: added optimization for function FilterLoop26
190138128cb9 iobuild.sh: only install .h files in Headers
1902c792d412 Premultiply with alpha during U/V downsampling
19030cc811d7 gif2webp: Background color correction
1904d7167ff7 Amend the lossless spec according to issue #205, #206 and #224
1905b901416b Record the lossless size stats.
1906cddd3340 Add a WebPExtractAlpha function to dsp
19070716a98e fix indent after I0204949917836f74c0eb4ba5a7f4052a4797833b
1908f9ced95a Optimize lossless decoding for trivial(ARB) codes.
1909924fcfd9 Merge "webpmux: simplify InitializeConfig()"
1910c0a462ca webpmux: simplify InitializeConfig()
19116986bb5e webpmux: fix indent
1912f89e1690 webpmux: fix exit status on numeric value parse error
19132172cb62 Merge "webpmux: fix loop_count range check"
1914e3b343ec Merge "examples: warn on invalid numeric parameters"
19150e23c487 webpmux: fix loop_count range check
19166208338a Merge "fix loop bug in DispatchAlpha()"
1917d51f3e40 gif2webp: Handle frames with missing  graphic control extension
1918690b491a fix loop bug in DispatchAlpha()
191996d43a87 examples: warn on invalid numeric parameters
19203101f537 MIPS: dspr2: added optimization for TransformOne
1921a6bb9b17 SSE2 for inverse Mult(ARGB)Row and ApplyAlphaMultiply
1922d84a8ffd Remove default initialization of decoder status.
1923be70b86c configure: simplify libpng-config invocation
1924e0a99321 Rectify bug in lossless incremental decoding.
1925e2502a97 MIPS: dspr2: added optimization for TransformAC3
192624e1072a MIPS: dspr2: added optimization for TransformDC
1927c0e84df8 Merge "Slightly faster lossless decoding (1%)"
19288dd28bb5 Slightly faster lossless decoding (1%)
1929f0103595 MIPS: dspr2: added optimization for ColorIndexInverseTransforms
1930d3242aee make VP8LSetBitPos() set br->eos_ flag
1931a9decb55 Lossless decoding: fix eos_ flag condition
19323fea6a28 fix erroneous dec->status_ setting
193380b8099f MIPS: dspr2: add some specific mips code to commit I2c3f2b12f8df15b785fad5a9c56316e954ae0c53
1934e5640625 Merge "further refine the COPY_PATTERN optim for DecodeAlpha"
1935854509fe enc/histogram.c: reindent after f4059d0
193634421964 Merge "~3-5% faster encoding optimizing PickBestIntra*()"
1937865069c1 further refine the COPY_PATTERN optim for DecodeAlpha
1938a5956228 added C-level optimization for DecodeAlphaData function
1939187d379d add a fallback to ALPHA_NO_COMPRESSION
1940a48a2d76 ~3-5% faster encoding optimizing PickBestIntra*()
1941a6140194 ExUtilReadFromStdin: (windows) open stdin in bin mode
1942e80eab1f webpmux: (windows) open stdout in binary mode
1943e9bfb116 cwebp: (windows) open stdout in binary mode
19445927e15b example_util: add ExUtilSetBinaryMode
194530f3b75b webpmux man page: Clarify some title, descriptions and examples
194677d4c7e3 address cosmetic comments from patch #71380
1947f75dfbf2 Speed up Huffman decoding for lossless
1948637b3888 dsp/lossless: workaround gcc-4.9 bug on arm
19498323a903 dsp.h: collect gcc/clang version test macros
1950e6c4b52f move static initialization of WebPYUV444Converters[] to the Init function.
195149911d4d Merge "fix indentation"
1952f4059d0c Code cleanup for HistogramRemap.
1953e632b092 fix indentation
1954f5c04d64 Merge "add a DispatchAlpha() for SSE2 that handles 8 pixels at a time"
1955fc98edd9 add a DispatchAlpha() for SSE2 that handles 8 pixels at a time
195673d361dd introduce VP8EncQuantize2Blocks to quantize two blocks at a time
19570b21c30b MIPS: dspr2: added optimization for EmitAlphaRGB
1958953acd56 enc_neon: enable QuantizeBlock for aarch64
1959f4ae1437 MIPS: mips32: code rebase
196056977154 MIPS: dspr2: added optimizations for VP8YuvTo*
19612523aa73 SmartRGBYUV: fix odd-width problem with pixel replication
1962ee52dc4e fix some MSVC64 warning about float conversion
19633fca851a cpu: check for _MSC_VER before using msvc inline asm
1964e2a83d71 faster RGB->YUV conversion function (~7% speedup)
1965de2d03e1 Merge "Add smart RGB->YUV conversion option -pre 4"
19663fc4c539 Add smart RGB->YUV conversion option -pre 4
1967b4dc4069 MIPS: dspr2: added optimization for (un)filters
1968137e6090 Merge "configure: add work around for gcc-4.9 aarch64 bug"
1969b61c9cec MIPS: dspr2: Optimization of some simple point-sampling functions
1970e2b8cec0 configure: add work around for gcc-4.9 aarch64 bug
197198c54107 MIPS: mips32r2: added optimization for BSwap32
1972dab702b3 Update PATENTS to reflect s/VP8/WebM/g
1973b564f7c7 Merge "MIPS: detect mips32r6 and disable mips32r1 code"
1974b7e5a5c4 MIPS: detect mips32r6 and disable mips32r1 code
197563c2fc02 Correctly use the AC_CANONICAL_* macros
1976bb07022b Merge "cosmetics"
1977e300c9d8 cosmetics
19780e519eea Merge "cosmetics: remove some extraneous 'extern's"
19793ef0f08a Merge "vp8enci.h: cosmetics: fix '*' placement"
19804c6dde37 bit_writer: cosmetics: rename kFlush() -> Flush()
1981f7b4c48b cosmetics: remove some extraneous 'extern's
1982b47fb00a vp8enci.h: cosmetics: fix '*' placement
1983b5a36cc9 add -near_lossless [0..100] experimental option
19840524d9e5 dsp: detect mips64 & disable mips32 code
1985d3485d96 cwebp.1: fix quality description placement
198629a9fe22 Merge tag 'v0.4.1'
19878af27718 update ChangeLog (tag: v0.4.1, origin/0.4.1)
1988e09e9ff6 Record & log the image pre-processing time.
1989f59c0b4b iosbuild.sh: specify optimization flags
19908d34ea3e update ChangeLog (tag: v0.4.1-rc1)
1991dbc3da66 makefile.unix: add vwebp.1 to the dist target
199289a7c83c update ChangeLog
1993ffe67ee9 Merge "update NEWS for the next release" into 0.4.1
19942def1fe6 gif2webp: dust up the help message
1995fb668d78 remove -noalphadither option from README/vwebp.1
1996e49f693b update NEWS for the next release
1997cd013580 Merge "update AUTHORS" into 0.4.1
1998268d01eb update AUTHORS
199985213b9b bump version to 0.4.1
2000695f80ae Merge "restore mux API compatibility" into 0.4.1
2001862d296c restore mux API compatibility
20028f6f8c5d remove the !WEBP_REFERENCE_IMPLEMENTATION tweak in Put8x8uv
2003d713a696 Merge changes If4debc15,I437a5d5f into 0.4.1
2004c2fc52e4 restore encode API compatibility
2005793368e8 restore decode API compatibility
2006b8984f31 gif2webp: fix compile with giflib 5.1.0
2007222f9b1a gif2webp: simplify giflib version checking
2008d2cc61b7 Extend MakeARGB32() to accept Alpha channel.
20094595b62b Merge "use explicit size of kErrorMessages[] arrays"
2010157de015 Merge "Actuate memory stats for PRINT_MEMORY_INFO"
2011fbda2f49 JPEG decoder: delay conversion to YUV to WebPEncode() call
20120b747b1b use explicit size of kErrorMessages[] arrays
20133398d81a Actuate memory stats for PRINT_MEMORY_INFO
20146f3202be Merge "move WebPPictureInit to picture.c"
20156c347bbb move WebPPictureInit to picture.c
2016fb3acf19 fix configure message for multi-thread
201740b086f7 configure: check for _beginthreadex
20181549d620 reorder the YUVA->ARGB and ARGB->YUVA functions correctly
2019c6461bfd Merge "extract colorspace code from picture.c into picture_csp.c"
2020736f2a17 extract colorspace code from picture.c into picture_csp.c
2021645daa03 Merge "configure: check for -Wformat-security"
2022abafed86 configure: check for -Wformat-security
2023fbadb480 split monolithic picture.c into picture_{tools,psnr,rescale}.c
2024c76f07ec dec_neon/TransformAC3: initialize vector w/vcreate
2025bb4fc051 gif2webp: Allow single-frame animations
202646fd44c1 thread: remove harmless race on status_ in End()
20275a1a7264 Merge "configure: check for __builtin_bswapXX()"
20286781423b configure: check for __builtin_bswapXX()
20296450c48d configure: fix iOS builds
20306422e683 VP8LFillBitWindow: enable fast path for 32-bit builds
20314f7f52b2 VP8LFillBitWindow: respect WEBP_FORCE_ALIGNED
2032e458badc endian_inl.h: implement htoleXX with BSwapXX
2033f2664d1a endian_inl.h: add BSwap16
20346fbf5345 Merge "configure: add --enable-aligned"
2035dc0f479d configure: add --enable-aligned
20369cc69e2b Merge "configure: support WIC + OpenGL under mingw64"
2037257adfb0 remove experimental YUV444 YUV422 and YUV400 code
203810f4257c configure: support WIC + OpenGL under mingw64
2039380cca4f configure.ac: add AC_C_BIGENDIAN
2040ee70a901 endian_inl.h: add BSwap64
204147779d46 endian_inl.h: add BSwap32
2042d5104b1f utils: add endian_inl.h
204358ab6224 Merge "make alpha-detection loop in IsKeyFrame() in good x/y order"
20449d562902 make alpha-detection loop in IsKeyFrame() in good x/y order
2045516971b1 lossless: Remove unaligned read warning
2046b8b596f6 Merge "configure.ac: add an autoconf version prerequisite"
204734b02f8c configure.ac: add an autoconf version prerequisite
2048e59f5360 neon: normalize vdup_n_* usage
20496ee7160d Merge changes I0da7b3d3,Idad2f278,I4accc305
2050abc02f24 Merge "fix (uncompiled) typo"
2051bc03670f neon: add INIT_VECTOR4
20526c1c632b neon: add INIT_VECTOR3
2053dc7687e5 neon: add INIT_VECTOR2
20544536e7c4 add WebPMuxSetCanvasSize() to the mux API
2055824eab10 fix (uncompiled) typo
20561f3e5f1e remove unused 'shift' argument and QFIX2 define
20578e867051 Merge "VP8LoadNewBytes: use __builtin_bswap32 if available"
20581b6a2635 Merge "Fix handling of weird GIF with canvas dimension 0x0"
20591da3d461 VP8LoadNewBytes: use __builtin_bswap32 if available
20601582e402 Fix handling of weird GIF with canvas dimension 0x0
2061b8811dac Merge "rename interface -> winterface"
2062db8b8b5f Fix logic in the GIF LOOP-detection parsing
206325aaddc8 rename interface -> winterface
20645584d9d2 make WebPSetWorkerInterface() check its arguments
2065a9ef7ef9 Merge "cosmetics: update thread.h comments"
2066c6af9991 Merge "dust up the help message"
20670a8b8863 dust up the help message
2068a9cf3191 cosmetics: update thread.h comments
206927bfeee4 QuantizeBlock SSE2 Optimization:
20702bc0dc3e Merge "webpmux: warn when odd frame offsets are used"
20713114ebe4 Merge changes Id8edd3c1,Id418eb96,Ide05e3be
2072c0726634 webpmux: warn when odd frame offsets are used
2073c5c6b408 Merge "add alpha dithering for lossy"
2074d5146784 examples/Android.mk: add cwebp
2075ca0fa7c7 Android.mk: move dwebp to examples/Android.mk
207673d8fca0 Android.mk: add ENABLE_SHARED flag
20776e93317f muxread: fix out of bounds read
20788b0f6a48 Makefile.vc: fix CFLAGS assignment w/HAVE_AVX2=1
2079bbe32df1 add alpha dithering for lossy
208079020767 Merge "make error-code reporting consistent upon malloc failure"
208177bf4410 make error-code reporting consistent upon malloc failure
20827a93c000 **/Makefile.am: remove unused AM_CPPFLAGS
208324e30805 Add an interface abstraction to the WebP worker thread implementation
2084d6cd6358 Merge "fix orig_rect==NULL case"
20852bfd1ffa fix orig_rect==NULL case
2086059e21c1 Merge "configure: move config.h to src/webp/config.h"
2087f05fe006 properly report back encoding error code in WebPFrameCacheAddFrame()
208832b31379 configure: move config.h to src/webp/config.h
208990090d99 Merge changes I7c675e51,I84f7d785
2090ae7661b3 makefiles: define WEBP_HAVE_AVX2 when appropriate
209169fce2ea remove the special casing for res->first in VP8SetResidualCoeffs
20926e61a3a9 configure: test for -msse2
2093b9d2efc6 rename upsampling_mips32.c to yuv_mips32.c
2094bdfeebaa dsp/yuv: move sse2 functions to yuv_sse2.c
209546b32e86 Merge "configure: set WEBP_HAVE_AVX2 when available"
209688305db4 Merge "VP8RandomBits2: prevent signed int overflow"
209773fee88c VP8RandomBits2: prevent signed int overflow
2098db4860b3 enc_sse2: prevent signed int overflow
20993fdaf4d2 Merge "real fix for longjmp warning"
2100385e3340 real fix for longjmp warning
2101230a0555 configure: set WEBP_HAVE_AVX2 when available
2102a2ac8a42 restore original value_/range_ field order
21035e2ee56f Merge "remove libwebpdspdecode dep on libwebpdsp_avx2"
210461362db5 remove libwebpdspdecode dep on libwebpdsp_avx2
210542c447ae Merge "lossy bit-reader clean-up:"
2106479ffd8b Merge "remove unused #include's"
21079754d39a Merge "strong filtering speed-up (~2-3% x86, ~1-2% for NEON)"
2108158aff9b remove unused #include's
210909545eea lossy bit-reader clean-up:
2110ea8b0a17 strong filtering speed-up (~2-3% x86, ~1-2% for NEON)
21116679f899 Optimize VP8SetResidualCoeffs.
2112ac591cf2 fix for gcc-4.9 warnings about longjmp + local variables
21134dfa86b2 dsp/cpu: NaCl has no support for xgetbv
21144c398699 Merge "cwebp: fallback to native webp decode in WIC builds"
211533aa497e Merge "cwebp: add some missing newlines in longhelp output"
2116c9b340a2 fix missing WebPInitAlphaProcessing call for premultiplied colorspace output
211757897bae Merge "lossless_neon: use vcreate_*() where appropriate"
21186aa4777b Merge "(enc|dec)_neon: use vcreate_*() where appropriate"
21190d346e41 Always reinit VP8TransformWHT instead of hard-coding
21207d039fc3 cwebp: fallback to native webp decode in WIC builds
2121d471f424 cwebp: add some missing newlines in longhelp output
2122bf0e0030 lossless_neon: use vcreate_*() where appropriate
21239251c2f6 (enc|dec)_neon: use vcreate_*() where appropriate
2124399b916d lossy decoding: correct alpha-rescaling for YUVA format
212578c12ed8 Merge "Makefile.vc: add rudimentary avx2 support"
2126dc5b122f try to remove the spurious warning for static analysis
2127ddfefd62 Makefile.vc: add rudimentary avx2 support
2128a8911643 Merge "simplify VP8LInitBitReader()"
2129fdbcd44d simplify VP8LInitBitReader()
21307c004287 makefile.unix: add rudimentary avx2 support
2131515e35cf Merge "add stub dsp/enc_avx2.c"
2132a05dc140 SSE2: yuv->rgb speed-up for point-sampling
2133178e9a69 add stub dsp/enc_avx2.c
21341b99c09c Merge "configure: add a test for -mavx2"
2135fe728071 configure: add a test for -mavx2
2136e46a247c cpu: fix check for __cpuidex availability
2137176fda26 fix the bit-writer for lossless in 32bit mode
2138541784c7 dsp.h: add a check for AVX2 / define WEBP_USE_AVX2
2139bdb151ee dsp/cpu: add AVX2 detection
2140ab9f2f86 Merge "revamp the point-sampling functions by processing a full plane"
2141a2f8b289 revamp the point-sampling functions by processing a full plane
2142ef076026 use decoder's DSP functions for autofilter
21432b5cb326 Merge "dsp/cpu: add AVX detection"
2144df08e67e dsp/cpu: add AVX detection
2145e2f405c9 Merge "clean-up and slight speed-up in-loop filtering SSE2"
2146f60957bf clean-up and slight speed-up in-loop filtering SSE2
21479fc3ae46 .gitattributes: treat .ppm as binary
21483da924b5 Merge "dsp/WEBP_USE_NEON: test for __aarch64__"
2149c7164490 Android.mk: always include *_neon.c in the build
2150a577b23a dsp/WEBP_USE_NEON: test for __aarch64__
215154bfffca move RemapBitReader() from idec.c to bit_reader code
215234168ecb Merge "remove all unused layer code"
2153f1e77173 remove all unused layer code
2154b0757db7 Code cleanup for VP8LGetHistoImageSymbols.
21555fe628d3 make the token page size be variable instead of fixed 8192
2156f948d08c memory debug: allow setting pre-defined malloc failure points
2157ca3d746e use block-based allocation for backward refs storage, and free-lists
21581ba61b09 enable NEON intrinsics in aarch64 builds
2159b9d2bb67 dsp/neon.h: coalesce intrinsics-related defines
2160b5c75258 iosbuild: add support for iOSv7/aarch64
21619383afd5 Reduce number of memory allocations while decoding lossless.
2162888e63ed Merge "dsp/lossless: prevent signed int overflow in left shift ops"
21638137f3ed Merge "instrument memory allocation routines for debugging"
21642aa18736 instrument memory allocation routines for debugging
2165d3bcf72b Don't allocate VP8LHashChain, but treat like automatic object
2166bd6b8619 dsp/lossless: prevent signed int overflow in left shift ops
2167b7f19b83 Merge "dec/vp8l: prevent signed int overflow in left shift ops"
216829059d51 Merge "remove some uint64_t casts and use."
2169e69a1df4 dec/vp8l: prevent signed int overflow in left shift ops
2170cf5eb8ad remove some uint64_t casts and use.
217138e2db3e MIPS: MIPS32r1: Added optimization for HistogramAdd.
2172e0609ade dwebp: fix exit code on webp load failure
2173bbd358a8 Merge "example_util.h: avoid forward declaring enums"
21748955da21 example_util.h: avoid forward declaring enums
21756d6865f0 Added SSE2 variants for Average2/3/4
2176b3a616b3 make HistogramAdd() a pointer in dsp
2177c8bbb636 dec_neon: relocate some inline-asm defines
21784e393bb9 dec_neon: enable intrinsics-only functions
2179ba99a922 dec_neon: use positive tests for USE_INTRINSICS
218069058ff8 Merge "example_util: add ExUtilDecodeWebPIncremental"
2181a7828e8b dec_neon: make WORK_AROUND_GCC conditional on version
21823f3d717a Merge "enc_neon: enable intrinsics-only functions"
2183de3cb6c8 Merge "move LOCAL_GCC_VERSION def to dsp.h"
21841b2fe14d example_util: add ExUtilDecodeWebPIncremental
2185ca49e7ad Merge "enc_neon: move Transpose4x4 to dsp/neon.h"
2186ad900abd Merge "fix warning about size_t -> int conversion"
21874825b436 fix warning about size_t -> int conversion
218842b35e08 enc_neon: enable intrinsics-only functions
2189f937e012 move LOCAL_GCC_VERSION def to dsp.h
21905e1a17ef enc_neon: move Transpose4x4 to dsp/neon.h
2191c7b92a5a dec_neon: (WORK_AROUND_GCC) delete unused Load4x8
21928e5f90b0 Merge "make ExUtilLoadWebP() accept NULL bitstream param."
219305d4c1b7 Merge "cwebp: add webpdec"
2194ddeb6ac8 cwebp: add webpdec
219535d7d095 Merge "Reduce memory footprint for encoding WebP lossless."
21960b896101 Reduce memory footprint for encoding WebP lossless.
2197f0b65c9a make ExUtilLoadWebP() accept NULL bitstream param.
21989c0a60cc Merge "dwebp: move webp decoding to example_util"
21991d62acf6 MIPS: MIPS32r1: Added optimization for HuffmanCost functions.
22004a0e7390 dwebp: move webp decoding to example_util
2201c0220460 Merge "Bugfix: Incremental decode of lossy-alpha"
22028c7cd722 Bugfix: Incremental decode of lossy-alpha
22037955152d MIPS: fix error with number of registers.
2204b1dabe37 Merge "Move the HuffmanCost() function to dsp lib"
220575b12006 Move the HuffmanCost() function to dsp lib
22062772b8bd MIPS: fix assembler error revealed by clang's debug build
22076653b601 enc_mips32: fix unused symbol warning in debug
22088dec1209 enc_mips32: disable ITransform(One) in debug builds
220998519dd5 enc_neon: convert Disto4x4 to intrinsics
2210fe9317c9 cosmetics:
2211953b0746 enc_neon: cosmetics
2212a9fc697c Merge "WIP: extract the float-calculation of HuffmanCost from loop"
22133f84b521 Merge "replace some mult-long (vmull_u8) with mult-long-accumulate (vmlal_u8)"
22144ae0533f MIPS: MIPS32r1: Added optimizations for ExtraCost functions.
2215b30a04cf WIP: extract the float-calculation of HuffmanCost from loop
2216a8fe8ce2 Merge "NEON intrinsics version of CollectHistogram"
221795203d2d NEON intrinsics version of CollectHistogram
22187ca2e74b replace some mult-long (vmull_u8) with mult-long-accumulate (vmlal_u8)
221941c6efbd fix lossless_neon.c
22208ff96a02 NEON intrinsics version of FTransform
22210214f4a9 Merge "MIPS: MIPS32r1: Added optimizations for FastLog2"
2222baabf1ea MIPS: MIPS32r1: Added optimizations for FastLog2
22233d49871d NEON functions for lossless coding
22243fe02915 MIPS: MIPS32r1: Added optimizations for SSE functions.
2225c503b485 Merge "fix the gcc-4.6.0 bug by implementing alternative method"
2226abe6f487 fix the gcc-4.6.0 bug by implementing alternative method
22275598bdec enc_mips32.c: fix file mode
22282b1b4d5a MIPS: MIPS32r1: Add optimization for GetResidualCost
2229f0a1f3cd Merge "MIPS: MIPS32r1: Added optimization for FTransform"
22307231f610 MIPS: MIPS32r1: Added optimization for FTransform
2231869eaf6c  ~30% encoding speedup: use NEON for QuantizeBlock()
2232f758af6b enc_neon: convert FTransformWHT to intrinsics
22337dad095b MIPS: MIPS32r1: Added optimization for Disto4x4 (TTransform)
22342298d5f3 MIPS: MIPS32r1: Added optimization for QuantizeBlock
2235e88150c9 Merge "MIPS: MIPS32r1: Add optimization for ITransform"
2236de693f25 lossless_neon: disable VP8LConvert* functions
22374143332b NEON intrinsics for encoding
22380ca2914b MIPS: MIPS32r1: Add optimization for ITransform
223971bca5ec dec_neon: use vst_lane instead of vget_lane
2240bf061052 Intrinsics NEON version of TransformOne
224119c6f1ba Merge "dec_neon: use vld?_lane instead of vset?_lane"
22427a94c0cf upsampling_neon: drop NEON suffix from local functions
2243d14669c8 upsampling_sse2: drop SSE2 suffix from local functions
22442ca42a4f enc_sse2: drop SSE2 suffix from local functions
2245d038e619 dec_sse2: drop SSE2 suffix from local functions
2246fa52d752 dec_neon: use vld?_lane instead of vset?_lane
2247c520e77d cosmetic: fix long line
22484b0f2dae Merge "add intrinsics NEON code for chroma strong-filtering"
2249e351ec07 add intrinsics NEON code for chroma strong-filtering
2250aaf734b8 Merge "Add SSE2 version of forward cross-color transform"
2251c90a902e Add SSE2 version of forward cross-color transform
2252bc374ff3 Use histogram_bits to initalize transform_bits.
22532132992d Merge "Add strong filtering intrinsics (inner and outer edges)"
22545fbff3a6 Add strong filtering intrinsics (inner and outer edges)
2255d4813f0c Add SSE2 function for Inverse Cross-color Transform
225626029568 dec_neon: add strong loopfilter intrinsics
2257cca7d7ef Merge "add intrinsics version of SimpleHFilter16NEON()"
22581a05dfa7 windows: fix dll builds
2259d6c50d8a Merge "add some colorspace conversion functions in NEON"
22604fd7c82e SSE2 variants of Subtract-Green: Rectify loop condition
226197e5fac3 add some colorspace conversion functions in NEON
2262b9a7a45f add intrinsics version of SimpleHFilter16NEON()
2263daccbf40 add light filtering NEON intrinsics
2264af444608 fix typo in STORE_WHT
22656af6b8e1 Tune HistogramCombineBin for large images.
2266af93bdd6 use WebPSafe[CM]alloc/WebPSafeFree instead of [cm]alloc/free
226751f406a5 lossless_sse2: relocate VP8LDspInitSSE2 proto
22680f4f721b separate SSE2 lossless functions into its own file
2269514fc251 VP8LConvertFromBGRA: use conversion function pointers
22706d2f3527 dsp/dec: TransformDCUV: use VP8TransformDC
2271defc8e1b Merge "fix out-of-bound read during alpha-plane decoding"
2272fbed3643 Merge "dsp: reuse wht transform from dec in encoder"
2273d8467084 Merge "Add SSE2 version of ARGB -> BGR/RGB/... conversion functions"
2274207d03b4 fix out-of-bound read during alpha-plane decoding
2275d1b33ad5 2-5% faster trellis with clang/MacOS (and ~2-3% on ARM)
2276369c26dd Add SSE2 version of ARGB -> BGR/RGB/... conversion functions
2277df230f27 dsp: reuse wht transform from dec in encoder
227880e218d4 Android.mk: fix build with APP_ABI=armeabi-v7a-hard
227959daf083 Merge "cosmetics:"
228053622008 cosmetics:
22813e7f34a3 AssignSegments: quiet array-bounds warning
22823c2ebf58 Merge "UpdateHistogramCost: avoid implicit double->float"
2283cf821c82 UpdateHistogramCost: avoid implicit double->float
2284312e638f Extend the search space for GetBestGreenRedToBlue
22851c58526f Fix few nits
2286fef22704 Optimize and re-structure VP8LGetHistoImageSymbols
2287068b14ac Optimize lossless decoding.
22885f0cfa80 Do a binary search to get the optimum cache bits.
228924ca3678 Merge "allow 'cwebp -o -' to emit output to stdout"
2290e12f874e allow 'cwebp -o -' to emit output to stdout
22912bcad89b allow some more stdin/stout I/O
229284ed4b3a fix cwebp.1 typos after patch #69199
229365b99f1c add a -z option to cwebp, and WebPConfigLosslessPreset() function
229430176619 4-5% faster trellis by removing some unneeded calculations.
2295687a58ec histogram.c: reindent after b33e8a0
229606d456f6 Merge "~3-4% faster lossless encoding"
2297c60de260 ~3-4% faster lossless encoding
229842eb06fc Merge "few cosmetics after patch #69079"
229982af8264 few cosmetics after patch #69079
2300b33e8a05 Refactor code for HistogramCombine.
2301ca1bfff5 Merge "5-10% encoding speedup with faster trellis (-m 6)"
23025aeeb087 5-10% encoding speedup with faster trellis (-m 6)
230382ae1bf2 cosmetics: normalize VP8GetCPUInfo checks
2304e3dd9243 Merge "Refactor GetBestPredictorForTile for future tuning."
2305206cc1be Refactor GetBestPredictorForTile for future tuning.
23063cb84062 Merge "speed-up trellis quant (~5-10% overall speed-up)"
2307b66f2227 Merge "lossy encoding: ~3% speed-up"
23084287d0d4 speed-up trellis quant (~5-10% overall speed-up)
2309390c8b31 lossy encoding: ~3% speed-up
23109a463c4a Merge "dec_neon: convert TransformWHT to intrinsics"
2311e8605e96 Merge "dec_neon: add ConvertU8ToS16"
23124aa3e412 MIPS: MIPS32r1: rescaler bugfix
2313c16cd99a Speed up lossless encoder.
23149d6b5ff1 dec_neon: convert TransformWHT to intrinsics
23152ff0aae2 dec_neon: add ConvertU8ToS16
231677a8f919 fix compilation with USE_YUVj flag
23174acbec1b Merge changes I3b240ffb,Ia9370283,Ia2d28728
23182719bb7e dec_neon: TransformAC3: work on packed vectors
2319b7b60ca1 dec_neon: add SaturateAndStore4x4
2320b7685d73 Rescale: let ImportRow / ExportRow be pointer-to-function
2321e02f16ef dec_neon.c: convert TransformDC to intrinsics
23229cba963f add missing file
23238992ddb7 use static clipping tables
23240235d5e4 1-2% faster quantization in SSE2
2325b2fbc36c fix VC12-x64 warning
23266e37cb94 Merge "cosmetics: backward_references.c: reindent after a7d2ee3"
2327a42ea974 cosmetics: backward_references.c: reindent after a7d2ee3
23286c327442 Merge "fix missing __BIG_ENDIAN__ definition on some platform"
2329a8b6aad1 fix missing __BIG_ENDIAN__ definition on some platform
2330fde2904b Increase initial buffer size for VP8L Bit Writer.
2331a7d2ee39 Optimize cache estimate logic.
23327fb6095b Merge "dec_neon.c: add TransformAC3"
2333bf182e83 VP8LBitWriter: use a bit-accumulator
23343f40b4a5 Merge "MIPS: MIPS32r1: clang macro warning resolved"
23351684f4ee WebP Decoder: Mark some truncated bitstreams as invalid
2336acbedac4 MIPS: MIPS32r1: clang macro warning resolved
2337228e4877 dec_neon.c: add TransformAC3
2338393f89b7 Android.mk: avoid gcc-specific flags with clang
233932aeaf11 revamp VP8LColorSpaceTransform() a bit
23400c7cc4ca Merge "Don't dereference NULL, ensure HashChain fully initialized"
2341391316fe Don't dereference NULL, ensure HashChain fully initialized
2342926ff402 WEBP_SWAP_16BIT_CSP: remove code dup
23431d1cd3bb Fix decode bug for rgbA_4444/RGBA_4444 color-modes.
2344939e70e7 update AUTHORS file
23458934a622 cosmetics: *_mips32.c
2346dd438c9a MIPS: MIPS32r1: Optimization of some simple point-sampling functions. PATCH [6/6]
234753520911 Added support for calling sampling functions via pointers.
2348d16c6974 MIPS: MIPS32r1: Optimization of filter functions. PATCH [5/6]
234904336fc7 MIPS: MIPS32r1: Optimization of function TransformOne. PATCH [4/6]
235092d8fc7d MIPS: MIPS32r1: Optimization of function WebPRescalerImportRow. PATCH [3/6]
2351bbc23ff3 parse one row of intra modes altogether
2352a2f608f9 Merge "MIPS: MIPS32r1: Optimization of function WebPRescalerExportRow. [2/6]"
235388230854 MIPS: MIPS32r1: Optimization of function WebPRescalerExportRow. [2/6]
2354c5a5b028 decode mt+incremental: fix segfault in debug builds
23559882b2f9 always use fast-analysis for all methods.
2356000adac0 Merge "autoconf: update ax_pthread.m4"
23572d2fc37d update .gitignore
23585bf4255a Merge "Make it possible to avoid automagic dependencies"
2359c1cb1933 disable NEON for arm64 platform
236073a304e9 Make it possible to avoid automagic dependencies
23614d493f8d MIPS: MIPS32r1: Decoder bit reader function optimized. PATCH [1/6]
2362c741183c make WebPCleanupTransparentArea work with argb picture
23635da18552 add a decoding option to flip image vertically
236400c3c4e1 Merge "add man/vwebp.1"
23652c6bb428 add man/vwebp.1
2366ea59a8e9 Merge "Merge tag 'v0.4.0'"
23677574bed4 fix comments related to array sizes
23680b5a90fd dwebp.1: fix option formatting
2369effcb0fd Merge tag 'v0.4.0'
23707c76255d autoconf: update ax_pthread.m4
2371fff2a11b make -short work with -print_ssim, -print_psnr, etc.
237268e7901d update ChangeLog (tag: v0.4.0-rc1, tag: v0.4.0, origin/0.4.0)
2373256e4333 update NEWS description with new general features
237429625340 Merge "gif2webp: don't use C99 %zu" into 0.4.0
23753b9f9dd0 gif2webp: don't use C99 %zu
2376b5b2e3c7 cwebp: fix metadata output w/lossy+alpha
2377ad26df1a makefile.unix: clean up libgif2webp_util.a
2378c3b45570 update Changelog
2379ca841121 Merge "bump version to 0.4.0" into 0.4.0
23808c524db8 bump version to 0.4.0
2381eec2398c update AUTHORS & .mailmap
2382b9bbf6a1 update NEWS for 0.4.0
2383c72e0811 Merge "dec/webp.c: don't wait for data before reporting w/h"
23845ad65314 dec/frame.c: fix formatting
2385f7fc4bc8 dec/webp.c: don't wait for data before reporting w/h
238666a32af5 Merge "NEON speed up"
238726d842eb NEON speed up
2388f307f98b Merge "webpmux: let -- stop parameter parsing"
2389fe051da7 Merge "README: add a section on gif2webp"
23906fd2bd62 Merge "manpage pedantry"
23914af19007 README: add a section on gif2webp
23926f36ade9 manpage pedantry
2393f9016cb9 README: update dwebp options
2394b4fa0a47 webpmux: let -- stop parameter parsing
2395a9a20acf gif2webp: Add a multi-threaded encode option
2396495bef41 fix bug in TrellisQuantize
2397605a7127 simplify __cplusplus ifdef
239833109f99 Merge "drop: ifdef __cplusplus checks from C files"
23997f9de0b9 Merge changes I994a5587,I8467bb71,I13b50688,I1e2c9c7b
24005459030b gif2webp: let -- stop parameter parsing
2401a4b0aa06 vwebp: let -- stop parameter parsing
240298af68fe cwebp: let -- stop parameter parsing
2403a33831e2 dwebp: let -- stop parameter parsing
240436301249 add some checks on error paths
2405ce4c7139 Merge "autoconf: add --disable-wic"
24065227d991 drop: ifdef __cplusplus checks from C files
2407f6453559 dwebp.1: fix typo
2408f91034f2 Merge "cwebp: print metadata stats when no output file is given"
2409d4934553 gif2webp: Backward compatibility for giflib version <= 4.1.3
24104c617d32 gif2webp: Disable output of ICC profile by default
241173b731fb introduce a special quantization function for WHT
241241c0cc4b Make Forward WHT transform use 32bit fixed-point calculation
2413a3359f5d Only compute quantization params once
241470490437 cwebp: print metadata stats when no output file is given
2415d513bb62 * fix off-by-one zthresh calculation * remove the sharpening for non luma-AC coeffs * adjust the bias a little bit to compensate for this
2416ad9dec0c Merge "cosmetics: dwebp: fix local function name format"
2417f737f037 Merge "dwebp: remove a dead store"
24183c3a70da Merge "makefile.unix: install binaries in $(DESTDIR)/bin/"
2419150b655f Merge "Android.mk: add some release compile flags"
2420dbebd33b cosmetics: dwebp: fix local function name format
242127749951 dwebp: remove a dead store
2422a01e04fe autoconf: add --disable-wic
24235009b227 makefile.unix: install binaries in $(DESTDIR)/bin/
2424bab30fca Merge "fix -print_psnr / ssim options"
2425ebef7fb3 fix -print_psnr / ssim options
2426cb637855 Merge "fix bug due to overzealous check in WebPPictureYUVAToARGB()"
24278189885b Merge "EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE"
24284ad7d335 Android.mk: add some release compile flags
2429c12e2369 cosmetics: fix a few typos
24306f104034 fix bug due to overzealous check in WebPPictureYUVAToARGB()
24313f6c35c6 EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE
2432cc55790e Merge changes I8bb7a4dc,I2c180051,I021a014f,I8a224a62
2433c536afb5 Merge "cosmetics: fix some typos"
2434cbdd3e6e add a -dither dithering option to the decoder
2435e8124012 Updated iosbuild.sh for XCode 5.x
24364931c329 cosmetics: fix some typos
243705aacf77 mux: add some missing casts
2438617d9348 enc/vp8l: add a missing cast
243946db2865 idec: add some missing casts
2440b524e336 ErrorStatusLossless: correct return type
2441cb261f79 fix a descaling bug for vertical/horizontal U/V interpolation
2442bcb3955c Merge changes I48968468,I181bc736
244373f52133 gif2webp: Add a mixed compression mode
24446198715e demux: split chunk parsing from ParseVP8X
2445d2e3f4e6 demux: add a tail pointer for chunks
244687cffcc3 demux: cosmetics: s/has_frames/is_animation/
2447e18e6677 demux: strictly enforce the animation flag
2448c4f39f4a demux: cosmetics: remove a useless break
244961cb884d demux: (non-exp) fail if the fragmented flag is set
2450ff379db3 few % speedup of lossless encoding
2451df3649a2 remove all disabled code related to P-frames
24526d0cb3de Merge "gif2webp: kmin = 0 should suppress key-frame addition."
245336555983 gif2webp: kmin = 0 should suppress key-frame addition.
24547708e609 Merge "detect flatness in blocks and favor DC prediction"
245506b1503e Merge "add comment about the kLevelsFromDelta[][] LUT generation"
24565935259c add comment about the kLevelsFromDelta[][] LUT generation
2457e3312ea6 detect flatness in blocks and favor DC prediction
2458ebc9b1ee Merge "VPLBitReader bugfix: Catch error if bit_pos > LBITS too."
245996ad0e0a VPLBitReader bugfix: Catch error if bit_pos > LBITS too.
2460a014e9c9 tune quantization biases toward higher precision
24611e898619 add helpful PrintBlockInfo() function
2462596a6d73 make use of 'extern' consistent in function declarations
2463c8d48c6e Merge "extract random utils to their own file util/random.[ch]"
246498aa33cf extract random utils to their own file util/random.[ch]
2465432a723e Merge "swig: add basic go bindings"
2466fab618b5 Merge "rename libwebp.i -> libwebp.swig"
2467e4e7fcd6 swig: add basic go bindings
2468d3408720 Merge "fast auto-determined filtering strength"
2469f8bfd5cd fast auto-determined filtering strength
2470ac0bf951 small clean-up in ExpandMatrix()
24711939607e rename libwebp.i -> libwebp.swig
247243148b6c filtering: precompute ilimit and hev_threshold
247318f992ec simplify f_inner calculation a little
2474241d11f1 add missing const
247586c0031e add a 'format' field to WebPBitstreamFeatures
2476dde91fde Demux: Correct the extended format validation
24775d6c5bd2 add entry for '-resize' option in cwebp's man
24787c098d18 Use some gamma-curve range compression when computing U/V average
24790b2b0504 Use deterministic random-dithering during RGB->YUV conversion
24808a2fa099 Add a second multi-thread method
24817d6f2da0 Merge "up to 20% faster multi-threaded decoding"
2482266f63ea Merge "libwebp.jar: build w/Java 1.6 for Android compat"
24830532149c up to 20% faster multi-threaded decoding
248438efdc2e Simplify the gif2webp tool: move the optimization details to util
2485de899516 libwebp.jar: build w/Java 1.6 for Android compat
2486cb221552 Decode a full row of bitstream before reconstructing
2487dca8a4d3 Merge "NEON/simple loopfilter: avoid q4-q7 registers"
24889e84d901 Merge "NEON/TransformWHT: avoid q4-q7 registers"
2489fc10249b NEON/simple loopfilter: avoid q4-q7 registers
24902f09d63e NEON/TransformWHT: avoid q4-q7 registers
249177585a2b Merge "use a macrofunc for setting NzCoeffs bits"
2492d155507c Merge "use HINT_GRAPH as image_hint for gif source"
24939c561646 Merge "only print GIF_DISPOSE_WARNING once"
249405879865 use HINT_GRAPH as image_hint for gif source
24950b28d7ab use a macrofunc for setting NzCoeffs bits
2496f9bbc2a0 Special-case sparse transform
249700125196 gif2webp: detect and flatten uniformly similar blocks
24980deaf0fa only print GIF_DISPOSE_WARNING once
24996a8c0eb7 Merge "small optimization in segment-smoothing loop"
2500f7146bc1 small optimization in segment-smoothing loop
25015a7533ce small gif2webp fix
25024df0c89e Merge changes Ic697660c,I27285521
25035b2e6bd3 Android.mk: add a dwebp target
2504f910a84e Android.mk: update build flags
250563f9aba4 special-case WHT transform when there's only DC
250680911aef Merge "7-8% faster decoding by rewriting GetCoeffs()"
2507606c4304 gif2webp: Improved compression for lossy animated WebP
2508fb887f7f gif2webp: Different kmin/kmax defaults for lossy and lossless
25092a981366 7-8% faster decoding by rewriting GetCoeffs()
251092d47e4c improve VP8L signature detection by checking the version bits too
25115cd43e43 Add -incremental option to dwebp
251254b8e3f6 webpmux: DisplayInfo(): remove unnecessary error checks.
251340ae3520 fix memleak in WebPIDelete()
2514d9662658 mux.h doc: WebPMuxGetFrame() can return WEBP_MUX_MEMORY_ERROR too.
25150e6747f8 webpmux -info: display dimensions and has_alpha per frame
2516d78a82c4 Sanity check for underflow
25178498f4bf Merge "remove -Wshadow warnings"
2518e89c6fc8 Avoid a potential memleak
25193ebe1757 Merge "break down the proba 4D-array into some handy structs"
25206a44550a break down the proba 4D-array into some handy structs
25212f5e8934 remove -Wshadow warnings
2522bf3a29b3 Merge "add proper WEBP_HAVE_GIF and WEBP_HAVE_GL flags"
25232b0a7593 Merge "fix some warnings from static analysis"
252422dd07ce mux.h: Some doc corrections
252579ff0346 add proper WEBP_HAVE_GIF and WEBP_HAVE_GL flags
2526d51f45f0 fix some warnings from static analysis
2527d134307b fix conversion warning on MSVC
2528d538cea8 gif2webp: Support a 'min' and 'max'  key frame interval
252980b54e1c allow search with token buffer loop and fix PARTITION0 problem
2530b7d4e042 add VP8EstimateTokenSize()
253110fddf53 enc/quant.c: silence a warning
2532399cd456 Merge "fix compile error on ARM/gcc"
25339f24519e encoder: misc rate-related fixes
2534c663bb21 Merge "simplify VP8IteratorSaveBoundary() arg passing"
2535fa46b312 Demux.h: Correct a method name reference
2536f8398c9d fix compile error on ARM/gcc
2537f691f0e4 simplify VP8IteratorSaveBoundary() arg passing
253842542be8 up to 6% faster encoding with clang compiler
253993402f02 multi-threaded segment analysis
25407e2d6595 Merge "remove the PACK() bit-packing tricks"
2541c13fecf9 remove the PACK() bit-packing tricks
25422fd091c9 Merge "use NULL for lf_stats_ testing, not bool"
2543b11c9d62 dwebp: use default dct_method
25444bb8465f Merge "(de)mux.h: wrap pseudo-code in /* */"
2545cfb56b17 make -pass option work with token buffers
25465416aab4 (de)mux.h: wrap pseudo-code in /* */
254735dba337 use NULL for lf_stats_ testing, not bool
2548733a7faa enc->Iterator memory cleanup
2549e81fac86 Add support for "no blend" in webpmux binary
25503b80bc48 gif2webp: Separate out each step into a method
2551bef7e9cc Add doc precision about demux object keeping pointers to data.
255261405a14 dwebp: enable stdout output with WIC
25536eabb886 Merge "Animated WebP: add "do no blend" option to spec"
2554be20decb fix compilation for BITS 24
2555e58cc137 Merge "dwebp: s/unsigned char/uint8_t/"
255672501d43 dwebp: s/unsigned char/uint8_t/
25572c9633e8 Merge "gif2webp: Insert independent frames at regular intervals."
2558f0d6a14b gif2webp: Insert independent frames at regular intervals.
2559b25a6fbf yuv.h: fix indent
2560ede3602e Merge "cosmetics: fix indent"
25613a65122a dwebp: fix stdout related output
2562388a7249 cosmetics: fix indent
25634c7322c8 Merge "dsp: msvc compatibility"
2564d50c7e32 Merge "5-7% faster SSE2 versions of YUV->RGB conversion functions"
2565b8ab7847 Merge "simplify upsampler calls: only allow 'bottom' to be NULL"
2566df6cebfa 5-7% faster SSE2 versions of YUV->RGB conversion functions
2567ad6ac32d simplify upsampler calls: only allow 'bottom' to be NULL
2568a5e8afaf output to stdout if file name is "-"
2569f358450f dsp: msvc compatibility
257043a7c8eb Merge "cosmetics"
25714c5f19c1 Merge "bit_reader.h: cosmetics"
2572f72fab70 cosmetics
257314dd5e78 fix const-ness
2574b20aec49 Merge "Support for 'do not blend' option in vwebp"
2575dcf65222 Support for 'do not blend' option in vwebp
2576d5bad033 Animated WebP: add "do no blend" option to spec
2577a2f5f73d Merge "Support for "Do not blend" in mux and demux libraries"
2578e081f2f3 Pack code & extra_bits to Struct (VP8LPrefixCode).
25796284854b Support for "Do not blend" in mux and demux libraries
2580f486aaa9 Merge "slightly faster ParseIntraMode"
2581d1718632 slightly faster ParseIntraMode
25823ceca8ad bit_reader.h: cosmetics
258369257f70 Create LUT for PrefixEncode.
2584988b7084 add WebPWorkerExecute() for convenient bypass
258506e24987 Merge "VP8EncIterator clean-up"
2586de4d4ad5 VP8EncIterator clean-up
25877bbe9529 Merge "cosmetics: thread.c: drop a redundant comment"
2588da411485 cosmetics: thread.c: drop a redundant comment
2589feb4b6e6 thread.h: #ifdef when checking WEBP_USE_THREAD
25908924a3a7 thread.c: drop WebPWorker prefix from static funcs
25911aed8f2a Merge "fix indent"
25924038ed15 fix indent
25931693fd9b Demux: A new state WEBP_DEMUX_PARSE_ERROR
25948dcae8b3 fix rescaling-with-alpha inaccuracy
259511249abf Merge changes I9b4dc36c,I4e0eef4d
259652508a1f Mux: support parsing unknown chunks within a frame/fragment.
259705db0572 WebPMuxSetChunk: remove unused variable
25988ba1bf61 Stricter check for presence of alpha when writing lossless images
2599a03c3516 Demux: WebPIterator now also denotes if the frame has alpha.
26006df743a3 Decoder: handle fragments case correctly too.
2601faa4b07e Support for unknown chunks in mux library
26027d60bbc6 Speed up HashChainFindCopy function.
260366740140 Speedup Alpha plane encoding.
2604b7346a1e 0.1 % speedup to decoding
2605c606182e webp-container-spec: Tighten language added by last
2606a34a5029 pngdec: output error messages from libpng
2607e84c625d Merge "Detect canvas and image size mismatch in decoder."
2608f626fe2e Detect canvas and image size mismatch in decoder.
2609f5fbdee0 demux: stricter image bounds check
261030c8158a add extra assert in Huffman decode code
26118967b9f3 SSE2 for lossless decoding (critical) functions.
2612699d80ea Jump-lookup for Huffman coding
2613c34307ab fix some VS9 warnings about type conversion
2614eeada35c pngdec: add missing include
261554b65108 gif2webp: If aligning to even offsets, extra pixels should be transparent
26160bcf5ce3 Merge "remove a malloc() in case we're using only FILTER_NONE for alpha"
26172c07143b remove a malloc() in case we're using only FILTER_NONE for alpha
2618a4d5f59d Faster lossless decoding
2619fd53bb75 Merge "alternate LUT-base reverse-bits code"
2620d1c166ef Merge "Container spec: a clarification on background color."
2621fdb91779 Rename a method
26225e967532 Container spec: a clarification on background color.
262330e77d0f Merge branch '0.3.0'
26241b631e29 alternate LUT-base reverse-bits code
262524cc307a ~20% faster lossless decoding
2626313d853f Speedup for decoding lossless WebP photographs:
262724ee098a change the bytes_per_pixels_ field into more evocative use_8b_decode
26282a04b034 update ChangeLog (tag: v0.3.1-rc2, tag: v0.3.1)
26297288950b Regression fix for alpha channels using color cache:
26302e377b53 wicdec: silence a format warning
2631ad9e42a6 muxedit: silence some uninitialized warnings
26323307c163 Don't set alpha-channel to 0xff for alpha->green uplift
26335130770c Merge "wicdec: silence a format warning"
2634a37eff47 Regression fix for alpha channels using color cache:
2635241cf99b Merge "muxedit: silence some uninitialized warnings"
2636c8f9c84d Regression fix for alpha unfiltering:
263714cd5c6c muxedit: silence some uninitialized warnings
2638a368db81 dec/vp8l: quiet vs9 x64 type conversion warning
2639ffae9f31 wicdec: silence a format warning
26408cf0701e Alpha encoding: never filter in case of NO_COMPRESSION
2641825e73b1 update ChangeLog (tag: v0.3.1-rc1)
2642abf6f691 update NEWS
26435a92c1a5 bump version to 0.3.1
264486daf77c store top Y/U/V samples in packed fashion
264567bc353e Revert "add WebPBlendAlpha() function to blend colors against background"
2646068db59e Intertwined decoding of alpha and RGB
264738cc0114 Simplify forward-WHT + SSE2 version
26483fa595a5 Support decoding upto given row in DECODE_DATA_FUNC
2649520f005f DequantizeLevels(): Add 'row' and 'num_rows' args
265047374b82 Alpha unfilter for given set of rows
2651f32097e0 probe input file and quick-check for WebP format.
2652a2aed1d0 configure: improve gl/glut library test
2653c7e89cbb update copyright text
2654a00380d2 configure: remove use of AS_VAR_APPEND
2655a94a88dd fix EXIF parsing in PNG
2656a71e5d84 add doc precision for WebPPictureCopy() and WebPPictureView()
26578287012e remove datatype qualifier for vmnv
2658e1908430 fix a memory leak in gif2webp
26590b18b9ee fix two minor memory leaks in webpmux
2660db5095d5 remove some cruft from swig/libwebp.jar
2661850e956f README: update swig notes
2662bddd9b0a swig/python: add minimal documentation
2663d573a8d5 swig: add python encode support
26646b931875 swig/java: reduce wrapper function code duplication
26656fe536f4 swig/java: rework uint8_t typemap
2666a2ea4643 Fix the bug in ApplyPalette.
26677bb28d2a webp/lossless: fix big endian BGRA output
2668f036d4bf Speed up ApplyPalette for ARGB pixels.
26698112c8cf remove some warnings:
2670cc128e0b Further reduce memory to decode lossy+alpha images
267107db70d2 fix for big-endian
2672eda8a7de gif2webp: Fix signed/unsigned comparison mismatch
267331f346fe Makefile.vc: fix libwebpdemux dll variable typo
26746c76d28e swig: add python (decode) support
2675b4f5bb6c swig: cosmetics
2676498d4dd6 WebP-Lossless encoding improvements.
267726e72442 swig: ifdef some Java specific code
26788ecec686 configure: add warning related flags
2679e676b043 configure: add GLUT detection; build vwebp
2680b0ffc437 Alpha decoding: significantly reduce memory usage
268120aa7a8d configure: add --enable-everything
2682b8307cc0 configure.ac: add some helper macros
2683980e7ae9 Remove the gcc compilation comments
26847f25ff99 gif2webp: Fix ICC and XMP support
2685d8e53211 Add missing name to AUTHORS
268611edf5e2 Demux: Fix a potential memleak
2687c7b92184 don't forward declare enums
26887a650c6a prevent signed int overflow in left shift ops
268931bea324 add precision about dynamic output reallocation with IDecoder
2690c22877f7 Add incremental support for extended format files
26915051245f Makefile.vc: have 'all' target build everything
26928191deca Makefile.vc: flags cleanup
2693b9d74735 Makefile.vc: drop /FD flag
26945568dbcf update gitignore
2695f4c7b654 WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded.
26961fb04bec pngdec: Avoid a double-free.
2697dcbb1ca5 add WebPBlendAlpha() function to blend colors against background
2698bc9f5fbe configure.ac: add AM_PROG_AR for automake >= 1.12
2699bf867bf2 Tuned cross_color parameter (step) for lower qual
270090e2ec5a Merge "probe input file and quick-check for WebP format."
27017180d7ff Merge "update copyright text"
2702830f72b7 probe input file and quick-check for WebP format.
27032ccf58d6 configure: improve gl/glut library test
2704d640614d update copyright text
2705c2113ad4 Merge "configure: remove use of AS_VAR_APPEND"
27069326a56f configure: remove use of AS_VAR_APPEND
2707ea63d619 fix a type warning on VS9 x86
2708bec11092 fix EXIF parsing in PNG
2709b6e65f3d Merge "fix warnings for vs9 x64"
2710438946dc fix warnings for vs9 x64
2711f4710e3b collect macroblock reconstruction data in VP8MBData struct
271223d28e21 add doc precision for WebPPictureCopy() and WebPPictureView()
2713518f2cd7 cosmetics: gif2webp: fix indent
2714af358e68 Merge "remove datatype qualifier for vmnv"
27153fe91635 remove datatype qualifier for vmnv
2716764fdffa fix a memory leak in gif2webp
27173e59a74d fix two minor memory leaks in webpmux
271847b9862f Merge "README: update swig notes"
2719325d15ff remove some cruft from swig/libwebp.jar
27204a7627c2 README: update swig notes
27215da81e33 Merge "swig/python: add minimal documentation"
2722f39e08f2 Merge "swig: add python encode support"
27236ca4a3e3 Merge "swig/java: reduce wrapper function code duplication"
27248f8702b0 Merge "swig/java: rework uint8_t typemap"
272591413be2 reduce memory for VP8MB and remove bitfields use
27267413394e Fix the memory leak in ApplyFilters.
27272053c2cf simplify the alpha-filter testing loop
2728825b64db swig/python: add minimal documentation
272914677e11 swig: add python encode support
2730a5c297c8 swig/java: reduce wrapper function code duplication
2731ad4a367d swig/java: rework uint8_t typemap
27320d25876b use uint8_t for inv_palette[]
2733afa3450c Fix the bug in ApplyPalette.
27342d6ac422 Merge "webp/lossless: fix big endian BGRA output"
27352ca83968 webp/lossless: fix big endian BGRA output
2736742110cc Speed up ApplyPalette for ARGB pixels.
27372451e47d misc code cleanup
273883db4043 Merge "swig: add python (decode) support"
2739eeeea8b5 Merge "swig: cosmetics"
2740d5f9b8f3 Merge "libwebp: fix vp8 encoder mem alloc offsetting"
2741d8edd835 libwebp: fix vp8 encoder mem alloc offsetting
27428983b83e remove use of bit-fields in VP8FInfo
274387a4fca2 remove some warnings:
2744ba8f74e2 Merge "fix for big-endian"
2745a65067fa Merge "Further reduce memory to decode lossy+alpha images"
274664c84486 Further reduce memory to decode lossy+alpha images
2747332130b9 Mux: make a few methods static
274844370617 fix for big-endian
27495199eab5 Merge "add uncompressed TIFF output support"
2750a3aede97 add uncompressed TIFF output support
2751f975b67f Merge "gif2webp: Fix signed/unsigned comparison mismatch"
27525fbc734b Merge "GetFeatures: Detect invalid VP8X/VP8/VP8L data"
2753d5060c87 Merge "mux.h: A comment fix + some consistency fixes"
2754352d0dee GetFeatures: Detect invalid VP8X/VP8/VP8L data
27553ef79fef Cosmetic: "width * height"
2756043e1ae4 gif2webp: Fix signed/unsigned comparison mismatch
27575818cff7 mux.h: A comment fix + some consistency fixes
27581153f888 Merge "swig: ifdef some Java specific code"
27593eeedae1 Makefile.vc: fix libwebpdemux dll variable typo
2760f980faf4 swig: add python (decode) support
27617f5f42bb swig: cosmetics
27628eae188a WebP-Lossless encoding improvements.
2763c7247c4c swig: ifdef some Java specific code
27644cb234d5 Merge "Mux: make ValidateForSingleImage() method static"
2765ed6f5308 Merge "Add GetCanvasSize() method to mux"
27661d530c9a Mux: make ValidateForSingleImage() method static
2767bba4c2b2 configure: add warning related flags
2768fffefd18 Add GetCanvasSize() method to mux
2769732da8d0 Merge "configure: add GLUT detection; build vwebp"
27700e513f7a configure: add GLUT detection; build vwebp
277155d1c150 Merge "Alpha decoding: significantly reduce memory usage"
277213d99fb5 Merge "configure: add --enable-everything"
27732bf698fe Merge "configure.ac: add some helper macros"
2774edccd194 Alpha decoding: significantly reduce memory usage
27753cafcc9a configure: add --enable-everything
27764ef14477 configure.ac: add some helper macros
2777a4e1cdbb Remove the gcc compilation comments
27786393fe4b Cosmetic fixes
27799c4ce971 Simplify forward-WHT + SSE2 version
2780878b9da5 fix missed optim
278100046171 VP8GetInfo(): Check for zero width or height.
27829bf31293 align VP8Encoder::nz_ allocation
27835da165cf fix CheckMode() signature
27840ece07dc Merge "explicitly pad bitfields to 32-bits"
27859dbc9d19 explicitly pad bitfields to 32-bits
27865369a80f Merge "prevent signed int overflow in left shift ops"
278770e39712 Merge "cosmetics: remove unnecessary ';'s"
2788d3136ce2 Merge "don't forward declare enums"
2789b26e5ad5 gif2webp: Fix ICC and XMP support
279046089b20 Add missing name to AUTHORS
279194328d64 Demux: Fix a potential memleak
279296e948d7 don't forward declare enums
2793f4f90880 prevent signed int overflow in left shift ops
27940261545e cosmetics: remove unnecessary ';'s
27957ebdf110 Merge "Fix few missing comparisons to NULL"
27961579989e Fix few missing comparisons to NULL
2797ea1b21cf Cleaned up VP8GetHeaders() so that it parses only frame header
2798b66caee4 dwebp: add support for BMP output
2799ff885bfe add precision about dynamic output reallocation with IDecoder
280079241d5a Merge "Makefile.vc: have 'all' target build everything"
2801ac1c729b Merge "Makefile.vc: flags cleanup"
2802118a055c Merge "Makefile.vc: drop /FD flag"
2803ecad0109 Merge "update gitignore"
2804a681b4f4 Rename PRE_VP8 state to WEBP_HEADER
2805ead4d478 Add incremental support for extended format files
280669d0f926 Makefile.vc: have 'all' target build everything
280752967498 Makefile.vc: flags cleanup
2808c61baf0c Makefile.vc: drop /FD flag
28093a15125d update gitignore
28105167ca47 Merge "WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded."
281167708d67 WebPEncode: An additional check. Start VP8EncLoop/VP8EncTokenLoop only if VP8EncStartAlpha succeeded.
2812b68912af pngdec: Avoid a double-free.
281382abbe12 Merge "configure.ac: add AM_PROG_AR for automake >= 1.12"
2814e7d9548c add WebPBlendAlpha() function to blend colors against background
2815ed4dc717 configure.ac: add AM_PROG_AR for automake >= 1.12
2816df4a406d Merge branch '0.3.0'
28171e0d4b8c Update ChangeLog (tag: v0.3.0-rc7, tag: v0.3.0)
2818d52b405d Cosmetic fixes
28196cb4a618 misc style fix
282068111ab0 add missing YUVA->ARGB automatic conversion in WebPEncode()
2821e9a7990b Cosmetic fixes
2822403bfe82 Container spec: Clarify frame disposal
28232aaa423b Merge "add missing YUVA->ARGB automatic conversion in WebPEncode()"
282407d87bda add missing YUVA->ARGB automatic conversion in WebPEncode()
2825142c4629 misc style fix
28263e7a13a0 Merge "Container spec: clarify the background color field" into 0.3.0
282714af7745 container doc: add a note about the 'ANMF' payload
2828cc635efa Container spec: clarify the background color field
2829e3e33949 container doc: move RIFF description to own section
28304299f398 libwebp/mux: fix double free
283133f9a692 Merge "demux: keep a frame tail pointer; used in AddFrame" into 0.3.0
2832a2a7b959 use WebPDataCopy() instead of re-coding it.
28336f18f12f demux: keep a frame tail pointer; used in AddFrame
2834e5af49e9 add doc precision about WebPParseHeaders() return codes
2835db46daab Merge "Makefile.vc: fix dynamic builds" into 0.3.0
283653c77afc Merge "gif2webp: Bgcolor fix for a special case" into 0.3.0
2837a5ebd143 gif2webp: Bgcolor fix for a special case
28386378f238 Merge "vwebp/animation: fix background dispose" into 0.3.0
28393c8eb9a8 fix bad saturation order in QuantizeBlock
284004c7a2ec vwebp/animation: fix background dispose
284181a50695 Makefile.vc: fix dynamic builds
28425f25c396 update ChangeLog (tag: v0.3.0-rc6)
284314d42af2 examples: don't use C99 %zu
28445ccf1fe5 update ChangeLog
28452560c243 update NEWS
2846f43bafc3 Merge changes Iecccb09c,If5ee9fd2,I3e181ce4 into 0.3.0
2847a788644f dwebp: warn when decoding animated webp's
2848302efcdb Decode: return more meaningful error for animation
2849ad452735 WebPBitstreamFeatures: add has_animation field
2850783dfa49 disable FRGM decoding for good in libwebpmux
28514b956be0 Update ChangeLog
2852ad8b86d7 update NEWS
28533e084f63 Merge "demux cosmetics: comments/rename internal function" into 0.3.0
2854d3f8c621 Merge "move WebPFeatureFlags declaration" into 0.3.0
28557386fe50 Merge "libwebp{demux,mux}: install mux_types.h" into 0.3.0
2856d6cd4e90 Merge "bump decode abi" into 0.3.0
285717f8da5c bump decode abi
285897684ae2 Merge "add doc precision about WebPDemuxPartial()" into 0.3.0
2859f933fd2a move WebPFeatureFlags declaration
2860289bc47b libwebp{demux,mux}: install mux_types.h
2861224e8d46 add doc precision about WebPDemuxPartial()
28624c18e80c demux cosmetics: comments/rename internal function
28637cfd1bf1 update AUTHORS
2864401f7b85 Merge "speed-up lossless (~3%) with ad-hoc histogram cost evaluation" into 0.3.0
28651fc8ffca Merge "makefile.unix: dist related changes" into 0.3.0
28668a89c6ed Merge changes I466c377f,Ib761ebd3,I694857fc into 0.3.0
2867f4ffb2d5 speed-up lossless (~3%) with ad-hoc histogram cost evaluation
2868723847d5 gif2webp: only write error messages to stderr
2869701b9e2a makefile.unix: dist related changes
2870bb85b437 Merge "update NEWS" into 0.3.0
287159423a24 gif2webp: fix crash on open failure with libgif5
28729acb17de gif2webp: silence a unused param warning
28737d9fdc23 Merge "README updates" into 0.3.0
28745621934e Merge "build: fix install race on shared headers" into 0.3.0
287570809d89 Merge "bump version to 0.3.0" into 0.3.0
2876d851cd1d demux: make the parse a bit more strict
287728bb4107 update NEWS
2878cef93882 bump version to 0.3.0
28799048494d build: fix install race on shared headers
28801e67e8ef README updates
288142b611a4 Merge "configure: drop experimental from mux/demux" into 0.3.0
2882096a8e32 Merge "vwebp: add color profile support" into 0.3.0
2883ddfee5dc vwebp: add color profile support
28840d6927d3 Merge "Mark fragment options as experimental in webpmux" into 0.3.0
28855dbd4030 Mark fragment options as experimental in webpmux
2886a0a6648c configure: drop experimental from mux/demux
2887ee65bad8 Merge "add support for BITS > 32" into 0.3.0
2888744930db add support for BITS > 32
28897dd288f0 cwebp: fix build
289019a8dd01 Merge "Makefile.vc: add vwebp.exe target" into 0.3.0
289150eeddad Merge "examples: normalize icc related program arguments" into 0.3.0
2892757f637f Merge "Makefile.vc: add libwebpdecoder target" into 0.3.0
2893b65c4b7c Makefile.vc: add libwebpdecoder target
2894f8db7b4a Merge "vwebp: replace doubles w/floats where appropriate" into 0.3.0
2895d99aa56f Makefile.vc: add vwebp.exe target
2896013023e7 vwebp: replace doubles w/floats where appropriate
28979b3db894 README.mux: add version reference
28987b6a26cf Merge "cwebp: output metadata statistics" into 0.3.0
2899d8dc72a0 examples: normalize icc related program arguments
29007bfc9056 Merge "make alpha unfilter work in-place" into 0.3.0
29010037b2d2 Merge "add LUT-free reference code for YUV->RGB conversion." into 0.3.0
2902166bf744 Merge "demux: disable fragment parsing" into 0.3.0
2903126974b4 add LUT-free reference code for YUV->RGB conversion.
29040aef3ebd make alpha unfilter work in-place
290514ef5005 Merge "Remove 'status: experimental' from container spec" into 0.3.0
2906d40c98e1 Merge "webpmux binary: tiny style fix" into 0.3.0
29070bc42689 cwebp: output metadata statistics
2908bc039803 Merge "autoconf: normalize experimental define" into 0.3.0
2909d1e21b13 Remove 'status: experimental' from container spec
29107681bb96 webpmux binary: tiny style fix
2911a3dd3d0f avoid installing example_util.h
2912252320e2 demux: disable fragment parsing
2913537bde05 autoconf: normalize experimental define
29145e338e0b Merge changes I33e8a613,I8e8a7b44 into 0.3.0
2915d9d0ea1b Merge changes If21e3ec7,I991fc30b into 0.3.0
2916627f5ca6 automake: add reference to libwebp for mux/demux
2917eef73d07 don't consolidate proba stats too often
291805ec4cc2 libwebp{,decoder}.pc: add pthread flags
29191bfcf5bf add libwebpmux.pc
292026ca843d add libwebpdemux.pc
292169e25906 Merge "Tune Lossless compression for lower qualities."
29220478b5d2 Tune Lossless compression for lower qualities.
292339f7586f add a mention of parallel alpha encoding in the NEWS
29245a21d967 Merge "1.5x-2x faster encoding for method 3 and up"
29259bfbdd14 1.5x-2x faster encoding for method 3 and up
292627dc741b Correct frame options order in README.mux
2927be2fd173 Mux: fix a scenario with bad ANMF/FRGM size
292819eb012c Merge "Demux: Add option to get frame count using GetI()"
29297368b8cb Merge "WebPGetFeatures() out of if condition for clarity."
2930f604c9a4 Merge "fix windows build"
2931153f94e8 fix windows build
2932847b4924 Merge "vwebp: use magenta for 'i'nfo display"
293325ea46bd Merge "vwebp: add keyboard shortcuts to help output"
2934bea7ccaf vwebp: use magenta for 'i'nfo display
29358fab161a webpmux: correct -frame param order in help output
293603cc23d6 vwebp: add keyboard shortcuts to help output
2937068eba8d Demux: Add option to get frame count using GetI()
2938988b8f56 WebPGetFeatures() out of if condition for clarity.
29396933d910 Merge "gif2webp: Be lenient about background color index."
29404d0f7c55 Merge "WebPGetFeatures() behavior change:"
2941fdeeb01d gif2webp: Be lenient about background color index.
2942ad250320 Merge "multi-threaded alpha encoding for lossy"
29434e32d3e1 Merge "fix compilation of token.c"
2944f817930a multi-threaded alpha encoding for lossy
294588050351 fix compilation of token.c
2946fc816219 code using the actual values for num_parts_, not the ones from config
294772655350 Merge "move the config check from .c to .h"
2948dd9e76f7 move the config check from .c to .h
2949956b217a WebPGetFeatures() behavior change:
2950df02e4ce WebPDemuxGetI behavior change:
2951633c004d Merge "rebalance method tools (-m) for methods [0..4]"
295258ca6f65 rebalance method tools (-m) for methods [0..4]
29537648c3cc Merge "describe rd-opt levels introduce VP8RDLevel enum"
295467fb1003 Merge "autoconf: enable silent-rules by default"
2955a5042a32 GetVersion() methods for mux and demux
29565189957e describe rd-opt levels introduce VP8RDLevel enum
29574e094ace autoconf: enable silent-rules by default
2958b7eaa85d inline VP8LFastLog2() and VP8LFastSLog2 for small values
29595cf7792e split quant_levels.c into decoder and encoder version
2960e5d3ffe2 Merge "Update code example in README.mux"
2961ac5a9156 Update code example in README.mux
296238a91e99 Add example code snippet for demux API
29635f557f3c README.mux: add info about Demux API and vwebp
2964c0ba0903 backward_references: avoid signed integer overflow
2965943386db disable SSE2 for now
29669479fb7d lossless encoding speedup
2967ec2030a8 merge two lines together
2968b67956c0 Merge "Remove ReadOneBit() and ReadSymbolUnsafe()"
29691667bded Remove ReadOneBit() and ReadSymbolUnsafe()
29703151669b wicdec + dwebp cosmetics: normalize formatting
297192668da6 change default filtering parameters:   * type is now 'strong'   * strength is now '60'
2972b7490f85 introduce WEBP_REFERENCE_IMPLEMENTATION compile option
297333838857 faster decoding (3%-6%)
29745c3e381b Merge "add a -jpeg_like option"
2975c2311046 remove unused declaration of VP8Zigzag
297636152957 Merge "wicdec: add alpha support for paletted formats"
2977c9f16490 wicdec: add alpha support for paletted formats
29781262f81e Merge "wicdec: silence some warnings"
2979e7ea61eb wicdec: silence some warnings
298023c0f354 fix missing intptr_t->int cast for MSVC
2981e895059a add a -jpeg_like option
29821f803f64 Merge "Tune alpha quality mapping to more reasonable values."
29831267d498 Tune alpha quality mapping to more reasonable values.
2984043076e2 Merge "speed-up lossless in BackwardTrace"
2985f3a44dcd remove one malloc from TraceBackwards()
29860fc1a3a0 speed-up lossless in BackwardTrace
29877c732e59 cwebp: centralize WebPCleanupTransparentArea()
29887381254e Merge "wicdec: add ICC profile extraction"
2989e83ff7de wicdec: add ICC profile extraction
2990146c6e3b Merge "cosmetics: pngdec: normalize default label location"
2991a8f549d7 Merge "manpages: italicize option parameters"
2992e118db83 Merge "encode.h: note the need to free() WebPMemoryWriter"
29931dfee6db cosmetics: pngdec: normalize default label location
299414c38200 manpages: italicize option parameters
29957defbfad encode.h: note the need to free() WebPMemoryWriter
299688d382a0 cwebp: cleanup after memory_writer
299712d6cecf fix extra space in dwebp.1 man
2998b01681a9 Fix for demuxer frame iteration:
299956c12aa6 Demuxer creation fix:
300066c810bc add a -yuv option to dwebp (very similar to -pgm)
3001841a3ba5 Merge "Remove -Wshadow warnings."
30028fd02527 Merge "upsampling_neon.c: fix build"
30036efed268 Remove -Wshadow warnings.
300460904aa6 Merge "allow WebPINewRGB/YUVA to be passed a NULL output buffer."
3005b7adf376 allow WebPINewRGB/YUVA to be passed a NULL output buffer.
300627f8f742 upsampling_neon.c: fix build
300706b9cdf1 gitignore: add IOS related directories
3008f112221e Merge "Fix more comments for iobuild.sh"
3009fe4d25dd Fix more comments for iobuild.sh
30101de3e252 Merge "NEON optimised yuv to rgb conversion"
3011090b708a NEON optimised yuv to rgb conversion
3012daa06476 Merge "Add ios build script for building iOS library."
301379fe39e2 Add ios build script for building iOS library.
3014126c035f remove some more -Wshadow warnings
3015522e9d61 Merge "cwebp: enable '-metadata'"
301676ec5fa1 cwebp: enable '-metadata'
3017aeb91a9d Merge "cosmetics: break a few long lines"
3018be7c96b0 cosmetics: break a few long lines
3019cff8ddb6 Merge "add libwebpdecoder.pc"
302093148ab8 Merge "libwebp.pc.in: detab"
30216477f955 Merge "Makefile.vc: normalize path separator"
3022bed1ed7c add libwebpdecoder.pc
302346168b2d libwebp.pc.in: detab
3024a941a346 Fixed few nits in the build files.
3025dd7a49b2 Makefile.vc: normalize path separator
30269161be86 Merge "cwebp: extract WIC decoding to its own module"
302708e7c58e Merge "Provide an option to build decoder library."
30280aeba528 Provide an option to build decoder library.
3029757ebcb1 catch malloc(0)/calloc(0) with an assert
3030152ec3d2 Merge "handle malloc(0) and calloc(0) uniformly on all platforms"
3031a452a555 cwebp: extract WIC decoding to its own module
30322b252a53 Merge "Provide option to swap bytes for 16 bit colormodes"
303394a48b4b Provide option to swap bytes for 16 bit colormodes
303442f8f934 handle malloc(0) and calloc(0) uniformly on all platforms
30358b2152c5 Merge "add an extra assert to check memory bounds"
30360d19fbff remove some -Wshadow warnings
3037cd22f655 add an extra assert to check memory bounds
30388189feda Merge "Add details and reference about the YUV->RGB conversion"
30391d2702b1 Merge "Formatting fixes in lossless bitstream spec"
30408425aaee Formatting fixes in lossless bitstream spec
3041a556cb1a Add details and reference about the YUV->RGB conversion
3042d8f21e0b add link to SSIM description on Wikipedia
304318e9167e Merge "WebP-lossless spec clarifications:"
304498e25b9b Merge "cwebp: add -metadata option"
3045f01c2a53 WebP-lossless spec clarifications:
3046f4a97970 Merge "Disto4x4 and Disto16x16 in NEON"
304747b7b0ba Disto4x4 and Disto16x16 in NEON
30487eaee9f1 cwebp: add -metadata option
304936c52c2c tiffdec: use toff_t for exif ifd offset
30507c8111e4 Merge "cwebp/tiffdec: add TIFF metadata extraction"
3051e6409adc Remove redundant include from dsp/lossless code.
30521ab5b3a7 Merge "configure: fix --with-gifincludedir"
305303c749eb configure: fix --with-gifincludedir
30548b650635 multiple libgif versions support for gif2webp
3055476e293f gif2webp: Use DGifOpenFileName()
3056b50f277b tiffdec: correct format string
30572b9048e3 Merge "tiffdec: check error returns for width/height"
3058a1b5a9a3 Merge "cwebp/tiff: use the first image directory"
3059079423f5 tiffdec: check error returns for width/height
3060d62824af Merge "cwebp/jpegdec: add JPEG metadata extraction"
306103afaca4 Merge "cwebp: add PNG metadata extraction"
30622c724968 cwebp/jpegdec: add JPEG metadata extraction
3063dba64d91 cwebp: add PNG metadata extraction
30641f075f89 Lossless spec corrections/rewording/clarifications
30652914ecfd cwebp/tiffdec: add TIFF metadata extraction
3066d82a3e33 More corrections/clarifications in lossless spec:
3067bd002557 cwebp/tiff: use the first image directory
3068df7aa076 Merge "Cleanup around jpegdec"
30690f57dcc3 decoding speed-up (~1%)
3070bcec339b Lossless bitstream clarification:
30716bf20874 add examples/metadata.c
3072207f89c0 Merge "configure: add libwebpdemux status to summary"
30731bd287a6 Cleanup around jpegdec
307491455679 Merge "cosmetics: use '== 0' in size checks"
3075d6b88b76 cosmetics: use '== 0' in size checks
3076d3dace2f cosmetics: jpegdec
30772f69af73 configure: add libwebpdemux status to summary
30781c1c5646 cwebp: extract tiff decoding to its own module
30796a871d66 cwebp: extract jpeg decoding to its own module
30802ee228f9 cwebp: extract png decoding to its own module
30814679db00 Merge "cwebp: add metadata framework"
308263aba3ae cwebp: add metadata framework
3083931bd516 lossless bitstream: block size bits correction
3084e4fc4c1c lossless bitstream: block size bits correction
3085d65ec678 fix build, move token.c to src/enc/
3086657f5c91 move token buffer to its own file (token.c)
3087c34a3758 introduce GetLargeValue() to slim-fast GetCoeffs().
3088d5838cd5 faster non-transposing SSE2 4x4 FTransform
3089f76191f9 speed up GetResidualCost()
3090ba2aa0fd Add support for BITS=24 case
30912e7f6e8e makefile.unix: Dependency on libraries
3092dca84219 Merge "Separate out mux and demux code and libraries:"
309323782f95 Separate out mux and demux code and libraries:
3094bd56a01f configure: add summary output
309590e5e319 dwebp manual: point to webpmux, gif2webp.
3096540790ca gif2webp.c: add a note about prerequisites
3097d1edf697 cwebp man page: meaning of '-q' for lossy/lossless
309879efa1d0 Add man page for gif2webp utility
30992243e40c Merge "gif2webp build support with autoconf tools"
3100c40efca1 gif2webp build support with autoconf tools
31016523e2d4 WebP Container:
31024da788da Merge "simplify the fwd transform"
310342c3b550 simplify the fwd transform
310441a6ced9 user GLfloat instead of float
3105b5426119 fix indentation
310668f282f7 * handle offset in anim viewer 'vwebp' * fix gif2webp to handle disposal method and odd offset correctly
3107118cb312 Merge "add SSE2 version of Sum of Square error for 16x16, 16x8 and 8x8 case"
31088a7c3cc8 Merge "Change the order of -frame argument to be more natural"
310999e0a707 Merge "Simplify the texture evaluation Disto4x4()"
31100f923c3f make the bundling work in a tmp buffer
3111e5c3b3f5 Simplify the texture evaluation Disto4x4()
311248600084 Change the order of -frame argument to be more natural
311335bfd4c0 add SSE2 version of Sum of Square error for 16x16, 16x8 and 8x8 case
3114a7305c2e Clarification for unknown chunks
31154c4398e2 Refine WebP Container Spec wrt unknown chunks.
31162ca642e0 Rectify WebPMuxGetFeatures:
31177caab1d8 Some cosmetic/comment fixes.
311860b2651a Merge "Write a GIF to WebP converter based on libgif."
3119c7127a4d Merge "Add NEON version of FTransformWHT"
312011b27212 Write a GIF to WebP converter based on libgif.
3121e9a15a37 ExUtilWriteFile() to write memory segment to file
312274356eb5 Add a simple cleanup step in mux assembly:
312351bb1e5d mux.h: correct WebPDemuxSelectFragment() prototype
312422a0fd9d Add NEON version of FTransformWHT
3125fa30c863 Update mux code to match the spec wrt animation
3126d9c5fbef by-pass Analysis pass in case segments=1
3127d2ad4450 Merge changes Ibeccffc3,Id1585b16
31285c8be251 Merge "Chunk fourCCs for XMP/EXIF"
3129a00a3daf Use 'frgm' instead of 'tile' in webpmux parameters
313081b8a741 Design change in ANMF and FRGM chunks:
3131f903cbab Chunk fourCCs for XMP/EXIF
3132812933d6 Tune performance of HistogramCombine
313352ad1979 Animation specification in container spec
3134001b9302 Image fragment specification in container spec
3135391f9db9 Ordering of description of bits in container spec
3136d5735776 Metadata specification in container spec
31371c4609b1 Merge commit 'v0.2.1'
31380ca584cb Merge "Color profile specification in container spec"
3139e8b41ad1 add NEON asm version for WHT inverse transform
3140af6f0db2 Color profile specification in container spec
3141a61a824b Merge "Add NULL check in chunk APIs"
31420e8b7eed fix WebPPictureView() unassigned strides
314375e5f17e ARM/NEON: 30% encoding speed-up
314402b43568 Add NULL check in chunk APIs
3145a0770727 mux struct naming
31466c66dde8 Merge "Tune Lossless encoder"
3147ab5ea217 Tune Lossless encoder
314874fefc8c Update ChangeLog (tag: v0.2.1, origin/0.2.0)
314992f8059c Rename some chunks:
31503bb4bbeb Merge "Mux API change:"
3151d0c79f05 Mux API change:
3152abc06044 Merge "update NEWS" into 0.2.0
315357cf313b update NEWS
315425f585c4 bump version to 0.2.1
3155fed7c048 libwebp: validate chunk size in ParseOptionalChunks
3156552cd9bc cwebp (windows): fix alpha image import on XP
3157b14fea99 autoconf/libwebp: enable dll builds for mingw
31584a8fb272 [cd]webp: always output windows errors
3159d6621580 fix double to float conversion warning
316072b96a69 cwebp: fix jpg encodes on XP
3161734f762a VP8LAllocateHistogramSet: fix overflow in size calculation
3162f9cb58fb GetHistoBits: fix integer overflow
3163b30add20 EncodeImageInternal: fix uninitialized free
31643de58d77 fix the -g/O3 discrepancy for 32bit compile
316577aa7d50 fix the BITS=8 case
3166e5970bda Make *InitSSE2() functions be empty on non-SSE2 platform
3167ef5cc47e make *InitSSE2() functions be empty on non-SSE2 platform
3168c4ea259d make VP8DspInitNEON() public
31698344eadf Merge "libwebp: validate chunk size in ParseOptionalChunks"
31704828bb93 Merge "cwebp (windows): fix alpha image import on XP"
317130763333 libwebp: validate chunk size in ParseOptionalChunks
317270481898 AccumulateLSIM: fix double -> float warnings
3173eda8ee4b cwebp (windows): fix alpha image import on XP
3174c6e98658 Merge "add EXPERIMENTAL code for YUV-JPEG colorspace"
3175f0360b4f add EXPERIMENTAL code for YUV-JPEG colorspace
3176f86e6abe add LSIM metric to WebPPictureDistortion()
3177c3aa215a Speed up HistogramCombine for lower qualities.
31781765cb1c Merge "autoconf/libwebp: enable dll builds for mingw"
3179a13562e8 autoconf/libwebp: enable dll builds for mingw
31809f469b57 typo: no_fancy -> no_fancy_upsampling
31811a27f2f8 Merge "fix double to float conversion warning"
3182cf1e90de Merge "cwebp: fix jpg encodes on XP"
3183f2b5d19b [cd]webp: always output windows errors
3184e855208c fix double to float conversion warning
3185ecd66f77 cwebp: fix jpg encodes on XP
31867b3eb372 Tune lossless compression to get better gains.
3187ce8bff45 Merge "VP8LAllocateHistogramSet: fix overflow in size calculation"
3188ab5b67a1 Merge "EncodeImageInternal: fix uninitialized free"
31897fee5d12 Merge "GetHistoBits: fix integer overflow"
3190a6ae04d4 VP8LAllocateHistogramSet: fix overflow in size calculation
319180237c43 GetHistoBits: fix integer overflow
31928a997235 EncodeImageInternal: fix uninitialized free
31930b9e6829 minor cosmetics
3194a792b913 fix the -g/O3 discrepancy for 32bit compile
319573ba4357 Merge "detect and merge similar segments"
3196fee66275 detect and merge similar segments
31970c44f415 src/webp/*.h: don't forward declare enums in C++
3198d7a5ac86 vwebp: use demux interface
3199931e0ea1 Merge "replace 'typedef struct {} X;" by "typedef struct X X; struct X {};""
32008f216f7e remove cases of equal comparison for qsort()
320128d25c82 replace 'typedef struct {} X;" by "typedef struct X X; struct X {};"
32022afee60a speed up for ARM using 8bit for boolean decoder
32035725caba new segmentation algorithm
32042cf1f815 Merge "fix the BITS=8 case"
320512f78aec fix the BITS=8 case
32066920c71f fix MSVC warnings regarding implicit uint64 to uint32 conversions
3207f6c096aa webpmux binary: Rename 'xmp' option to 'meta'
3208ddfe871a webpmux help correction
3209b7c55442 Merge "Make *InitSSE2() functions be empty on non-SSE2 platform"
32101c04a0d4 Common APIs for chunks metadata and color profile.
32112a3117a1 Merge "Create WebPMuxFrameInfo struct for Mux APIs"
32125c3a7231 Make *InitSSE2() functions be empty on non-SSE2 platform
32137c6e60f4 make *InitSSE2() functions be empty on non-SSE2 platform
3214c7eb4576 make VP8DspInitNEON() public
3215ab3234ae Create WebPMuxFrameInfo struct for Mux APIs
3216e3990fd8 Alignment fixes
3217e55fbd6d Merge branch '0.2.0'
32184238bc0a Update ChangeLog (tag: v0.2.0)
3219c655380c dec/io.c: cosmetics
3220fe1958f1 RGBA4444: harmonize lossless/lossy alpha values
3221681cb30a fix RGBA4444 output w/fancy upsampling
3222f06c1d8f Merge "Alignment fix" into 0.2.0
3223f56e98fd Alignment fix
32246fe843ba avoid rgb-premultiply if there's only trivial alpha values
3225528a11af fix the ARGB4444 premultiply arithmetic
3226a0a48855 Lossless decoder fix for a special transform order
322762dd9bb2 Update encoding heuristic w.r.t palette colors.
32286f4272b0 remove unused ApplyInverseTransform()
322993bf0faa Update ChangeLog (tag: v0.2.0-rc1)
32305934fc59 update AUTHORS
3231014a711d update NEWS
323243b0d610 add support for ARGB -> YUVA conversion for lossless decoder
323333705ca0 bump version to 0.2.0
3234c40d7ef1 fix alpha-plane check + add extra checks
3235a06f8023 MODE_YUVA: set alpha to opaque if the image has none
323652a87dd7 Merge "silence one more warning" into 0.2.0
32373b023093 silence one more warning
3238f94b04f0 move some RGB->YUV functions to yuv.h
32394b71ba03 README: sync [cd]webp help output
3240c9ae57f5 man/dwebp.1: add links to output file format details
3241292ec5cc quiet a few 'uninitialized' warnings
32424af3f6c4 fix indentation
32439b261bf5 remove the last NOT_HAVE_LOG2 instances
3244323dc4d9 remove use of log2(). Use VP8LFastLog2() instead.
32458c515d54 Merge "harness some malloc/calloc to use WebPSafeMalloc and WebPSafeCalloc" into 0.2.0
3246d4b4bb02 Merge changes I46090628,I1a41b2ce into 0.2.0
3247bff34ac1 harness some malloc/calloc to use WebPSafeMalloc and WebPSafeCalloc
3248a3c063c7 Merge "extra size check for security" into 0.2.0
32495e796300 Merge "WebPEncode: clear stats at the start of encode" into 0.2.0
3250f1edf62f Merge "rationalize use of color-cache" into 0.2.0
3251c1933317 extra size check for security
3252906be657 rationalize use of color-cache
3253dd1c3873 Add image-hint for low-color images.
32544eb7aa64 Merge "WebPCheckMalloc() and WebPCheckCalloc():" into 0.2.0
325580cc7303 WebPCheckMalloc() and WebPCheckCalloc():
3256183cba83 check VP8LBitWriterInit return
3257cbfa9eec lossless: fix crash on user abort
3258256afefa cwebp: exit immediately on version mismatch
3259475d87d7 WebPEncode: clear stats at the start of encode
3260a7cc7291 fix type and conversion warnings
32617d853d79 add stats for lossless
3262d39177b7 make QuantizeLevels() store the sum of squared error
32635955cf5e replace x*155/100 by x*101581>>16
32647d732f90 make QuantizeLevels() store the sum of squared error
3265e45a446a replace x*155/100 by x*101581>>16
3266159b75d3 cwebp output size consistency:
3267cbee59eb Merge commit 'v0.1.99'
32681889e9b6 dwebp: report -alpha option
32693bc3f7c0 Merge "dwebp: add PAM output support" into 0.2.0
3270d919ed06 dwebp: add PAM output support
327185e215d3 README/manpages/configure: update website link
3272c3a207b9 Update ChangeLog (tag: v0.1.99)
3273d1fd7826 Merge "add extra precision about default values and behaviour" into 0.2.0
3274efc826e0 add extra precision about default values and behaviour
32759f29635d header/doc clean up
3276ff9fd1ba Makefile.vc: fix webpmux.exe *-dynamic builds
32778aacc7b0 remove INAM, ICOP, ... chunks from the test webp file.
32782fc13015 harmonize authors as "Name (mail@address)"
32794a9f37b7 Merge "update NEWS" into 0.2.0
32807415ae13 makefile.unix: provide examples/webpmux target
3281ce82cedc update NEWS
3282641e28e8 Merge "man/cwebp.1: wording, change the date" into 0.2.0
3283c37c23e5 README: cosmetics
32843976dcd5 man/cwebp.1: wording, change the date
32853e5bbe1c Merge "rename 'use_argb_input' to 'use_argb'" into 0.2.0
3286ce90847a Merge "add some padding bytes areas for later use" into 0.2.0
32872390dabc Merge "fixing the findings by Frederic Kayser to the bitstream spec" into 0.2.0
328802751591 add a very crude progress report for lossless
3289a4b9b1c6 Remove some unused enum values.
3290dd108176 rename 'use_argb_input' to 'use_argb'
329190516ae8 add some padding bytes areas for later use
3292d03b2503 fixing the findings by Frederic Kayser to the bitstream spec
3293ce156afc add missing ABI compatibility checks
32949d45416a Merge "Doc: container spec text tweaks" into 0.2.0
32954e2e0a8c Doc: container spec text tweaks
3296f7f16a29 add ABI compatibility check
32972a775570 Merge "swig: add WebPEncodeLossless* wrappers" into 0.2.0
3298a3ec6225 mux.h: remove '* const' from function parameters
329931426eba encode.h: remove '* const' from function parameters
33009838e5d5 decode.h: remove '* const' from function parameters
33014972302d swig: add WebPEncodeLossless* wrappers
33029ff00cae bump encoder/decoder versions
3303c2416c9b add lossless quick encoding functions to the public API
33044c1f5d64 Merge "NEWS: mention decode_vp8.h is no longer installed" into 0.2.0
33056cb2277d NEWS: mention decode_vp8.h is no longer installed
3306d5e5ad63 move decode_vp8.h from webp/ to dec/
33078d3b04a2 Merge "header clean-up" into 0.2.0
330802201c35 Merge "remove one malloc() by making color_cache non dynamic" into 0.2.0
3309d708ec14 Merge "move MIN/MAX_HISTO_BITS to format_constants.h" into 0.2.0
3310ab2da3e9 Merge "add a malloc() check" into 0.2.0
33112d571bd8 add a malloc() check
33127f0c178e remove one malloc() by making color_cache non dynamic
33136569cd7c Merge "VP8LFillBitWindow: use 64-bit path for msvc x64 builds" into 0.2.0
331423d34f31 header clean-up
33152a3ab6f9 move MIN/MAX_HISTO_BITS to format_constants.h
3316985d3da6 Merge "shuffle variables in HashChainFindCopy" into 0.2.0
3317cdf885c6 shuffle variables in HashChainFindCopy
3318c3b014db Android.mk: add missing lossless files
33198c1cc6b5 makefile.unix dist: explicitly name installed includes
33207f4647ee Merge "clarify the colorspace naming and byte ordering of decoded samples" into 0.2.0
3321cbf69724 clarify the colorspace naming and byte ordering of decoded samples
3322857650c8 Mux: Add WebPDataInit() and remove WebPImageInfo
3323ff771e77 don't install webp/decode_vp8.h
3324596dff78 VP8LFillBitWindow: use 64-bit path for msvc x64 builds
33253ca7ce98 Merge "doc: remove non-finalized chunk references" into 0.2.0
33261efaa5a3 Merge "bump versions" into 0.2.0
332751fa13e1 Merge "README: update cwebp help output" into 0.2.0
332812f9aede README: update cwebp help output
3329f0b5defb bump versions
33304c42a61b update AUTHORS
33316431a1ce doc: remove non-finalized chunk references
33328130c4cc Merge "build: remove libwebpmux from default targets/config"
333323b44438 Merge "configure: broaden test for libpng-config"
333485bff2cd Merge "doc: correct lossless prefix coding table & code"
333505108f6e Merge "More spec/code matching in mux:"
33366808e69d More spec/code matching in mux:
3337bd2b46f5 Merge "doc/webp-container-spec: light cosmetics"
333820ead329 doc/webp-container-spec: light cosmetics
33391d40a8bc configure: add pthread detection
3340b5e9067a fix some int <-> size_t mix for buffer sizes
3341e41a7596 build: remove libwebpmux from default targets/config
33420fc2baae configure: broaden test for libpng-config
334345b8272c Merge "restore authorship to lossless bitstream doc"
334406ba0590 restore authorship to lossless bitstream doc
334544a09a3c add missing description of the alpha filtering methods
334663db87dd Merge "vwebp: add checkboard background for alpha display"
3347a73b8978 vwebp: add checkboard background for alpha display
3348939158ce Merge "vwebp: fix info display"
3349b35c07d9 vwebp: fix info display
335048b39eb1 fix underflow for very short bitstreams
33517e622984 cosmetics: param alignment, manpage wording
33521bd7dd50 Merge changes I7b0afb0d,I7ecc9708
3353ac69e63e Merge "Updated cwebp man's help for Alpha & Lossless."
3354c0e8859d Get rid of image_info_ from WebPChunk struct.
3355135ca69e WebP Container Spec:
3356eb6f9b8a Updated cwebp man's help for Alpha & Lossless.
33570fa844fb cosmetic fixes on assert and 'const' where applicable
33587f22bd25 check limit of width * height is 32 bits
335916c46e83 autoconf/make: cosmetics: break long lines
3360ab22a07a configure: add helper macro to define --with-*
3361c17699b3 configure: add libtiff test
33620e09732c Merge "cwebp: fix crash with yuv input + lossless"
336388a510ff Merge "fix big-endian VP8LWriteBits"
3364da99e3bf Merge "Makefile.vc: split mux into separate lib"
33657bda392b cwebp: fix crash with yuv input + lossless
3366f56a369a fix big-endian VP8LWriteBits
336754169d6c Merge "cwebp: name InputFileFormat members consistently"
3368e2feefa9 Makefile.vc: split mux into separate lib
336927caa5aa Merge "cwebp: add basic TIFF support"
3370d8921dd4 cwebp: name InputFileFormat members consistently
33716f76d246 cwebp: add basic TIFF support
33724691407b Merge changes If39ab7f5,I3658b5ae
3373cca7c7b8 Fixed nit: 10 -> 10.f
33745d09a244 WebPMuxCreate() error handling:
3375777341c3 Fix a memleak in WebPMuxCreate()
337661c9d161 doc: correct lossless prefix coding table & code
33774c397579 Merge "mark VP8{,L}{GetInfo,CheckSignature} as WEBP_EXTERN"
3378e4e36cc6 Merge "Mux: Allow only some frames/tiles to have alpha."
3379ad2aad3c Merge "WebP Decoding error handling:"
338097649c8f Mux: Allow only some frames/tiles to have alpha.
3381f864be3b Lower the quality settings for Alpha encoding.
33823ba81bbe WebP Decoding error handling:
3383fcc69923 add automatic YUVA/ARGB conversion during WebPEncode()
3384802e012a fix compilation in non-FANCY_UPSAMPLING mode
3385e012dfd9 make width/height coding match the spec
3386228d96a5 mark VP8{,L}{GetInfo,CheckSignature} as WEBP_EXTERN
3387637a314f remove the now unused *KeepA variants
3388d11f6fcc webpmux returns error strings rather than numbers
3389fcec0593 makefile.unix: cwebp: fix OSX link
33906b811f1b Merge "doc: remove lossless pdf"
3391c9634821 doc: remove lossless pdf
3392b9ae4f0d cosmetics after mux changes b74ed6e, b494ad5
3393b494ad50 Mux: only allow adding frame/tiles at the end.
33942c341b0e Merge "Added image characteristic hint for the codec."
3395d373076a Added image characteristic hint for the codec.
33962ed2adb5 Merge "msvc: add intrinsic based BitsLog2Floor"
3397e595e7c5 Merge "add demux.c to the makefiles"
3398da47b5bd Merge "demux: add {Next,Prev}Chunk"
3399e5f46742 add demux.c to the makefiles
34004708393c demux: add {Next,Prev}Chunk
3401e8a0a821 demux: quiet msvc warnings
34027f8472a6 Update the WebP Container Spec.
340331b68fe6 cleanup WebPPicture struct and API
34049144a186 add overflow check before calling malloc()
340581720c91 consistency cosmetics
34062ebe8394 Merge "Add kramdown version information to README"
340771443084 enc/vp8l.c: fix build
3408b7ac19fe Add kramdown version information to README
3409efdcb667 Merge "Edit for consistency, usage and grammar."
341008220102 Enable alpha in vvwebp
34118de9a084 Merge "Mux API change:"
3412b74ed6e7 Mux API change:
3413233a589e take picture->argb_stride into account for lossless coding
341404e33f17 Edit for consistency, usage and grammar.
3415a575b4bc Merge "cosmetics: add missing const"
34168d99b0f4 Merge "cosmetics: remove unimplemented function proto"
341769d02217 cosmetics: add missing const
34185b08318b cosmetics: remove unimplemented function proto
3419b7fb0ed5 Log warning for unsupported options for lossless.
3420e1f769fe msvc: add intrinsic based BitsLog2Floor
34218a69c7d8 Bug-fix: Clamp backward dist to 1.
3422b5b6ac97 Merge "Bring the special writer 'WebPMemoryWriter' to public API"
3423a6a1909f Merge "Fix floating point exception with cwebp -progress"
3424f2cee067 Fix floating point exception with cwebp -progress
342591b7a8c7 Bring the special writer 'WebPMemoryWriter' to public API
3426310e2972 support resize and crop for RGBA input
3427a89835d3 Merge changes Ice662960,Ie8d7aa90,I2d996d5e,I01c04772
3428ce614c0c Merge "dec/vp8: avoid setting decoder status twice"
3429900285da dec/vp8: avoid setting decoder status twice
34308227adc8 Merge changes I6f02b0d0,I5cbc9c0a,I9dd9d4ed,Id684d2a1
3431dcda59c1 Merge "demux: rename SetTile to SelectTile"
3432622ef12e demux: rename SetTile to SelectTile
343381ebd375 Merge "demux: add {Next,Prev}Frame"
343402dd37a2 demux: add {Next,Prev}Frame
34354b79fa59 Merge "Limit the maximum size of huffman Image to 16MB."
34369aa34b34 Manually number "chapters," as chapter numbers are used in the narrative.
34372a4c6c29 Re-wrap at <= 72 columns
3438a45adc19 Apply inline emphasis and monospacing, per gdoc / PDF
343991011206 Incorporate gdoc changes through 2012-06-08
34407a182487 Removed CodeRay syntax declarations ...
3441b3ec18c5 Provide for code-block syntax highlighting.
3442709d7702 Replace high ASCII artifacts (curly quotes, etc.).
3443930e8abb Lossless WebP doc largely ported to markdown text.
344418cae37b msvc: silence some build warnings
3445b3923084 Limit the maximum size of huffman Image to 16MB.
3446f180df2a Merge "libwebp/demux: add Frame/Chunk iteration"
34472bbe1c9a Merge "Enable lossless encoder code"
3448d0601b01 Merge changes I1d97a633,I81c59093
344978f3e345 Enable lossless encoder code
3450d974a9cc Merge "libwebp/demux: add simple format parsing"
345126bf2232 Merge "libwebp: add WebPDemux stub functions"
34522f666688 Merge "modify WebPParseHeaders to allow reuse by GetFeatures"
3453b402b1fb libwebp/demux: add Frame/Chunk iteration
3454ad9ada3b libwebp/demux: add WebPDemuxGetI
34552f2d4d58 libwebp/demux: add extended format parsing
3456962dcef6 libwebp/demux: add simple format parsing
3457f8f94081 libwebp: add WebPDemux stub functions
3458fb47bb5c Merge "NumNamedElements() should take an enum param."
34597c689805 Fix asserts in Palette and BackwardReference code.
3460fbdcb7ea NumNamedElements() should take an enum param.
3461fb4943bd modify WebPParseHeaders to allow reuse by GetFeatures
34623697b5ce write an ad-hoc EncodeImageInternal variant
3463eaee9e79 Bug-Fix: Decode small (less than 32 bytes) images.
34640bceae48 Merge "cwebp: fix alpha reporting in stats output"
34650424b1ef Rebase default encoding settings.
3466c71ff9e3 cwebp: fix alpha reporting in stats output
3467e2ffe446 Merge "Stop indefinite recursion for Huffman Image."
346870eb2bd6 Stop indefinite recursion for Huffman Image.
3469f3bab8eb Update vwebp
34706d5c797c Remove support for partial files in Mux.
3471f1df5587 WebPMuxAssemble() returns WebPData*.
3472814a0639 Rename 'Add' APIs to 'Set'.
3473bbb0218f Update Mux psuedo-code examples.
34744fc4a47f Use WebPData in MUX set APIs
3475c67bc979 Merge "add WebPPictureImportRGBX() and WebPPictureImportBGRX()"
347627519bc2 add WebPPictureImportRGBX() and WebPPictureImportBGRX()
3477f80cd27e factorize code in Import()
34789b715026 histogram: add log2 wrapper
34798c34378f Merge "fix some implicit type conversion warnings"
348042f6df9d fix some implicit type conversion warnings
3481250c16e3 Merge "doc: update lossless pdf"
34829d9daba4 Merge "add a PDF of the lossless spec"
34838fbb9188 prefer webp/types.h over stdint.h
34840ca170c2 doc: update lossless pdf
34850862ac6e add a PDF of the lossless spec
3486437999fb introduce a generic WebPPictureHasTransparency() function
3487d2b6c6c0 cosmetic fixes after Idaba281a
3488b4e6645c Merge "add colorspace for premultiplied alpha"
348948f82757 add colorspace for premultiplied alpha
3490069f903a Change in lossless bit-stream.
34915f7bb3f5 Merge "WebPReportProgress: use non-encoder specific params"
3492f18281ff WebPReportProgress: use non-encoder specific params
34939ef32283 Add support for raw lossless bitstream in decoder.
34947cbee29a Fix bug: InitIo reseting fancy_upsampling flag.
3495880fd98c vwebp: fix exit w/freeglut
34961875d926 trap two unchecked error conditions
349787b4a908 no need to have mux.h as noinst clause in enc/
349888f41ec6 doc: fix bit alignment in VP8X chunk
349952f5a4ef Merge "fix bug with lossy-alpha output stride"
35003bde22d7 fix bug with lossy-alpha output stride
350142d61b6d update the spec for the lossy-alpha compression methods.
3502e75dc805 Move some more defines to format_constants.h
3503c13f6632 Move consts to internal header format_constants.h
35047f2dfc92 use a bit-set transforms_seen_ instead of looping
350518da1f53 modulate alpha-compression effort according to config.method
3506f5f2fff6 Merge "Alpha flag fix for lossless."
3507c975c44e Alpha flag fix for lossless.
35084f067fb2 Merge "Android: only build dec_neon with NEON support"
3509255c66b4 Android: only build dec_neon with NEON support
35108f9117a9 cosmetics: signature fixes
351139bf5d64 use header-less lossless bitstream for alpha channel
351275d7f3b2 Merge "make input data be 'const' for VP8LInverseTransform()"
35139a721c6d make input data be 'const' for VP8LInverseTransform()
35149fc64edc Disallow re-use of same transformation.
351598ec717f  use a function pointer for ProcessRows()
3516f7ae5e37 cosmetics: join line
3517140b89a3 factor out buffer alloc in AllocateARGBBuffers()
3518a107dfa8 Rectify WebPParseOptionalChunks().
3519237eab67 Add two more color-spaces for lossless decoding.
352027f417ab fix orthographic typo
3521489ec335 add VP8LEncodeStream() to compress lossless image stream
3522fa8bc3db make WebPEncodingSetError() take a const picture
3523638528cd bitstream update for lossy alpha compression
3524d73e63a7 add DequantizeLevels() placeholder
3525ec122e09 remove arch-dependent rand()
3526d40e7653 fix alignment
35271dd6a8b6 Merge "remove tcoder, switch alpha-plane compression to lossless"
35283e863dda remove tcoder, switch alpha-plane compression to lossless
35298d77dc29 Add support for lossless in mux:
3530831bd131 Make tile size a function of encoding method.
3531778c5228 Merge "remove some variable shadowing"
3532817c9dce Few more HuffmanTreeToken conversions.
353337a77a6b remove some variable shadowing
353489c07c96 Merge "normalize example header includes"
35354aff411f Merge "add example_util.[hc]"
353600b29e28 normalize example header includes
3537061263a7 add example_util.[hc]
3538c6882c49 merge all tree processing into a single VP8LProcessTree()
35399c7a3cf5 fix VP8LHistogramNumCodes to handle the case palette_code_bits == 0
3540b5551d2e Merge "Added HuffmanTreeCode Struct for tree codes."
35418b85d01c Added HuffmanTreeCode Struct for tree codes.
3542093f76d8 Merge "Allocate single memory in GetHuffBitLengthsAndCodes."
354341d80494 Allocate single memory in GetHuffBitLengthsAndCodes.
35441b04f6d2 Correct size in VP8L header.
35452924a5ae Makefile.vc: split object lists based on directory
3546c8f24165 Merge "add assert(tokens)"
354743239947 add assert(tokens)
35489f547450 Catch an error in DecodeImageData().
3549ac8e5e42 minor typo and style fix
35509f566d1d clean-up around Huffman-encode
3551c579a710 Introduce CHUNK_SIZE_BYTES in muxi.h.
355214757f8a Make sure huffman trees always have valid symbols
355341050618 makefile.unix: add support for building vwebp
355448b37721 Merge "fixed signed/unsigned comparison warning"
355557f696da Merge "EncodeImageInternal: fix potential leak"
3556d972cdf2 EncodeImageInternal: fix potential leak
35575cd12c3d fixed signed/unsigned comparison warning
3558cdca30d0 Merge "cosmetics: shorten long line"
3559e025fb55 cosmetics: shorten long line
356022671ed6 Merge "enc/vp8l: fix double free on error"
3561e1b9b052 Merge "cosmetics: VP8LCreateHuffmanTree: fix indent"
3562a8e725f8 enc/vp8l: fix double free on error
356327541fbd cosmetics: VP8LCreateHuffmanTree: fix indent
35641d38b258 cwebp/windows: use MAKE_REFGUID where appropriate
3565817ef6e9 Merge "cwebp: fix WIC/Microsoft SDK compatibility issue"
3566902d3e3b cwebp: fix WIC/Microsoft SDK compatibility issue
356789d803c4 Merge "Fix a crash due to wrong pointer-integer arithmetic."
3568cb1bd741 Merge "Fix a crash in lossless decoder."
3569de2fe202 Merge "Some cleanup in VP8LCreateHuffmanTree() (and related functions CompareHuffmanTrees() and SetBitDepths()): - Move 'tree_size' initialization and malloc for 'tree + tree_pool'   outside the loop. - Some renames/tweaks for readability."
3570ce69177a Fix a crash due to wrong pointer-integer arithmetic.
3571e40a3684 Fix a crash in lossless decoder.
35723927ff3a remove unneeded error condition for WebPMuxNumNamedElements()
35732c140e11 Some cleanup in VP8LCreateHuffmanTree() (and related functions CompareHuffmanTrees() and SetBitDepths()): - Move 'tree_size' initialization and malloc for 'tree + tree_pool'   outside the loop. - Some renames/tweaks for readability.
3574861a5b7b add support for animation
3575eb5c16cc Merge "Set correct encode size in encoder's stats."
35764abe04a2 fix the return value and handle missing input file case.
35772fafb855 Set correct encode size in encoder's stats.
3578e7167a2b Provide one entry point for backward references.
3579c4ccab64 Print relevant lossless encoding stats in cwebp.
3580e3302cfd GetHuffBitLengthsAndCodes: reduce level of indirection
3581b5f2a9ed enc/vp8l: fix uninitialized variable warning
35827885f8b2 makefile.unix: add lossless encoder files
35831261a4c8 Merge "cosmetics"
35843926b5be Merge "dsp/cpu.c: Android: fix crash on non-neon arm builds"
3585834f937f dsp/cpu.c: Android: fix crash on non-neon arm builds
3586126e1606 cosmetics
3587e38602d2 Merge branch 'lossless_encoder'
3588e8d3d6a0 split StoreHuffmanCode() into smaller functions
3589d0d88990 more consolidation: introduce VP8LHistogramSet
35901a210ef1 big code clean-up and refactoring and optimization
359141b5c8ff Some cosmetics in histogram.c
3592ada6ff77 Approximate FastLog between value range [256, 8192]
3593ec123ca3 Forgot to update out_bit_costs to symbol_bit_costs at one instance.
3594cf33ccd1 Evaluate output cluster's bit_costs once in HistogramRefine.
3595781c01f4 Simple Huffman code changes.
3596a2849bc5 Lossless decoder: remove an unneeded param in ReadHuffmanCodeLengths().
3597b39e7487 Reducing emerging palette size from 11 to 9 bits.
3598bfc73db4 Move GetHistImageSymbols to histogram.c
3599889a5786 Improve predict vs no-predict heuristic.
360001f50663 code-moving and clean-up
360131035f3b reduce memory usage by allocating only one histo
3602fbb501b8 Restrict histo_bits to ensure histo_image size is under 32MB
36038415ddf3 further simplification for the meta-Huffman coding
3604e4917299 A quick pass of cleanup in backward reference code
360583332b3c Make transform bits a function of encode method (-m).
360672920caa introduce -lossless option, protected by USE_LOSSLESS_ENCODER
3607c6ac4dfb Run TraceBackwards for higher qualities.
3608412222c8 Make histo_bits and transform_bits function of quality.
3609149b5098 Update lossless encoder strategy:
36100e6fa065 cache_bits passed to EncodeImageInternal()
3611e38b40a9 Factorize code for clearing HtreeGroup.
36126f4a16ea Removing the indirection of meta-huffman tables.
36133d33ecd1 Some renaming/comments related to palette in lossless encoder.
36144d02d586 Lossless encoder: correction in Palette storage
36154a636235 fix a memleak in EncodeImageInternal()
36160993a611 Full and final fix for prediction transform
3617afd2102f Fix cross-color transform in lossless encoder
3618b96d8740 Need to write a '0' bit at the end of transforms.
361954dad7e5 Color cache size should be counted as 0 when cache bits = 0
36204f0c5caf Fix prediction transform in lossless encoder.
362136dabdad Fix memory leak in method EncodeImageInternal for histogram_image.
3622352a4f49 Get rid of PackLiteralBitLengths()
3623d673b6b9 Change the predictor function to pass left pixel
3624b2f99465 Fix CopyTileWithPrediction()
362584547f54 Add EncodeImageInternal() method.
36266b38378a Guard the lossless encoder (in flux) under a flag
362709f7532c Fix few nits (const qualifiers)
3628648be393 Added implementation for various lossless functions
362932714ce3 Add VP8L prefix to backward ref & histogram methods.
3630fcba7be2 Fixed header file tag (WEBP_UTILS_HUFFMAN_ENCODE_H_)
3631bc703746 Add backward_ref, histogram & huffman encode modules from lossless.
3632fdccaadd Fixing nits
3633227110c4 libwebp interface changes for lossless encoding.
363450679acf minor style fixes
3635b38dfccf remove unneeded reference to NUM_LITERAL_CODES
36368979675b harmonize header description
3637c04eb7be tcoder.c: define NOT_HAVE_LOG2 for MSVC builds
36389a214fa1 Merge "VP8[L]GetInfo: check input pointers"
36395c5be8ba VP8[L]GetInfo: check input pointers
36400c188fec Merge changes I431acdfe,I713659b7
3641b3515c62 mux: drop 'chunk' from ChunkInfo member names
3642aea7923c muxi.h: remove some unused defines
364301422492 update NEWS file for next release
364429e3f7ec Merge "dec: remove deprecated WebPINew()"
36454718e449 Merge "muxedit: a few more size_t changes"
364682654f96 Merge "muxedit: remove a few redundant NULL checks"
364702f27fbd dec: remove deprecated WebPINew()
3648ccddb3fc muxedit: remove a few redundant NULL checks
3649a6cdf710 muxedit: a few more size_t changes
3650a3846892 Merge "mux: remove unused LIST_ID"
365111ae46ae alpha.c: quiet some size_t -> int conversion warnings
3652dee46692 mux: remove unused LIST_ID
365303f1f493 mux: add version checked entry points
36546a0abdaa Merge "doc: tile/alpha corrections"
3655c8139fbe Merge "few cosmetics"
365668338737 Merge "lossless: remove some size_t -> int conversions"
36575249e94a doc: tile/alpha corrections
3658d96e722b huffman: quiet int64 -> int conversion warning
3659532020f2 lossless: remove some size_t -> int conversions
366023be6edf few cosmetics
36611349edad Merge "configure: AC_ARG_* use AS_HELP_STRING"
3662bfbcc60a configure: AC_ARG_* use AS_HELP_STRING
36631427ca8e Merge "Makefile.am: header file maintenance"
3664087332e3 Merge "remove unused parameter 'round' from CalcProba()"
36659630e168 remove unused parameter 'round' from CalcProba()
366692092eaa Merge "bit_reader.h: correct include"
3667a87fc3f6 Merge "mux: ensure # images = # tiles"
366853af99b1 Merge "mux: use size_t consistently"
366939a57dae Makefile.am: header file maintenance
36701bd0bd0d bit_reader.h: correct include
3671326a3c6b mux: ensure # images = # tiles
367295667b8d mux: use size_t consistently
3673231ec1fb Removing the indirection of meta-huffman tables.
367415ebcbaa check return pointer from MuxImageGetListFromId
3675b0d6c4a7 Merge "configure: remove test for zlib.h"
36768cccac50 Merge "dsp/lossless: silence some build warnings"
3677b08819a6 dsp/lossless: silence some build warnings
36787ae22521 Android.mk: SSE2 & NEON updates
36790a49e3f3 Merge "makefile.unix add missing header files"
36802e75a9a1 Merge "decode.h: use size_t consistently"
3681fa13035e configure: remove test for zlib.h
3682d3adc81d makefile.unix add missing header files
3683262fe01b Merge "makefile.unix & Android.mk: cosmetics"
36844cce137e Merge "enc_sse2 add missing stdlib.h include"
368580256b85 enc_sse2 add missing stdlib.h include
36869b3d1f3a decode.h: use size_t consistently
368764083d3c Merge "Makefile.am: cosmetics"
3688dceb8b4d Merge changes If1331d3c,I86fe3847
36890e33d7bf Merge "webp/decode.h: fix prototypes"
3690fac0f12e rename BitReader to VP8LBitReader
3691fbd82b5a types.h: centralize use of stddef.h
36922154835f Makefile.am: cosmetics
36931c92bd37 vp8io: use size_t for buffer size
369490ead710 fix some more uint32_t -> size_t typing
3695cbe705c7 webp/decode.h: fix prototypes
36963f8ec1c2 makefile.unix & Android.mk: cosmetics
3697217ec7f4 Remove tabs in configure.ac
3698b3d35fc1 Merge "Android.mk & Makefile.vc: add new files"
36990df04b9e Android.mk & Makefile.vc: add new files
3700e4f20c5b Merge "automake: replace 'silent-rules' w/AM_SILENT_RULES"
37018d254a09 cosmetics
37026860c2ea fix some uint32_t -> size_t typing
37034af1858a Fix a crash due to max symbol in a tree >= alphabet size
37046f01b830 split the VP8 and VP8L decoding properly
3705f2623dbe enable lossless decoder
3706b96efd7d add dec/vp8i.h changes from experimental
370719f6398e add dec/vp8l{i.h,.c} from experimental
3708c4ae53c8 add utils/bit_reader.[hc] changes from experimental
3709514d0089 add dsp/lossless.[hc] from experimental
37109c67291d add utils/huffman.[hc] from experimental
3711337914a0 add utils/color_cache.[hc] from experimental
3712b3bf8fe7 the read-overflow code-path wasn't reporting as an error
37131db888ba take colorspace into account when cropping
371461c2d51f move the rescaling code into its own file and make enc/ and dec/ use it.
3715efc2016a Make rescaler methods generic
37163eacee81 Move rescaler methods out of io.c.
3717a69b893d automake: replace 'silent-rules' w/AM_SILENT_RULES
37186f7bf645 issue 111: fix little-endian problem in bit-reader
3719ed278e22 Removed unnecessary lookup
3720cd8c3ba7 fix some warnings: down-cast and possibly-uninitialized variable
37210a7102ba ~1% improvement of alpha compression
37223bc1b141 Merge "Reformat container doc"
3723dc17abdc mux: cosmetics
3724cb5810df Merge "WebPMuxGetImage: allow image param to be NULL"
3725506a4af2 mux: cosmetics
3726135e8b19 WebPMuxGetImage: allow image param to be NULL
3727de556b68 Merge "README.mux: reword some descriptions"
37280ee2aeb9 Makefile.vc: use batch mode rules
3729d9acddc0 msvc: move {i,p}db creation to object directory
3730237c9aa7 Merge "expose WebPFree function for DLL builds"
3731b3e4054f silence msvc debug build warning
373245feb55d expose WebPFree function for DLL builds
373311316d84 README.mux: reword some descriptions
37344be52f4a factorize WebPMuxValidate
373514f6b9f6 mux: light cleanup
37365e96a5db add more param checks to WebPPictureDistortion()
37378abaf820 Merge "silence some type size related warnings"
37381601a39b silence some type size related warnings
3739f3abe520 Merge "idec: simplify buffer size calculation"
3740a9c5cd4c idec: simplify buffer size calculation
37417b06bd7f Merge "configure/automake: add silent-rules option"
3742e9a7d145 Reformat container doc
3743d4e5c7f3 configure/automake: add silent-rules option
37445081db78 configure/automake: no -version-info for convenience libs
374585b6ff68 Merge "idec: fix WebPIUpdate failure"
37467bb6a9cc idec: fix internal state corruption
374789cd1bb8 idec: fix WebPIUpdate failure
374801b63806 4-5% faster decoding, optimized byte loads in arithmetic decoder.
3749631117ea Merge "cosmetics & warnings"
3750a0b2736d cosmetics & warnings
3751f73947f4 use 32bit for storing dequant coeffs, instead of 16b.
3752b9600308 Merge "store prediction mode array as uint8_t[16], not int[16]."
37537b67881a store prediction mode array as uint8_t[16], not int[16].
3754cab8d4dc Merge "NEON TransformOne"
3755ba503fda NEON TransformOne
37569f740e3b Merge "gcc warning fix: remove the 'const' qualifier."
3757f76d3587 gcc warning fix: remove the 'const' qualifier.
3758e78478d6 Merge "webpmux: make more use of WebPData"
3759f85bba3d Merge "manpages: add BUGS section"
376048a43bbf Merge "makefile.unix: variable cosmetics"
3761c274dc96 makefile.unix: variable cosmetics
37621f7b8595 re-organize the error-handling in the main loop a bit
37631336fa71 Only recompute level_cost_[] when needed
3764771ee449 manpages: add BUGS section
37650f7820e6 webpmux: make more use of WebPData
3766974aaff3 examples: logging updates
37676c14aadd Merge "better token buffer code"
3768f4054250 better token buffer code
376918d959fa Merge "mux: add WebPData type"
3770eec4b877 mux: add WebPData type
37710de3096b use 16bit counters for recording proba counts
37727f23678d fix for LevelCost + little speed-up
37737107d544 further speed-up/cleanup of RecordCoeffs() and GetResidualCost()
3774fd221040 Introduce Token buffer (unused for now)
37755fa148f4 Merge "speed-up GetResidualCost()"
377628a9d9b4 speed-up GetResidualCost()
377711e7dadd Merge "misc cosmetics"
3778378086bd misc cosmetics
3779d61479f9 add -print_psnr and -print_ssim options to cwebp.
37802e3e8b2e add a WebPCleanupTransparentArea() method
3781552c1217 Merge "mux: plug some memory leaks on error"
3782a2a81f7d Merge "fix Mach-O shared library build"
3783b3482c43 Merge "fix gcc-4.0 apple 32-bit build"
3784e4e3ec19 fix gcc-4.0 apple 32-bit build
3785b0d2fecf mux: plug some memory leaks on error
3786f0d2c7a7 pass of cosmetics
3787b309a6f9 fix Mach-O shared library build
3788241ddd38 doc: delete mux container pdf
37898b1ba272 doc: update VP8 decode guide link
37907e4371c5 WebPMuxCreate: fix unchecked malloc
3791eb425586 Merge "have makefile.unix clean up src/webp/*~ too"
3792a85c3631 Merge "correct EncodeAlpha documentation"
3793a33842fd Merge "Update webp container spec with alpha filter options."
37948d6490da Incremental support for some of the mux APIs.
3795b8375abd have makefile.unix clean up src/webp/*~ too
3796b5855fc7 correct EncodeAlpha documentation
3797dba37fea Update webp container spec with alpha filter options.
37982e74ec8b fix compile under MINGW
3799716d1d7f fix suboptimal MAX_LEN cut-off limit
380057cab7b8 Harmonize the alpha-filter predictions at boundary
38013a989534 Merge "Fix bug for Alpha in RGBA_4444 color-mode."
38028ca2076d Introduce a 'fast' alpha mode
3803221a06bb Fix bug for Alpha in RGBA_4444 color-mode.
3804ad1e163a cosmetics: normalize copyright headers
3805c77424d7 cosmetics: light include cleanup
38069d0e17c9 fix msvc build breakage after 252028a
38077c4c177c Some readability fixes for mux library
3808d8a47e66 Merge "Add predictive filtering option for Alpha."
3809252028aa Add predictive filtering option for Alpha.
38109b69be1c Merge "Simplify mux library code"
3811a056170e Simplify mux library code
3812992187a3 improve log2 test
3813e852f832 update Android.mk file list
3814a90cb2be reduce number of copies and mallocs in alpha plane enc/dec
3815b1662b05 fix some more type conversion warnings w/MSVC
3816223d8c60 fix some uint64_t -> int conversion warnings with MSC
3817c1a0437b Merge "simplify checks for enabling SSE2 code"
3818f06817aa simplify checks for enabling SSE2 code
3819948d4fe9 silence a msvc build warning
382091179549 vwebp: msvc build tweaks
38217937b409 simple WebP viewer, based on OpenGL
38226aac1df1 add a bunch of missing 'extern "C"'
3823421eb99d Merge "Remove assigned-but-not-used variable "br""
382491e27f45 better fitting names for upsampling functions
3825a5d7ed5c Remove assigned-but-not-used variable "br"
3826f62d2c94 remove unused 'has_alpha' from VP8GetInfo() signature
382708e86582 trap alpha-decoding error
3828b361eca1 add cut-off to arith coder probability update.
38298666a93a Some bug-fixes for images with alpha.
3830273a12a0 fix off-by-1 diff in case cropping and simple filtering
38312f741d1e webpmux: ReadImage: fix ptr free in error case
3832721f3f48 fix alpha decode
383360942c8c fix the has_alpha_ order
383430971c9e Implement progress report (and user abort)
3835eda520a9 cosmetics after 9523f2a
383638bd5bb5 Merge "Better alpha support in webpmux binary"
3837ccbaebfe Merge "Updated the includes to relative paths."
3838d71fbdcc fix small typo in error message array
3839cdf97aa2 Better alpha support in webpmux binary
3840885f25bc Updated the includes to relative paths.
3841a0ec9aac Update WebP encoder (cwebp) to support Alpha.
3842667b769a Fixed the include for types.h within mux.h
38439523f2a5 Add Alpha Encode support from WebPEncode.
384416612ddd Merge "Add Alpha Decode support from WebPDecode."
3845d117a940 Add Alpha Decode support from WebPDecode.
384667228734 cosmetics after e1947a9
3847e1947a92 Add Alpha encode/decode code.
3848afc4c5d6 simplify code by introducing a CopyPlane() helper func
3849113b3128 Merge "MUX API Updates"
3850c398f595 MUX API Updates
38515acf04ef remove orphan source file
3852059f03ef Merge "dec: validate colorspace before using as array index"
385370a03989 Merge "factorize some code"
38549b243b3d factorize some code
3855372e2b46 Correct a bug in ReadPNG() with GRAY_ALPHA images
3856469d6eb9 Merge "Makefile.am: remove redundant noinst_HEADERS"
38579fe3372f dec: validate colorspace before using as array index
38588962030f remove orphan source file
3859ced3e3f4 Makefile.am: remove redundant noinst_HEADERS
3860964387ed use WEBP_INLINE for inline function declarations
386190880a11 Merge "manpages: break long lines"
3862b5910895 Merge "manpages: minor formatting updates"
38634c451e4a Merge "Rectify the Chunk parsing logic."
386404e84cf1 examples: slight cleanup
3865099717ce manpages: break long lines
38661daf39bb manpages: minor formatting updates
3867abd030b5 fix missing "(void)" in function signature
3868f6a7d758 remove useless test
3869f07b2138 Rectify the Chunk parsing logic.
3870b8634f7d webpmux: fix lib link order
387142c2e682 Fix missing coma (on uncompiled code)
3872d8329d41 Android.mk: add missing source files
387313a54df5 Merge "More aggressive copy-edit; add TODO; validate HTML5"
3874868b96ae More aggressive copy-edit; add TODO; validate HTML5
3875767afea2 configure: check for a symbol contained in libpng
3876408b8918 Merge "Linewrap at 72 cols. Casual copy-edit."
38773ae318c7 Merge "Restore (most) emphasis; add emphasis to normative RFC 2119 terms (MUST, etc.)"
3878918eb2d8 Merge "Basic container doc source clean-up; fix lists and pseudocode blocks."
387903bec9e0 Linewrap at 72 cols. Casual copy-edit.
38802678d819 Restore (most) emphasis; add emphasis to normative RFC 2119 terms (MUST, etc.)
3881428674da Basic container doc source clean-up; fix lists and pseudocode blocks.
38826a77d928 Merge "Makefile.vc: cosmetics"
388328c38e8c Merge "Makefile.vc: condense directory creation rules"
388455be2cf8 Initial import of container spec document, from pdftotext transform.
3885a82a788b Makefile.vc: cosmetics
3886c8f41ce5 Makefile.vc: condense directory creation rules
38872b877cd0 Some fixes to Makefile.vc to support the src\mux directory.
38883eb969b3 Merge "Add Makefile.vc for Mux library & binary."
3889e78e971e Add Makefile.vc for Mux library & binary.
38906aedde58 Add manual for WebPMux tool.
38918a360d0a Merge "Added WebPMux Binary."
3892a4f32cae Added WebPMux Binary.
3893f3bf4c76 Added Mux Container Spec & README for MUX-API.
38949f761cfa Changed function signature for WebPMuxCreate
38955f31b5ec Merge "Add Mux library for manipulating WebP container."
38962315785f Add Mux library for manipulating WebP container.
38977e198abb update ChangeLog (tag: v0.1.3)
3898dfc9c1ea Harmonize the dates
389928ad70c5 Fix PNG decoding bug
3900846e93c5 Update AUTHORS & add .mailmap
3901563e52d6 cosmetics after '76036f5 Refactor decoder library'
390276036f54 Refactor decoder library
3903377ef43c configure.ac: update AC_INIT params
39047a8d8762 use a user-visible MACRO for max width/height.
3905d4e9f559 NEON decode support in WebP
39060ee683b5 update libtool version-info
3907fdbe02c5 windows: match _cond_destroy logic w/return variable name
3908206b686b README: correct advanced decode api pseudo-code
39096a32a0f5 make VP8BitReader a typedef, for better re-use
3910b112e836 create a libwebputils under src/utils
3911ee697d9f harmonize the include guards and #endif comments
3912a1ec07a6 Fixing compiler error in non x86 arch.
3913dcfa509a Fixed recursive inclusion of bit_writer.h and vp8enci.h.
3914e06ac088 create a separate libwebpdsp under src/dsp
3915ebeb412a use unsigned int for bitfields
3916341cc56a make kNewRange a static array
3917227a91e5 README: minor wording update
391805bd8e6a add man pages to dist
3919812dfa1a bump up versions in preparations for 0.1.3
3920a5b78c81 wrap alpha-related options under WEBP_EXPERIMENTAL_FEATURES flag
392134dc7907 regen ChangeLog for 0.1.3-rc2
39227c436630 Silence some (more) Visual Studio warnings.
392360306e8c add top-level gitattributes
39242aa6b80e Slience some Visual Studio warnings.
39254cbbb290 Merge "bump up version for next freeze"
3926a3291674 bump up version for next freeze
3927c7e86aba cosmetics: fix comment line lengths
3928c9e037ab makefile.unix: add simple dist target
392987d58ce9 makefile.unix: rule maintenance
3930d477de77 mend
3931fac15ec7 Update NEWS & README for next release V0.1.3
39326215595c Merge "add a -partition_limit option to limit the number of bits used by intra4x4"
39333814b76c Merge "reorganize chunk-parsing code"
3934900286e0 add a -partition_limit option to limit the number of bits used by intra4x4
3935cd12b4b0 add the missing cost for I4/I16 mode selection
3936dfcc2136 reorganize chunk-parsing code
39373cf20306 initialize pointers to function within VP8DspInit()
3938d21b4795 Merge "windows: add decode threading support"
3939473ae953 fix hang on thread creation failure
3940fccca420 windows: add decode threading support
3941a31f843a Use the exact PNG_INCLUDES/PNG_LIBS when testing for -lpng
3942ad9b45f1 Merge "Makefile.vc: rule maintenance"
3943565a2cab Makefile.vc: rule maintenance
39442d0da681 makefile.unix: disable Wvla by default
3945fc7815d6 multi-thread decoding: ~25-30% faster
3946acd8ba42 io->teardown() was not always called upon error
3947c85527b1 Merge "Makefile.vc: add DLL configs"
3948e1e9be35 cosmetics: spelling/grammar in README and lib headers
3949b4d0ef8f Makefile.vc: add DLL configs
3950998754a7 remove unused nb_i4_ and nb_i16_ fields.
39519f01ce3a rename WebPDecBuffer::memory -> private_memory
3952fb5d659b fix an overflow bug in LUT calculation
3953d646d5c7 swig: add WebPDecodeARGB
395478aeed40 add missing WebPDecodeARGBInto() and switch ARGB4444 to RGBA4444 as was intended
3955cd7c5292 explicitly mark library functions as extern
395619db59f8 add support for RGB565, ARGB4444 and ARGB colorspace (decoder)
3957c915fb2a encoder speed-up: hardcode special level values
3958c558bdad Rename and improve the API to retrieve decoded area
3959bf599d74 Merge "makefile.unix: disable -Wvla by default"
3960c9ea03d7 SSE2 version of strong filtering
3961993af3e2 makefile.unix: disable -Wvla by default
39623827e1bc Merge "examples: (windows/WIC) add alpha support"
3963e291fae0 SSE2 functions for the fancy upsampler.
3964a06bbe2e add WebPISetIOHooks() to set some custom hooks on the incremental decoder object.
39657643a6f2 Merge "makefile.unix: use uname to detect OSX environment"
39665142a0be export alpha channel (if present) when dumping to PGM format
396714d5731c makefile.unix: use uname to detect OSX environment
396808057062 examples: quiet warnings
39693cfe0888 examples: (windows/WIC) add alpha support
397013ed94b8 add compile warning for variable-length-array
39715a18eb1a Merge "add Advanced Decoding Interface"
39725c4f27f9 add missing \n
3973f4c4e416 80 cols fix
3974d2603105 add Advanced Decoding Interface
3975bd2f65f6 sse2 version of the complex filter
397696ed9ce0 perform two idct transforms at a time when possible
397701af7b69 use aligned stored
39780e1d1fdf Merge "Makefile.vc: add experimental target"
39792a1292a6 Makefile.vc: add experimental target
398023bf351e Enable decode SSE2 for Visual Studio
3981131a4b7b dec/dsp_sse2: fix visual studio compile
398200d9d680 swig: file reorganization
39837fc7e0d9 Merge "swig/java: basic encode support"
39843be57b16 fix MSVC compile for WEBP_EXPERIMENTAL_FEATURES
398540a7e347 dec/dsp: disable sse2 for Visual Studio builds
3986e4d540c8 add SSE2 code for transform
398754f2170a swig/java: basic encode support
3988c5d4584b call function pointers instead of C-version
3989ea43f045 Merge "configure: mingw32 targets: test for WIC support"
3990a11009d7 SSE2 version of simple in-loop filtering
399142548da9 shave one unneeded filter-cache line
399231f9dc6f configure: mingw32 targets: test for WIC support
399319559699 Merge "split expression in two."
3994415dbe46 split expression in two.
3995e29072a8 configure: test for zlib only w/--enable-experimental
3996b2b0090b Simplify Visual Studio ifdefs
3997ca7a2fd6 Add error reporting from encoding failures.
39986c9405db Merge "Makefile.vc: require CFG with clean target"
39990424ecd9 Makefile.vc: require CFG with clean target
4000003417c7 Enable SSE2 for Visual Studio builds
4001af10db4a little speed up for VP8BitUpdate()
4002e71418f8 more MSVC files to ignore
400346d90363 cosmetics
4004edf59ab3 typo fix
400572229f5f Add support for x64 and SSE2 builds under Windows.
400692e5c6e1 VP8GetInfo() + WebPResetDecParams()
4007416b7a6b raise the fixed-point precision for the rescaler
4008aa87e4e0 fix alignment
4009eb66670c disable WEBP_EXPERIMENTAL_FEATURES
4010c5ae7f65 typo fix: USE_ => WEBP_
4011d041efae swig: add libwebp.jar/libwebp_java_wrap.c
4012f6fb3877 add swig interface
4013e9273902 align buffer for double too
4014842c009b fix -strong option
4015d0a70387 Merge "cosmetics"
4016fc0a02e5 fix the dichotomy loop
401738369c03 cosmetics
40188dfc4c6f factorize and unify GetAlpha() between the C and SSE2 version
40196d0e66c2 prepare experimentation with yuv444 / 422
402079cc49f5 add a --enable-experimental option to './configure'
4021d7575238 sse2 version of CollectHistogram()
4022c1c728d6 add an extra #ifdef WEBP_EXPERIMENTAL_FEATURES to avoid 'unused variable' warning
402360c61d2d always call VP*EncDeleteAlpha() unconditionnally, for simplicity
40240f8c6384 simply don't call WriteExtensions() if WEBP_EXPERIMENTAL_FEATURES is not defined
402547c661d5 rename swap -> swap_rb
402610d55bbb move chunk[] declaration out of the for() loop
4027517cec21 fix indentation
4028f7d9e261 fix merge problems
40298fd42b3a add a stride 'a_stride' for the alpha plane
4030b8dcbf2f fix alpha-plane copy and crop methods
4031cdef89de fix some 'unused variable' warning
4032fb29c262 SSE2 version of the fwd transform and the squared sum metric
40332ab4b72f EXPERIMENTAL: add support for alpha channel
4034cfbf88a6 add SSE2 functions. ~2x faster encoding on average.
4035e7ff3f9a merge two ITransforms together when applicable and change the TTransform to return the sum directly.
4036ca554137 fix WebPIDecGetRGB() to accept any RGB(A) mode, not just MODE_RGB
40378aa50efd fix some 'man' typos
4038d3f3bdda update ChangeLog (tag: v0.1.2)
4039d7e9a69c update contributor list
4040261abb8e add a 'superclean' section
4041276ae825 Remove files not mean to be in git, and update .gitignore
404224868455 build: prepare libwebp.pc
404314ceb6e8 add "-version" description to man pages
4044b247a3b2 Create the m4 directory, and also place .gitignore in there for libtool.
4045cdd734c9 Resolve automake warnings
4046c5fa726e build: add pkgconfig files
4047b20aaca2 build: just use autoreconf, avoid calling tools manually
40484b0b0d66 cwebp: use modern functions
4049efbc6c41 update Android.mk
40507777570b better version of ChangeLog
4051fa70d2b7 update version number in the DOC
4052f8db5d5d more C89-fixes
40530de013b3 fix typos
4054650ffa3b add version getters for decoder and encoder
4055be4867d2 doc for incremental decoding
405656732a1b add idec.obj in MSVC makefile
4057208afb5e add c++ guards
40588bf76fe0 add incremental decoding
40591f288328 'inline' isn't defined in strict ansi c89
40608b77c632 move the quantization function to dsp.c
4061b2c3575c add a 'last_y' field to WebPDecParams
40622654c3da correctly pass along the exact same status returned from ParsePartitions
40634704146a add missing precision in the man
40646d978a6c add error messages
40656463e6ab add some install instructions, and fix intel-mac flags
406605fb7bfc Merge ".gitignore: initial version"
4067c33f0195 .gitignore: initial version
4068e532b9ab Makefile: allow out of tree builds
40694c0da7aa enable sparse dc/ac transforms
407007dbb8d5 clarify the return logic
40715c69e1bb fix bigger-by-1 array
40727c5267e3 fix a (harmless) typo: non_zero_ -> non_zero_ac_
4073bc752135 fix missing free()
4074af3e2aaa remove trailing spaces
407513e50da6 make the bitreader preload at least 8bits, instead of post-load them (this makes initialization easier and will be helpful for incremental decoding). Modify ParsePartitions() to accommodate for truncated input.
4076f4888f77 emit 9 - nb_bits trailing zeros instead of 8
40773db65255 separate block-parsing into a visible VP8DecodeMB()
4078a871de02 add missing extern "C"
4079b3ce8c52 remove a gcc warning about type pun by using a proper union'd type
4080e1863715 update after addition of webpi.h
40813e856e2d Extract some useful functions around decoding buffer WebPDecParams.
4082d5bc05a4 make the filtering process match libvpx and ffvp8
4083dd60138d add man pages for cwebp(1) and dwebp(1)
4084c4fa3644 fix header
40855b70b378 * add an option to bypass_filtering in VP8Io.
4086b97a4003 simplify QuantizeBlock code a bit
408784b58ebb add more checks around picture allocation
4088b65a3e10     remove absolute_delta_ field and syntax code
40890744e842 Dont' open output file until we're sure the input file is valid
4090d5bd54c7 fix typo and buggy line
4091f7a9549d Add a simple top-level makefile.unix for quick & easy build.
40925f36b944 update the doc for the -f option
4093f61d14aa a WebP encoder converts PNG & JPEG to WebP
409481c96621 oops: forgotten call to Initialize() + move the error message to a more useful place
409587ffa005 typo: fix a missing 'R', was confusing.
4096b04b857a * add decoding measurement using stopwatch.h (use -v option) * support PNG output through WIC on Win32
4097746a4820 * make (*put)() hook return a bool for abort request. * add an enum for VP8Status() to make things clearer
409873c973e6 * strengthen riff/chunk size checks * don't consider odd-sized chunks being an error
40991dc4611a add support for PNG output (default) regularize include guards
4100860641df fix a typo: sizeof(kYModeProbaInter0) => sizeof(kUVModeProbaInter0)
41013254fc52 fix some petty constness fix the ./configure file too
4102504d3393 fix eof_ mis-initialization
41032bc0778f leftover Makefile.* from previous commit
4104d2cf04e4 move Makefile.am one level below, to src/dec fix typos here and there dwebp is now an installed program
4105ade92de8 typo: vp8.h -> decode_vp8.h
4106d7241241 forgot to declare types.h to be installed
41076421a7a4 move the decoder sourcetree to a sub-location src/dec to make room for future libs sources
4108a9b3eab6 correct layout name is IMC4.
41092330522c handle corner case of zero-dimensions
4110280c3658 make VP8Init() handle short buffers (< 2 bytes) correctly
4111b1c9e8b4 handle error cases more robustly
41120e94935c Merge "table-less version of clip_8b()"
41131e0a2d25 table-less version of clip_8b()
4114e12109ee dwebp: change -yuv option to -raw change the layout to IMC2
4115d72180a4 speed-up fancy upscaler
41169145f3bc reset eof_ at construction time
4117a7ee0559 simplify the logic of GetCoeffs()
4118f67b5939 lot of cosmetics
4119ea27d7c6 fix endian problem on PowerPC
4120beb0a1ba fix signature of VP8StoreBlock
4121b128c5e2 Merge "fancy chroma upscaling"
41226a37a2aa fancy chroma upscaling
4123ff565edc fix two numeric typos
41245a936a0a use uintptr_t for casting pointers to ints
4125e14a0301 for cross_compiling=yes to prevent executing any binary
412683b545ee add vc9+ makefile
4127296f6914 fix output loop for small height
4128cbfbb5c3 convert to plain-C
4129f09f96ee Fix declaration after statement warning
41305981ee55 Fix UV plane ac/dc quantizer transposition
4131c8d15efa convert to ANSI-C
4132c3f41cb4 Initial commit
4133