forked from webmproject/libwebp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
3484 lines (3484 loc) · 182 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
20a7fea0 extras/Makefile.am: fix libwebpextras.la reference
415f3ffe update ChangeLog (tag: v0.6.0-rc3)
3c6d1224 update NEWS
ee4a4141 update AUTHORS
32ed856f Fix "all|no frames are keyframes" settings.
f4dc56fd disable GradientUnfilter_NEON
0d8e0588 img2webp: treat -loop as a no-op w/single images
b0450139 ReadImage(): restore size reporting
0ad3b4ef update ChangeLog (tag: v0.6.0-rc2)
6451709e img2webp,get_disto: fix image decode w/WIC builds
92504d21 get_disto: make ReadPicture() return a bool
c3e4b3a9 update NEWS
3363eb6d man/img2webp.1: fix formatting warning
4d1312f2 update NEWS
36c42ea4 bump version to 0.6.0
bb498a51 update AUTHORS
84cef16f Makefile.vc: fix CFG=debug-dynamic build
919f9e2f Merge "add .rc files for windows dll versioning"
f1ae8af4 Merge ".gitignore: add img2webp"
4689ce16 cwebp: add a -sharp_yuv option for 'sharp' RGB->YUV conversion
79bf46f1 rename the pretentious SmartYUV into SharpYUV
eb1dc89a silently expose use_delta_palette in the WebPConfig API
c85b0dde .gitignore: add img2webp
43d3f01a add .rc files for windows dll versioning
668e1dd4 src/{dec,enc,utils}: give filenames a unique suffix
0e6b7f33 Merge "iosbuild.sh: only add required headers to framework"
29ed6f9a iosbuild.sh: only add required headers to framework
71c53f1a NEON: speed-up strong filtering
73f567ea Merge "get_disto: remove redundant reader check"
9e14276f Merge "makefiles: prune get_disto & webp_quality deps"
99965bac Merge "Makefile.vc: add get_disto.exe, webp_quality.exe"
d4912238 get_disto: remove redundant reader check
ea482409 makefiles: prune get_disto & webp_quality deps
2ede5a19 Makefile.vc: add get_disto.exe, webp_quality.exe
a345068a ARM: speed up bitreader by avoiding tables
1dc82a6b Merge "introduce a generic GetCoeffs() function pointer"
8074b89e introduce a generic GetCoeffs() function pointer
749a45a5 Merge "NEON: implement alpha-filters (horizontal/vertical/gradient)"
74c053b5 Merge "NEON: fix overflow in SSE NxN calculation"
0a3aeff7 Merge "dsp: WebPExtractGreen function for alpha decompression"
1de931c6 NEON: implement alpha-filters (horizontal/vertical/gradient)
9b3aca40 NEON: fix overflow in SSE NxN calculation
1c07a3c6 dsp: WebPExtractGreen function for alpha decompression
9ed5e3e5 use pointers for WebPRescaler's in WebPDecParams
db013a8d Merge "ARM: don't use USE_GENERIC_TREE"
fcd4784d use a 8b table for C-version for clz()
fbb5c473 ARM: don't use USE_GENERIC_TREE
8fda5612 Merge "add a kSlowSSSE3 feature for CPUInfo"
86bbd245 add a kSlowSSSE3 feature for CPUInfo
7c2779e9 Get code to fully compile in C++.
250c3586 Merge "When compiling as C++, avoid narrowing warnings."
c0648ac2 When compiling as C++, avoid narrowing warnings.
0d55f60c 40% faster ApplyAlphaMultiply_SSE2
49d0280d NEON: implement several alpha-processing functions
48b1e85f SSE2: 15% faster alpha-processing functions
e3b8abbc fix warning from static analysis.
28fe054e SSE2: 30% faster ApplyAlphaMultiply()
f44acd25 Merge "Properly compute the optimal color cache size."
527844fe Properly compute the optimal color cache size.
be0ef639 fix a comment typo
8874b162 Fix a non-deterministic color cache size computation.
d712e20d Do not allow a color cache size bigger than the number of colors.
ecff04f6 re-introduce some comments in Huffman Cost.
259e9828 replace 'ptr + y * stride' by 'ptr += stride'
00b08c88 Merge "NEON: 5% faster conversion to RGB565 and RGBA4444"
0e7f4447 Merge "NEON: faster fancy upsampling"
b016cb91 NEON: faster fancy upsampling
1cb63801 Call the C function to finish off lossless SSE loops only when necessary.
875fafc1 Implement BundleColorMap in SSE2.
3674d49e Merge "remove Clang warnings with unused arch arguments."
f04eb376 Merge tag 'v0.5.2'
341d711c NEON: 5% faster conversion to RGB565 and RGBA4444
abb54827 remove Clang warnings with unused arch arguments.
ece9684f update ChangeLog (tag: v0.5.2-rc2, tag: v0.5.2, origin/0.5.2, 0.5.2)
aa7744ca anim_util: quiet implicit conv warnings in 32-bit
d9120271 jpegdec: correct ContextFill signature
24eb3940 Remove some errors when compiling the code as C++.
a4a8e5f3 vwebp: clear canvas during resize w/o animation
67c25ad5 vwebp: clear canvas during resize w/o animation
a4bbe4b3 fix indentation
31ca2a80 tiffdec: restore libtiff 3.9.x compatibility
b2f77b57 update NEWS
5ab6d9de AnimEncoder: avoid freeing uninitialized memory pointer.
f29bf582 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless.
3ebe1c00 AnimEncoder: avoid freeing uninitialized memory pointer.
df780e0e fix a potential overflow with MALLOC_LIMIT
58fc5078 Merge "PredictorSub: implement fully-SSE2 version"
9cc42167 PredictorSub: implement fully-SSE2 version
0aa1f35c remove dependency of imageio/ to stopwatch.h
cb9ec84b Merge "remove the dependency to stop_watch.[ch] in imageio"
dc0c01fb Merge "anim_util: quiet implicit conv warnings in 32-bit"
827d3c50 Merge "fix a potential overflow with MALLOC_LIMIT"
1e2e25b0 anim_util: quiet implicit conv warnings in 32-bit
218460cd bump version to 0.5.2
de7d654d update AUTHORS & .mailmap
273367c1 Merge "dsp/lossless.c,cosmetics: fix indent"
76bbcf2e fix a potential overflow with MALLOC_LIMIT
8ac1abfe Merge "jpegdec: correct ContextFill signature"
cb215aed remove the dependency to stop_watch.[ch] in imageio
2423017a dsp/lossless.c,cosmetics: fix indent
74a12b10 iosbuild.sh: add WebPDecoder.framework + encoder
a9cc7621 Merge "iosbuild.sh: add WebPDecoder.framework + encoder"
fbba5bc2 optimize predictor #1 in plain-C For some reason, gcc has hard time inlining this one...
9ae0b3f6 Merge "SSE2: slightly (~2%) faster Predictor #1"
c1f97bd7 SSE2: slightly (~2%) faster Predictor #1
ea664b89 SSE2: 10% faster Predictor #11
be7dcc08 AnimEncoder: Correctly skip a frame when sub-rectangle is empty.
40885830 Fix assertions in WebPRescalerExportRow()
1d5046d1 iosbuild.sh: add WebPDecoder.framework + encoder
cec72014 jpegdec: correct ContextFill signature
8f38c72e fix a typo in WebPPictureYUVAToARGB's doc
33ca93f9 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_
76e19073 doc: use two's complement explicitly for uint8->int8 conversion
f91ba963 Anim_encoder: correctly handle enc->prev_candidate_undecided_
25d74e65 WebPPictureDistortion(): free() -> WebPSafeFree()
03f1c008 mux/Makefile.am: add missing -lm
58410cd6 fix bug in RefineUsingDistortion()
e168af8c fix filtering auto-adjustment
ed9dec41 fix doc and code snippet for WebPINewDecoder() doc
3c49178f prevent 32b overflow for very large canvas_width / height
9595f290 fix anim_util.c compilation when HAVE_GIF is not defined.
7ec9552c Make gif transparent color to be transparent black
b3fb8bb6 slightly faster Predictor #11 in NEON
9871335f Add a CMake option for WEBP_SWAP_16BIT_CSP.
0ae32226 Fix missing cpu-features for Android.
ab4c8056 cpu.cmake: improve webp_check_compiler_flag output
eec5fa3a Provide support for CMake on Android studio 2.2.
004d5690 Split the main CMake file.
4fe5d588 Android.mk: use -fvisibility=hidden
bd63a31a vwebp: ensure setenv() is available in stdlib.h
363a5681 vwebp: handle window resizing properly
a0d2753f lower WEBP_MAX_ALLOCABLE_MEMORY default
31fe11a5 fix infinite loop in case of PARTITION0 overflow
532215dd Change the rule of picking UV mode in MBAnalyzeBestUVMode()
9c75dbd3 cwebp.1: improve some grammar
af2e05cb vwebp: Clear previous frame when a key triggers a redraw
26ffa296 Add descriptions of default configuration in help info.
7416280d Fix an unsigned integer overflow error in enc/cost.h
13cf1d2e Do token recording and counting in a single loop
eb9a4b97 Reset segment id if we decide not to update segment map
42ebe3b7 configure: fix NEON flag detection under gcc 6
76ebbfff NEON: implement predictor #13
95b12a08 Merge "Revert Average3 and Average4"
54ab2e75 Revert Average3 and Average4
fe12330c 3-5% faster Predictor #5, #6, #7 and #10 for NEON
fbfb3bef ~2% faster predictor #10 for NEON
d4b7d801 lossless_sse2: use the local functions
a5e3b225 Lossless decoder SSE2 improvements.
58a1f124 ~2% faster predictor #12 in NEON.
906c3b63 Merge "Implement lossless transforms in NEON."
d23abe4e Implement lossless transforms in NEON.
2e6cb6f3 Give more flexibility to the predictor generating macro.
28e0bb70 Merge "Fix race condition in multi-threading initialization."
64704530 Fix race condition in multi-threading initialization.
bded7848 img2webp: fix default -lossless value and use pic.argb=1
0e61a513 Merge "img2webp: convert a sequence of images to an animated webp"
1cc79e92 AnimEncoder: Correctly skip a frame when sub-rectangle is empty.
03f40955 img2webp: convert a sequence of images to an animated webp
ea72cd60 add missing 'extern' keyword for predictor dcl
67879e6d SSE implementation of decoding predictors.
34aee990 Merge "vwebp: make 'd' key toggle the debugging of fragments"
a41296ae Fix potentially uninitialized value.
c85adb33 vwebp: make 'd' key toggle the debugging of fragments
4239a148 Make the lossless predictors work on a batch of pixels.
bc18ebad fix extra 'const's in signatures
71e2f5ca Remove memcpy in lossless decoding.
7474d46e Do not use a register array in SSE.
67748b41 Improve latency of FTransform2.
16951b19 Merge "Provide an SSE implementation of ConvertBGRAToRGB"
6540cd0e Provide an SSE implementation of ConvertBGRAToRGB
de568abf Android.mk: use -fvisibility=hidden
3c2a61b0 remove some unneeded casts
9ac063c3 add dsp functions for SmartYUV
22efabdd Merge "smart_yuv: switch to planar instead of packed r/g/b processing"
1d6e7bf3 smart_yuv: switch to planar instead of packed r/g/b processing
0a3838ca fix bug in RefineUsingDistortion()
c0699515 webpmux -duration: set default 'end' value equal to 'start'
83cbfa09 Import: use relative pointer offsets
a1ade40e PreprocessARGB: use relative pointer offsets
fd4d090f ConvertWRGBToYUV: use relative pointer offsets
9daad459 ImportYUVAFromRGBA: use relative pointer offsets
f90c60d1 Merge "add a "-duration duration,start,end" option to webpmux"
3f182d36 add a "-duration duration,start,end" option to webpmux
342e15f0 Import: use relative pointer offsets
1147ab4e PreprocessARGB: use relative pointer offsets
e4cd4daf fix filtering auto-adjustment
e7152856 fix doc and code snippet for WebPINewDecoder() doc
de9fa507 ConvertWRGBToYUV: use relative pointer offsets
deb1b831 ImportYUVAFromRGBA: use relative pointer offsets
c284780f imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow
e375080d gifdec,Remap: avoid out of bounds colormap read
c222a053 additional fix for stride type as size_t
bb233617 fix potential overflow when width * height * 4 >= (1<<32)
883d41fb gif2webp: fix crash with NULL extension data
cac9a36a gifdec,Remap: avoid out of bounds colormap read
4595e01f Revert "gifdec,Remap: avoid out of bounds colormap read"
fb52d443 gifdec: make some constants unsigned
f048d38d gifdec,Remap: avoid out of bounds colormap read
31b1e343 fix SSIM metric ... by ignoring too-dark area
2f51b614 introduce WebPPlaneDistortion to compute plane distortion
0104d730 configure: fix NEON flag detection under gcc 6
265abbe9 Merge "additional fix for stride type as size_t"
f7601aa6 Merge "Introduce a generic WebPGetImageReader(type) function"
ce873320 Introduce a generic WebPGetImageReader(type) function
2a2773ea imageio/*dec,Read*: add input parameter checks
9f5c8eca additional fix for stride type as size_t
4eb5df28 remove unused stride fields from VP8Iterator
11bc423a MIN_LENGTH cleanups.
273d035a Merge "fix a typo in WebPPictureYUVAToARGB's doc"
4db82a17 Merge "fix potential overflow when width * height * 4 >= (1<<32)"
e2affacc fix potential overflow when width * height * 4 >= (1<<32)
dc789ada fix a typo in WebPPictureYUVAToARGB's doc
539f5a68 Fix non-included header in config.c.
aaf2a6a6 systematically call WebPDemuxReleaseIterator() on dec->prev_iter_
20ef9915 Merge "imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow"
bc86b7a8 imageio_util: add ImgIoUtilCheckSizeArgumentsOverflow
806f6279 gif2webp: fix crash with NULL extension data
68ae5b67 Add libwebp/src/mux/animi.h
28ce3043 Remove some errors when compiling the code as C++.
b34abcb8 Favor keeping the areas locally similar in spatial prediction mode selection
ba843a92 fix some SSIM calculations
51b71fd2 Merge "vwebp: ensure setenv() is available in stdlib.h"
fb01743a get_disto: fix the r/g/b order for luma calculation
bfab8947 vwebp: ensure setenv() is available in stdlib.h
9310d192 vwebp: handle window resizing properly
f79450ca Speedup ApplyMap.
cfdda7c6 Merge "prevent 32b overflow for very large canvas_width / height"
e36396ba Merge "get_disto: new option to compute SSIM map and convert to gray"
18a9a0ab Add an API to import a color-mapped image.
30d43706 Speed-up Combined entropy for palettized histograms.
36aa087b get_disto: new option to compute SSIM map and convert to gray
86a84b35 2x faster SSE2 implementation of SSIMGet
b8384b53 lower WEBP_MAX_ALLOCABLE_MEMORY default
1c364400 prevent 32b overflow for very large canvas_width / height
eee0cce1 Merge "Small LZ77 speedups."
5f1caf29 Small LZ77 speedups.
1effde7b fix anim_util.c compilation when HAVE_GIF is not defined.
a2fe9bf4 Speedup TrellisQuantizeBlock().
573cce27 smartYUV improvements
21e7537a fix infinite loop in case of PARTITION0 overflow
053a1565 Merge "Change the rule of picking UV mode in MBAnalyzeBestUVMode()"
1377ac2e Change the rule of picking UV mode in MBAnalyzeBestUVMode()
7c1fb7d0 fix uint32_t initialization (0. -> 0)
bfff0bf3 speed-up SSIM calculation
64577de8 De-VP8L-ize GetEntropUnrefinedHelper.
a7be7328 Merge "refactor the PSNR / SSIM calculation code"
50c3d7da refactor the PSNR / SSIM calculation code
d6228aed indentation fix after I7055d3ee3bd7ed5e78e94ae82cb858fa7db3ddc0
dd538b19 Remove unused declaration.
6cc48b17 Move some lossless logic out of dsp.
78363e9e Merge "Remove a redundant call to InitLeft() in VP8IteratorReset()"
ffd01929 Refactor VP8IteratorNext().
c4f6d9c9 Remove a redundant call to InitLeft() in VP8IteratorReset()
c27d8210 Merge "smartYUV: simplify main loop"
07795296 smartYUV: simplify main loop
c9b45863 Split off common lossless dsp inline functions.
490ae5b1 smartYUV: improve initial state for faster convergence
894232be smartYUV: fix and simplify the over-zealous stop criterion
8de08483 Remove unused code in webpi.h
41cab7fe imageio/Android.mk: correct imagedec dependencies
82c91c70 Merge "libimageenc.a: extract image-saving code from dwebp"
af1ad3e2 libimageenc.a: extract image-saving code from dwebp
dd7309e3 Merge "doc: use two's complement explicitly for uint8->int8 conversion"
6105777e Merge "add gif2webp to CMake"
13ae011e doc: use two's complement explicitly for uint8->int8 conversion
4bda0cfb add gif2webp to CMake
6029c7fe Merge "remove mention of fragment, frgm, FRGM, etc."
545c147f remove mention of fragment, frgm, FRGM, etc.
5b46f7fc cwebp.1: improve some grammar
9e478f80 dec/vp8l.c: add assertions in EmitRescaledRowsRGBA/YUVA
43bd8958 Make gif transparent color to be transparent black
0887fc2d Merge "get_disto: add a '-o file' option to save a diff map"
0de48e18 get_disto: add a '-o file' option to save a diff map
0a57ad0d cosmetics: WebPSafeAlloc -> WebPSafeMalloc
0a4699bc Merge "WebPPictureDistortion(): free() -> WebPSafeFree()"
29fedbf5 Anim_encoder: correctly handle enc->prev_candidate_undecided_
32dead4e WebPPictureDistortion(): free() -> WebPSafeFree()
85cd5d06 Smarter LZ77 for uniform regions.
6585075f Change PixelsAreSimilar() to handle black pixels correctly.
c0a27fd2 vwebp: Clear previous frame when a key triggers a redraw
57a5e3b6 webp_quality should return '0' in case of success.
7f1b897b Faster stochastic histogram merging.
48c810b8 Merge "remove WEBP_FORCE_ALIGNED and use memcpy() instead."
3884972e remove WEBP_FORCE_ALIGNED and use memcpy() instead.
485cac1a switch libimagedec.a and libimageio_util.a to avoid undefined symbol
005e15b1 Merge "{extras,mux}/Makefile.am: add missing -lm"
6ab496ed fix some 'unsigned integer overflow' warnings in ubsan
8a4ebc6a Revert "fix 'unsigned integer overflow' warnings in ubsan"
9d4f209f Merge changes I25711dd5,I43188fab
e44f5248 fix 'unsigned integer overflow' warnings in ubsan
27b5d991 Fix assertions in WebPRescalerExportRow()
74f6f9e7 Add descriptions of default configuration in help info.
aaf2530c {extras,mux}/Makefile.am: add missing -lm
1269dc7c Refactor VP8LColorCacheContains()
40872fb2 dec_neon,NeedsHev: micro optimization
7b54e26b Add a CMake option for WEBP_SWAP_16BIT_CSP.
d2223d8d Fix missing cpu-features for Android.
bf16a4b4 Merge "cpu.cmake: improve webp_check_compiler_flag output"
ee1057e3 cpu.cmake: improve webp_check_compiler_flag output
b551e587 cosmetics: add {}s on continued control statements
d2e4484e dsp/Makefile.am: put msa source in correct lib
c7f66c82 Merge "utils/thread.c,cosmetics: join a few lines"
98d8f295 Merge "examples/Makefile.am,cosmetics: sort binary targets"
39f4ffbc utils/thread.c,cosmetics: join a few lines
a86ce2b1 Merge "extras/Makefile.am: don't install libwebpextras"
6fa9fe24 extras/Makefile.am: don't install libwebpextras
0b2c58a9 Fix an unsigned integer overflow error in enc/cost.h
d7ce4a2e examples/Makefile.am,cosmetics: sort binary targets
386e4ba2 Reset segment id if we decide not to update segment map
7b87e848 Merge "Add MSA optimized YUV to RGB upsampling functions"
d3ddacb6 Add MSA optimized YUV to RGB upsampling functions
eb98d8d8 webp_quality: detect lossless format and features
ebee57f4 move imageio/example_util.[hc] (back to) examples/
99542bbf webpdec: s/ExUtil//
da573cf4 imageio_util: s/ExUtil/ImgIoUtil/
bdda5bd4 split example_util.h
15ed462b .gitignore: add extras/{get_disto,webp_quality}
7be57489 Merge "VP8EstimateQuality(): roughty estimate webp bitstream quality factor"
57020525 Makefile.vc: add missing imageio target
e8ab6a82 VP8EstimateQuality(): roughty estimate webp bitstream quality factor
fee7b3d6 Merge "'extras/get_disto' example: compute PSNR between two files"
1e7d4401 'extras/get_disto' example: compute PSNR between two files
4cecab63 pngdec.c,jpegdec.[hc]: remove unnecessary includes
259f0434 makefile.unix: normalize image decode lib name
ed34c39b fix: examples/libexample_dec.a => imageio/libexample_dec.a
33d8d0d4 Merge "move examples/{example_util,image_dec} to imageio/"
c960b82e Merge "extras.h: correct include guard"
fe3cd28a Merge ".gitignore: add .gradle, /build"
45fbeba5 Merge "Do token recording and counting in a single loop"
4f33c820 .gitignore: add .gradle, /build
c379b55a move examples/{example_util,image_dec} to imageio/
5108d9aa extras.h: correct include guard
ad497fbc move src/extras to the top-level
0c0fb832 Do token recording and counting in a single loop
9ac74f92 Add MSA optimized rescaling functions
cb19dbc1 Add MSA optimized color transform functions
3f4042b5 WebPAnimEncoder: If 'minimize_size' and 'allow_mixed' on, try lossy + lossless.
5e2eb89e cosmetics,dsp/*msa.c: associate '*' with the type
5b60db5c FastMBAnalyze() for quick i16/i4 decision
567e6977 Add MSA optimized CollectHistogram function
c54ab8dd Add MSA optimized quantization functions
ec6f68c5 Merge "Remove QuantizeBlockWHT() in enc.c"
2a5c417c Apply the RLE heuristic to LZ77.
91b59e88 Remove QuantizeBlockWHT() in enc.c
fe572737 Add MSA optimized SSE functions
6b53ca87 cosmetics,(dec|enc)_sse2.c: fix indent
b15d00d9 Merge "Add MSA optimized encoder IntraChromaPreds function"
afe3cec8 Add MSA optimized encoder IntraChromaPreds function
fc8cad9f reduce the number of malloc/free cycles in huffman.c
7b4b05e0 Add MSA optimized encoder Intra16Preds function
c18787a0 Add MSA optimized encoder Intra4Preds function
479d1908 webpmux: Also print compression info per frame.
a80e8cfd Provide support for CMake on Android studio 2.2.
6c628410 Split the main CMake file.
bbb6ecd9 Merge "Add MSA optimized distortion functions"
7915396f Add MSA optimized distortion functions
652e944f Merge "build.gradle: remove tab"
c0991a14 io,EmitRescaledAlphaYUV: factor out a common expr
48bf5ed1 build.gradle: remove tab
bfef6c9f Merge tag 'v0.5.1'
3d97bb75 update ChangeLog (tag: v0.5.1, origin/0.5.1, 0.5.1)
deb54d91 Clarify the expected 'config' lifespan in WebPIDecode()
435308e0 Add MSA optimized encoder transform functions
dce64bfa Add MSA optimized alpha filter functions
429120d0 Add MSA optimized color transform functions
c7e2d245 update ChangeLog (tag: v0.5.1-rc5)
55b2fede normalize the macros' "do {...} while (0)" constructs
701c772e Add MSA optimized colorspace conversion functions
c7eb06f7 Fix corner case in CostManagerInit.
f918cb10 fix rescaling bug: alpha plane wasn't filled with 0xff
ab7937a5 gif2webp: normalize the number of .'s in the help message
3cdec847 vwebp: normalize the number of .'s in the help message
bdf6241e cwebp: normalize the number of .'s in the help message
06a38c7b fix rescaling bug: alpha plane wasn't filled with 0xff
319e37be Improve lossless compression.
6a197937 Add MSA optimized intra pred chroma functions
447adbce 'our bug tracker' -> 'the bug tracker'
97b9e644 normalize the number of .'s in the help message
293d786f Added MSA optimized intra prediction 16x16 functions
0afa0ce2 Added MSA optimized intra prediction 4x4 functions
a6621bac Added MSA optimized simple edge filtering functions
bb50bf42 pngdec,ReadFunc: throw an error on invalid read
38063af1 decode.h,WebPGetInfo: normalize function comment
1ebf193c Added MSA optimized chroma edge filtering functions
9ad2352d Merge "Added MSA optimized edge filtering functions"
60751096 Added MSA optimized edge filtering functions
9e8e1b7b Inline GetResidual for speed.
7d58d1b7 Speed-up uniform-region processing.
8ec7032b simplify HistogramCombineEntropyBin()
23e29cb1 Merge "Fix a boundary case in BackwardReferencesHashChainDistanceOnly." into 0.5.1
472a049b remove bin_map[] allocation altogether
0bb23b2c free -> WebPSafeFree()
a977b4b5 Merge "rewrite the bin_map clustering to use less memory"
3591ba66 rewrite the bin_map clustering to use less memory
e6ac450c utils.[hc]: s/MAX_COLOR_COUNT/MAX_PALETTE_SIZE/
e7b91772 Merge "DecodeImageData(): change the incorrect assert" into 0.5.1
2abfa54f DecodeImageData(): change the incorrect assert
5a48fcd8 Merge "configure: test for -Wfloat-conversion"
0174d18d Fix a boundary case in BackwardReferencesHashChainDistanceOnly.
6a9c262a Merge "Added MSA optimized transform functions"
cfbcc5ec Make sure to consider small distances in LZ77.
5e60c42a Added MSA optimized transform functions
3dc28d76 configure: test for -Wfloat-conversion
f2a0946a add some asserts to delimit the perimeter of CostManager's operation
9a583c66 fix invalid-write bug for alpha-decoding
f66512db make gradlew executable
6fda58f1 backward_references: quiet double->int warning
a48cc9d2 Merge "Fix a compression regression for images with long uniform regions." into 0.5.1
cc2720c1 Merge "Revert an LZ77 boundary constant." into 0.5.1
059aab4f Fix a compression regression for images with long uniform regions.
b0c7e49e Check more backward matches with higher quality.
a3611513 Revert an LZ77 boundary constant.
8190374c README: fix typo
7551db44 update NEWS
0fb2269c bump version to 0.5.1
f4537610 update AUTHORS & .mailmap
3259571e Refactor GetColorPalette method.
1df5e260 avoid using tmp histogram in PreparePair()
7685123a fix comment typos
a246b921 Speedup backward references.
76d73f18 Merge "CostManager: introduce a free-list of ~10 intervals"
eab39d81 CostManager: introduce a free-list of ~10 intervals
4c59aac0 Merge "mips msa webp configuration"
043c33f1 Merge "Improve speed and compression in backward reference for lossless."
71be9b8c Merge "clarify variable names in HistogramRemap()"
0ba7fd70 Improve speed and compression in backward reference for lossless.
0481d42a CostManager: cache one interval and re-use it when possible
41b7e6b5 Merge "histogram: fix bin calculation"
96c3d624 histogram: fix bin calculation
fe9e31ef clarify variable names in HistogramRemap()
ce3c8247 disable near-lossless quantization if palette is used
e11da081 mips msa webp configuration
5f8f998d mux: Presence of unknown chunks should trigger VP8X chunk output.
cadec0b1 Merge "Sync mips32 and dsp_r2 YUV->RGB code with C verison"
d9637758 Compute the hash chain once and for all for lossless compression.
50a48665 Sync mips32 and dsp_r2 YUV->RGB code with C verison
eee788e2 Merge "introduce a common signature for all image reader function"
d77b877c introduce a common signature for all image reader function
ca8d9519 remove some obsolete TODOs
ae2a7222 collect all decoding utilities from examples/ in libexampledec.a
0b8ae852 Merge "Move DitherCombine8x8 to dsp/dec.c"
77cad885 Merge "ReadWebP: avoid conversion to ARGB if final format is YUVA"
ab8d6698 ReadWebP: avoid conversion to ARGB if final format is YUVA
f8b7ce9e Merge "test pointer to NULL explicitly"
5df6f214 test pointer to NULL explicitly
77f21c9c Move DitherCombine8x8 to dsp/dec.c
c9e6d865 Add gradle support
c65f41e8 Revert "Add gradle support"
bf731ede Add gradle support
08333b85 WebPAnimEncoder: Detect when canvas is modified, restore only when needed.
0209d7e6 Merge "speed-up MapToPalette() with binary search"
fdd29a3d speed-up MapToPalette() with binary search
cf4a651b Revert "Refactor GetColorPalette method."
0a27aca3 Merge changes Idfa8ce83,I19adc9c4
f25c4406 WebPAnimEncoder: Restore original canvas between multiple encodes.
169004b1 Refactor GetColorPalette method.
576362ab VP8LDoFillBitWindow: support big-endian in fast path
ac49e4e4 bit_reader.c: s/VP8L_USE_UNALIGNED_LOAD/VP8L_USE_FAST_LOAD/
d39ceb58 VP8LDoFillBitWindow: remove stale TODO
2ec2de14 Merge "Speed-up BackwardReferencesHashChainDistanceOnly."
3e023c17 Speed-up BackwardReferencesHashChainDistanceOnly.
f2e1efbe Improve near lossless compression when a prediction filter is used.
e15afbce dsp.h: fix ubsan macro name
e53c9ccb dsp.h: add WEBP_UBSAN_IGNORE_UNSIGNED_OVERFLOW
af81fdb7 utils.h: quiet -fsanitize=undefined warnings
ea0be354 dsp.h: remove utils.h include
cd276aec utils/*.c: ../utils/utils.h -> ./utils.h
c8927131 utils/Makefile.am: add some missing headers
ea24e026 Merge "dsp.h: add WEBP_UBSAN_IGNORE_UNDEF"
369e264e dsp.h: add WEBP_UBSAN_IGNORE_UNDEF
0d020a78 Merge "add runtime NEON detection"
5ee2136a Merge "add VP8LAddPixels() to lossless.h"
47435a61 add VP8LAddPixels() to lossless.h
8fa6ac68 remove two ubsan warnings
74fb56fb add runtime NEON detection
4154a839 MIPS update to new Unfilter API
c80b9fc8 Merge "cherry-pick decoder fix for 64-bit android devices"
6235147e cherry-pick decoder fix for 64-bit android devices
d41b8c43 configure: test for -Wformat-* w/-Wformat present
5f95589f Fix WEBP_ALIGN in case the argument is a pointer to a type larger than a byte.
2309fd5c replace num_parts_ by num_parts_minus_one_ (unsigned)
9629f4bc SimplifySegments: quiet -Warray-bounds warning
de47492e Merge "update the Unfilter API in dsp to process one row independently"
2102ccd0 update the Unfilter API in dsp to process one row independently
e3912d56 WebPAnimEncoder: Restore canvas before evaluating blending possibility.
6e12e1e3 WebPAnimEncoder: Fix for single-frame optimization.
602f344a Merge changes I1d03acac,Ifcb64219
95ecccf6 only apply color-mapping for alpha on the cropped area
47dd0708 anim_diff: Add an experimental option for max inter-frame diff.
aa809cfe only allocate alpha_plane_ up to crop_bottom row
31f2b8d8 WebPAnimEncoder: FlattenSimilarPixels(): look for similar
774dfbdc perform alpha filtering within the decoding loop
a4cae68d lossless decoding: only process decoded row up to last_row
238cdcdb Only call WebPDequantizeLevels() on cropped area
cf6c713a alpha: preparatory cleanup
b95ac0a2 Merge "VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions"
89231394 VP8GetHeaders(): initialize VP8Io with sane value for crop/scale dimensions
5828e199 use_8b_decode -> use_8b_decode_
8dca0247 fix bug in alpha.c that was triggering a memory error in incremental mode
9a950c53 WebPAnimEncoder: Disable filtering when blending is used with lossy encoding.
eb423903 WebPAnimEncoder: choose max diff for framerect based on quality.
ff0a94be WebPAnimEncoder lossy: ignore small pixel differences for frame rectangles.
f8040084 gif2webp: Remove the 'prev_to_prev_canvas' buffer.
6d8c07d3 Merge "WebPDequantizeLevels(): use stride in CountLevels()"
d96fe5e0 WebPDequantizeLevels(): use stride in CountLevels()
ec1b2407 WebPPictureImport*: check output pointer
c0768769 Merge "Revert "Re-enable encoding of alpha plane with color cache for next release.""
41f14bcb WebPPictureImport*: check src pointer
64eed387 Pass stride parameter to WebPDequantizeLevels()
97934e24 Revert "Re-enable encoding of alpha plane with color cache for next release."
e88c4ca0 fix -m 2 mode-cost evaluation (causing partition0 overflow)
4562e83d Merge "add extra meaning to WebPDecBuffer::is_external_memory"
abdb109f add extra meaning to WebPDecBuffer::is_external_memory
875aec70 enc_neon,cosmetics: break long comment
71e856cf GetMBSSIM,cosmetics: fix alignment
a90edffb fix missing 'extern' for SSIM function in dsp/
423ecaf4 move some SSIM-accumulation function for dsp/
f08e6624 Merge "Fix FindClosestDiscretized in near lossless:"
0d40cc5e enc_neon,Disto4x4: remove an unnecessary transpose
e8feb20e Fix FindClosestDiscretized in near lossless:
82006430 anim_util: quiet static analysis warning
a6f23c49 Merge "AnimEncoder: Support progress hook and user data."
a5193774 Merge "Near lossless feature: fix some comments."
da98d31c AnimEncoder: Support progress hook and user data.
33357131 Near lossless feature: fix some comments.
0beed01a cosmetics: fix indent after 2f5e898
6753f35c Merge "FTransformWHT optimization."
6583bb1a Improve SSE4.1 implementation of TTransform.
7561d0c3 FTransformWHT optimization.
7ccdb734 fix indentation after patch #328220
6ec0d2a9 clarify the logic of the error path when decoding fails.
8aa352b2 Merge "Remove an unnecessary transposition in TTransform."
db860884 Merge "remove useless #include"
9960c316 Remove an unnecessary transposition in TTransform.
6e36b511 Small speedup in FTransform.
9dbd4aad Merge "fix C and SIMD flags completion."
e60853ea Add missing common_sse2.h file to makefile.unix
696eb2b0 fix C and SIMD flags completion.
2b4fe33e Merge "fix multiple allocation for transform buffer"
2f5e8986 fix multiple allocation for transform buffer
bf2b4f11 Regroup common SSE code + optimization.
4ed650a1 force "-pass 6" if -psnr or -size is used but -pass isn't.
3ef1ce98 yuv_sse2: fix -Wconstant-conversion warning
a7a03e9f Merge changes I4852d18f,I51ccb85d
5e122bd6 gif2webp: set enc_options.verbose = 0 w/-quiet
ab3c2583 anim_encode,DefaultEncoderOptions: init verbose
8f0dee77 Merge "configure: fix builtin detection w/-Werror"
4a7b85a9 cmake: fix builtin detection w/-Werror
b74657fb configure: fix builtin detection w/-Werror
3661b980 Add a CMakeLists.txt
75f4af4d remove useless #include
6c1d7631 avoid Yoda style for comparison
8ce975ac SSE optimization for vector mismatch.
7db53831 Merge tag 'v0.5.0'
37f04949 update ChangeLog (tag: v0.5.0-rc1, tag: v0.5.0, origin/0.5.0, 0.5.0)
7e7b6ccc faster rgb565/rgb4444/argb output
4c7f565f update NEWS
1f62b6b2 update AUTHORS
e224fdc8 update mailmap
71100500 bump version to 0.5.0
230a685e README: update help text, repo link
d48e427b Merge "demux: accept raw bitstreams"
99a01f4f Merge "Unify some entropy functions."
4b025f10 Merge "configure: disable asserts by default"
92cbddf8 Merge "fix PrintBlockInfo()"
ca509a33 Unify some entropy functions.
367bf903 fix PrintBlockInfo()
b0547ff0 move back common constants for lossless_enc*.c into the .h
fb4c7832 lossless: simpler alpha cleanup preprocessing
ba7f4b68 Merge "anim_diff: add brief description of options"
47ddd5a4 Move some codec logic out of ./dsp .
b4106c44 anim_diff: add brief description of options
357f455d yuv_sse2: fix 32-bit visual studio build
b9d80fa4 configure: disable asserts by default
7badd3da cosmetic fix: sizeof(type) -> sizeof(*var)
80ce27d3 Speed up 24-bit packing / unpacking in YUV / RGB conversions.
68eebcb0 remove a TODO about rotation
2dee2966 remove few obsolete TODO about aligned loads in SSE2
e0c0bb34 remove TODO about unused ref_lf_delta[]
9cf1cc2b remove few TODO: * 256 -> RD_DISTO_MULT * don't use TDisto for UV mode picking
79189645 Merge changes from topic 'demux-fragment-cleanup'
47399f92 demux: remove GetFragment()
d3cfb79a demux: remove dead fragment related TODO
ab714b8a demux, Frame: remove is_fragment_ field
b105921c yuv_sse2, cosmetics: fix indent
466c92e8 demux,WebPIterator: remove fragment_num/num_fragments
11714ff1 demux: remove WebPDemuxSelectFragment
c0f7cc47 fix for bug #280: UMR in next->bits
578beeb8 Merge "enc/Makefile.am: add missing headers"
1a819f00 makefile.unix: make visibility=hidden the default
d4f9c2ef enc/Makefile.am: add missing headers
846caff4 configure: check for -fvisibility=hidden
3f3ea2c5 demux: accept raw bitstreams
d6dad5d0 man cwebp: add precision about exactness of the 'lossless' mode
46bb1e34 Merge "gifdec: remove utils.h include"
2b882e94 Merge "Makefile.vc: define WEBP_HAVE_GIF for gifdec.c"
892b9238 Merge "man/*, AUTHORS: clarify origin of the tool"
e5687a18 Merge "fix optimized build with -mcmodel=medium"
e56e6859 Makefile.vc: define WEBP_HAVE_GIF for gifdec.c
4077d944 gifdec: remove utils.h include
b5e30dac man/*, AUTHORS: clarify origin of the tool
b275e598 fix optimized build with -mcmodel=medium
64da45a9 cosmetics, cwebp: fix indent
038a060d Merge "add disto-based refinement for UV mode (if method = 1 or 2)"
2835089d Provide an SSE2 implementation of CombinedShannonEntropy.
e6c93519 add disto-based refinement for UV mode (if method = 1 or 2)
04507dc9 Merge "fix undefined behaviour during shift, using a cast"
793c5261 Merge "wicdec: add support for reading from stdin"
d3d16397 Optimize the heap usage in HistogramCombineGreedy.
202a710b fix undefined behaviour during shift, using a cast
14d27a46 improve method #2 by merging DistoRefine() and SimpleQuantize()
cb1ce996 Merge "10% faster table-less SSE2/NEON version of YUV->RGB conversion"
ac761a37 10% faster table-less SSE2/NEON version of YUV->RGB conversion
79fcf29a wicdec: add support for reading from stdin
015f173f Merge "cwebp: add support for stdin input"
a9947c32 cwebp: add support for stdin input
7eb01ff3 Merge "Improved alpha cleanup for the webp encoder when prediction transform is used."
fb8c9106 Merge "introduce WebPMemToUint32 and WebPUint32ToMem for memory access"
bd91af20 Merge "bit_reader: remove aarch64 BITS TODO"
6c702b81 Speed up hash chain initialization using memset.
4c60f63c make ReadPNG and ReadJPEG take a filename instead of a FILE
464ed10f bit_reader: remove aarch64 BITS TODO
d478e589 Merge "configure: update issue tracker"
69381113 Improved alpha cleanup for the webp encoder when prediction transform is used.
2c08aac8 introduce WebPMemToUint32 and WebPUint32ToMem for memory access
010ca3d1 Fix FindMatchLength with non-aligned buffers.
a90e1e3f README: add prerequisites for an autoconf build
458f0866 configure: update issue tracker
33914595 vwebp: work around the transparent background with GLUT bug
e4a7eed4 cosmetics: fix indent
08375129 Merge "Make a separate case for low_effort in CopyImageWithPrediction"
aa2eb2d4 Merge "cosmetics: fix indent"
b7551e90 cosmetics: fix indent
5bda52d4 Make a separate case for low_effort in CopyImageWithPrediction
66fa598a Merge "configure: fix intrinsics build w/older gcc"
5ae220be backward_references.c: Fixed compiler warning
1556da09 Merge "configure: restore 2 warnings"
71a17e58 configure: restore 2 warnings
9eeabc07 configure: fix intrinsics build w/older gcc
363babe2 Merge "fix some warning about unaligned 32b reads"
a1411782 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.
829bd141 Combine Huffman cost and bit entropy into one loop
a7a954c8 Merge "lossless: make prediction in encoder work per scanline"
61b605b4 Merge "fix of undefined multiply (int32 overflow)"
239421c5 lossless: make prediction in encoder work per scanline
f5ca40e0 fix of undefined multiply (int32 overflow)
5cd2ef4c Merge changes from topic 'win-threading-compat'
76ce9187 Makefile.vc: enable WEBP_USE_THREAD for windows phone
d2afe974 thread: use CreateThread for windows phone
0fd0e12b thread: use WaitForSingleObjectEx if available
63fadc9f thread: use InitializeCriticalSectionEx if available
110ad583 thread: use native windows cond var if available
912c9fdf dec/webp: use GetLE(24|32) from utils
f1694481 utils/GetLE32: correct uint32 promotion
158763de Merge "always call WebPInitSamplers(), don't try to be smart"
3770f3bb Merge "cleanup the YFIX/TFIX difference by removing some code and #define"
a40f60a9 Merge "3% speed improvement for lossless webp encoder for low effort mode:"
ed1c2bc6 always call WebPInitSamplers(), don't try to be smart
b8c44f1a 3% speed improvement for lossless webp encoder for low effort mode:
997e1038 cleanup the YFIX/TFIX difference by removing some code and #define
d73d1c8b Merge "Make discarding invisible RGB values (cleanup alpha) the default."
1f9be97c Make discarding invisible RGB values (cleanup alpha) the default.
f240117b Make dwebp listen more to the -quiet flag
b37b0179 fix for issue #275: don't compare to out-of-bound pointers
21735e06 speed-up trivial one-symbol decoding case for lossless
397863bd Refactor CopyPlane() and CopyPixels() methods: put them in utils.
6ecd72f8 Re-enable encoding of alpha plane with color cache for next release.
1f7148a4 Merge "remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures"
6ae395fa Merge "use ExReadFile() for ReadYUV()"
8076a00e gitignore list: add anim_diff.
1c1702d8 use ExReadFile() for ReadYUV()
775d3a37 remove unused fields from WebPDecoderOptions and WebPBitstreamFeatures
c13245c7 AnimEncoder: Add a GetError() method.
688b265d AnimDecoder API: Add a GetDemuxer() method.
1aa4e3d6 WebPAnimDecoder: add an option to enable multi-threaded decoding.
3584abca AnimDecoder: option to decode to common color modes.
afd5a62c Merge "mux.h does NOT need to include encode.h"
8550d443 Merge "migrate anim_diff tool from C++ to C89"
96201e50 migrate anim_diff tool from C++ to C89
945cfa3b mux.h does NOT need to include encode.h
8da07e8d Merge "~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV"
bfd3fc02 ~2x faster SSE2 RGB24toY, BGR24toY, ARGBToY|UV
02432427 man/cwebp.1, cosmetics: escape '-'s
96f5b423 man/cwebp: group lossy-only options
52fdbdfe extract some RGB24 to Luma conversion function from enc/ to dsp/
ab8c2300 add missing \n
8304179a sync NEWS with 0.4.4
5bd04a08 sync versions with 0.4.4
8f1fcc15 Merge "Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c"
25bf2ce5 fix some warning about unaligned 32b reads
922268fd s/TIFF/WebP
fa8927ef Move ARGB->YUV functions from dec/vp8l.c to dsp/yuv.c
9b373598 Merge "for ReadXXXX() image-readers, use the value of pic->use_argb"
f7c507a5 Merge "remove unnecessary #include "yuv.h""
7861578b for ReadXXXX() image-readers, use the value of pic->use_argb
14e4043b remove unnecessary #include "yuv.h"
469ba2cd vwebp: fix incorrect clipping w/NO_BLEND
4b9186b2 update issue tracker url
d64d376c change WEBP_ALIGN_CST value to 31
f717b828 vp8l.c, cosmetics: fix indent after 95509f9
927ccdc4 Merge "fix alignment of allocated memory in AllocateTransformBuffer"
fea94b2b fix alignment of allocated memory in AllocateTransformBuffer
5aa8d61f Merge "MIPS: rescaler code synced with C implementation"
e7fb267d MIPS: rescaler code synced with C implementation
93c86ed5 Merge "format_constants.h: MKFOURCC, correct cast"
5d791d26 format_constants.h: MKFOURCC, correct cast
65726cd3 dsp/lossless: Average2, make a constant unsigned
d26d9def Use __has_builtin to check clang support
12ec204e moved ALIGN_CST into util/utils.h and renamed WEBP_ALIGN_xxx
a2640838 Merge "rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand"
3fb600d5 Merge "wicdec: fix alpha detection w/64bpp BGRA/RGBA"
67c547fd rescaler: ~20% faster SSE2 implementation for lossless ImportRowExpand
99e3f812 Merge "large re-organization of the delta-palettization code"
95509f99 large re-organization of the delta-palettization code
74fb458b fix for weird msvc warning message
ae49ad86 Merge "SSE2 implementation of ImportRowShrink"
932fd4df SSE2 implementation of ImportRowShrink
badfcbaa wicdec: fix alpha detection w/64bpp BGRA/RGBA
35cafa6c Merge "iosbuild: fix linking with Xcode 7 / iOS SDK 9"
b0c9d8af label rename: NO_CHANGE -> NoChange
b4e731cd neon-implementation for rescaler code
db1321a6 iosbuild: fix linking with Xcode 7 / iOS SDK 9
6dfa5e3e rescaler: better handling of the fxy_scale=0 special case.
55c05293 Revert "rescaler: better handling of the fxy_scale=0 special case."
9f226bf8 rescaler: better handling of the fxy_scale=0 special case.
f7b8f907 delta_palettization.*: add copyright
c1e1b710 Changed delta palette to compress better
0dd28267 Merge "Add delta_palettization feature to WebP"
48f66b66 Add delta_palettization feature to WebP
27933e2a anim_encoder: drop a frame if it has same pixels as the prev frame.
df9f6ec8 Merge "webpmux/DisplayInfo: send non-error output to stdout"
8af4993b Merge "rescaler_mips_dsp_r2: cosmetics, fix indent"
2b9d2495 Merge "rescaler: cosmetics, join two lines"
cc020a8c webpmux/DisplayInfo: send non-error output to stdout
a288e746 configure: add -Wshorten-64-to-32
c4c3cf2d pngdec: fix type conversion warnings
bef8e97d webpmux: fix type conversion warning
5a84460d rescaler_mips_dsp_r2: cosmetics, fix indent
acde0aae rescaler: cosmetics, join two lines
306ce4fd rescaler: move the 1x1 or 2x1 handling one level up
cced974b remove _mm_set_epi64x(), which is too specific
56668c9f fix warnings about uint64_t -> uint32_t conversion
76a7dc39 rescaler: add some SSE2 code
1df1d0ee rescaler: harmonize function protos
9ba1894b rescaler: simplify ImportRow logic
5ff0079e fix rescaler vertical interpolation
cd82440e VP8LAllocateHistogramSet: align histogram[] entries
a406b1dd Merge "fix memory over-allocation in lossless rescaler init"
0fde33e3 add missing const in VP8InitFrame signature
ac7d5e8d fix memory over-allocation in lossless rescaler init
017f8ccc Loosen the buffer size checks for Y/U/V/A too.
15ca5014 loosen the padding check on buffer size
d623a870 dec_neon: add whitespace around stringizing operator
29377d55 dsp/mips: cosmetics: add whitespace around XSTR macro
eebaf97f dsp/mips: add whitespace around stringizing operator
d39dc8f3 Create a WebPAnimDecoder API.
03fb7522 gif2webp: print output file size
14efabbf Android: limit use of cpufeatures
7b83adbe preparatory cosmetics for Rescaler code fix and clean-up
77fb41c2 dec/vp8l/DecodeAlphaData: remove redundant cast
90fcfcd9 Insert less hash chain entries from the beginnings of long copies.
bd55604d SSE2: add yuv444 converters, re-using yuv_sse2.c
41a5d99d add a -quiet option to 'dwebp'
80ab3edb Merge "README: update dwebp help output after 1e595fe"
32b71b2e README: update dwebp help output after 1e595fe
3ec11827 use the DispatchAlpha() call from dsp
c5f00621 incorporate bzero() into WebPRescalerInit() instead of call site
3ebcdd41 remove duplicate "#include <stdlib.h>"
1e595fe1 dwebp: add -resize as a synonym for -scale
24a96932 dec: allow 0 as a scaling dimension
b9187242 utils/rescaler: add WebPRescalerGetScaledDimensions
923e8eda Merge "update NEWS"
020fd099 Merge "WebPPictureDistortion: support ARGB format for 'pic' when computing distortion."
6a5292f6 update NEWS
56a2e9f5 WebPPictureDistortion: support ARGB format for 'pic' when computing distortion.
0ae582e4 configure: test and add -Wunreachable-code
c2f9dc06 bit_writer: convert VP8L macro values to immediates
b969f888 Reduce magic in palette reordering
acb297e9 anim_diff: add a -raw_comparison flag
155c1b22 Merge changes I76f4d6fe,I45434639
717e4d5a mips32/mipsDSPr2: function ImportRow rebased
7df93893 fix rescaling bug (uninitialized read, see bug #254).
5cdcd561 lossless_enc_neon: add VP8LTransformColor
a53c3369 lossless_neon: add VP8LTransformColorInverse
99131e7f Merge changes I9fb25a89,Ibc648e9e
c4556766 simplify the main loop for downscaling
2a010f99 lossless_neon: remove predictors 5-13
ca221bbc ll_enc_neon: enable VP8LSubtractGreenFromBlueAndRed
585d93db Container spec: clarify ordering of ALPH chunk.
01d61fd9 lossless: ~20 % speedup
f722c8f0 lossless: Speed up ComputeCacheEntropy by 40 %
1ceecdc8 add a VP8LColorCacheSet() method for color cache
17eb6099 lossless: Allow copying from prev row in rle-mode.
f3a7a5bf lossless: bit writer optimization
d97b9ff7 Merge changes from topic 'lossless-enc-improvements'
0250dfcc msvc: fix pointer type warning in BitsLog2Floor
52931fd5 lossless: combine the Huffman code with extra bits
c4855ca2 lossless: Inlining add literal
8e9c94de lossless: simplify HashChainFindCopy heuristics
888429f4 lossless: 0.5 % compression density improvement
7b23b198 lossless: Add zeroes into the predicted histograms.
85b44d8a lossless: encoding, don't compute unnecessary histo
d92453f3 lossless: Remove about 25 % of the speed degradation
2cce0317 Faster alpha coding for webp
5e75642e lossless: rle mode not to accept lengths smaller than 4.
84326e4a lossless: Less code for the entropy selection
16ab951a lossless: 0.37 % compression density improvement
822f113e add WebPFree() to the API
0ae2c2e4 SSE2/SSE41: optimize SSE_16xN loops
39216e59 cosmetics: fix indent after 32462a07
559e54ca Merge "SSE2: slightly faster FTransformWHT"
8ef9a63b SSE2: slightly faster FTransformWHT
f27f7735 lossless_neon: enable VP8LAddGreenToBlueAndRed
36e9c4bc SSE2: minor cosmetrics on in-loop filter code
4741fac4 dsp/lossless_*sse2: remove some unnecessary inlines
1819965e fix warning ("left shift of negative value") using a cast
70170014 SSE2: speed-up some lossless-encoding functions
abcb0128 Merge "SSE2: slightly faster (~5%) AddGreenToBlueAndRed()"
2df5bd30 Merge "Speedup to HuffmanCostCombinedCount"
9e356d6b SSE2: slightly faster (~5%) AddGreenToBlueAndRed()
fc6c75a2 SSE2: 53% faster TransformColor[Inverse]
49073da6 SSE2: 46% speed-up of TransformColor[Inverse]
32462a07 Speedup to HuffmanCostCombinedCount
f3d687e3 SSE4.1 implementation of some lossless encoding functions
bfc300c7 SSE4.1 implementation of some alpha-processing functions
7f9c98f2 Merge "sse2 in-loop: simplify SignedShift8b() a bit"
ef314a5d dec_sse2/GetNotHEV: micro optimization
a729cff9 sse2 in-loop: simplify SignedShift8b() a bit
422ec9fb simplify Load8x4() a bit
8df238ec Merge "remove some duplicate FlipSign()"
751506c4 remove some duplicate FlipSign()
65ef5afc Merge "lossless: 0.13% compression density gain"
2beef2f2 lossless: 0.13% compression density gain
3033f24c lossless: 0.06 % compression density improvement
64960da9 dec_neon: add VE8uv / VE16
14dbd87b dec_neon: add HE8uv / HE16
ac768011 introduce FTransform2 to perform two transforms at a time.
aa6065ae dec_neon: use vld1_dup(mem) rather than vdup(mem[0])
8b63ac78 Merge "dec_neon: add TM16"
f51be09e Merge "dec_neon/TrueMotion: simply left border load"
dc48196b dec_neon: add TM16
ea95b305 dec_neon/TrueMotion: simply left border load
f262d612 speed-up SetResidualSSE2
bf46d0ac fix mips2 build target
929a0fdc enc_sse2/TTransform: simplify abs calculation
17dbd058 enc_sse2/CollectHistogram: simplify abs calculation
a6c15936 dec_neon: add DC16 intra predictors
03b4f50d Makefile.vc: add anim_diff build support.
1b989874 Merge changes I9cd84125,Iee7e387f,I7548be72
acd7b5af Introduce a test tool anim_diff.
f274a96c dsp/enc_sse2: add luma4 intra predictors
040b11bd dsp/enc_sse2: add chroma intra predictors
aee021bb dsp/enc_sse2: add luma16 intra predictors
9e00a499 makefile.unix: remove superclean target
cefc9c09 makefile.unix: clean up after extras target
4c9af023 dec_neon: add DC8uvNoTopLeft
dd55b873 Merge "doc/webp-container-spec: update repo browser link"
f0486968 doc/webp-container-spec: update repo browser link
9287761d Merge "GetResidualCostSSE2: simplify abs calculation"
0e009366 dsp/cpu.c(x86): check maximum supported cpuid feature
b243a4bc GetResidualCostSSE2: simplify abs calculation
6d4602b8 Merge "fix typo: constitutes -> constitute"
5fe1fe37 fix typo: constitutes -> constitute
b83bd7c4 Merge "populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions"
b0114a32 Merge "histogram.h: cosmetics: remove unnecessary includes"
feab45ef gifdec: Move inclusion of webp/config.h to header.
dbba67d1 histogram.h: cosmetics: remove unnecessary includes
e978fec6 Merge "VP8LBitReader: fix remaining ubsan error with large shifts"
d6fe5884 Merge "ReconstructRow: move some one-time inits out of the main loop"
a21d647c ReconstructRow: move some one-time inits out of the main loop
7a01c3c3 VP8LBitReader: fix remaining ubsan error with large shifts
7fa67c9b change GetPixPairHash64() return type to uint32_t
ec1fb9f8 Merge "dsp/enc.c: cosmetics: move DST() def closer to use"
7073bfb3 Merge "split 64-mult hashing into two 32-bit multiplies"
0768b252 dsp/enc.c: cosmetics: move DST() def closer to use
6a48b8f0 Merge "fix MSVC size_t->int conversion warning"
1db07cde Merge "anim_encode: cosmetics: fix alignment"
e28271a3 anim_encode: cosmetics: fix alignment
7fe357b8 split 64-mult hashing into two 32-bit multiplies
af74c145 populate 'libwebpextras' with: import gray, rgb565 and rgb4444 functions
61214134 remove VP8Residual::cost unused field
e2544823 fix MSVC size_t->int conversion warning
b69a6c35 vwebp: don't redefine snprintf with VS2015+
0ac29c51 AnimEncoder API: Consistent use of trailing underscores in struct.
d4845550 AnimEncoder API: Use timestamp instead of duration as input to Add().
9904e365 dsp/dec_sse2: DC8uv / DC8uvNoLeft speedup
7df20497 dsp/dec_sse2: DC16 / DC16NoLeft speedup
8e515dfe Merge "makefile.unix: add some missing headers"
db12250f cosmetics: vp8enci.h: break long line
bf516a87 makefile.unix: add some missing headers
b44eda3f dsp: add DSP_INIT_STUB
03e76e96 clarify the comment about double-setting the status in SetError()
9fecdd71 remove unused EmitRGB()
43f010dd move ReconstructRow to top
82d98020 add a dec/common.h header to collect common enc/dec #defines
5d4744a2 Merge "enc_sse41: add Disto4x4 / Disto16x16"
e38886a7 mux.h: Bump up ABI version
46305ca6 configure: add --disable-<avx2|sse4.1|sse2>
2fc8b658 CPPFLAGS->CFLAGS for detecting sse4.1 in preprocessor
1a338fb3 enc_sse41: add Disto4x4 / Disto16x16
94055503 encoding SSE4.1 stub for StoreHistogram + Quantize + SSE_16xN
c64659e1 remove duplicate variables after the lossless{_enc}.c split
67ba7c7a enc_sse2: call local FTransform in CollectHistogram
18249799 dsp: s/VP8LSetHistogramData/VP8SetHistogramData/
ede5e158 cosmetics: dsp/lossless.h: reorder prototypes
553051f7 dsp/lossless: split enc/dec functions
9064adc8 Merge "conditionally add -msse4.1 in Makefile.unix"
cecf5096 dsp/yuv*.c: rework WEBP_USE_<arch> ifdef
6584d398 dsp/upsampling*.c: rework WEBP_USE_<arch> ifdef
80809422 dsp/rescaler*.c: rework WEBP_USE_<arch> ifdef
1d93ddec dsp/lossless*.c: rework WEBP_USE_<arch> ifdef
73805ff2 dsp/filters*.c: rework WEBP_USE_<arch> ifdef
fbdcef24 dsp/enc*.c: rework WEBP_USE_<arch> ifdef
66de69c1 dsp/dec*.c: rework WEBP_USE_<arch> ifdef
48e4ffd1 dsp/cost*.c: rework WEBP_USE_<arch> ifdef
29fd6f90 dsp/argb*.c: rework WEBP_USE_<arch> ifdef
80ff3813 dsp/alpha*.c: rework WEBP_USE_<arch> ifdef
bf09cf1e conditionally add -msse4.1 in Makefile.unix
e9570dd9 stub for SSE4.1 support.
4a95384b Merge "dsp: add sse4.1 detection"
cabf4bd2 dsp: add sse4.1 detection
4ecba1ab thread.h: rename interface param
b8d706c8 Merge "sync versions with 0.4.3"
ae64a711 Merge "add shell for libwebpextras"
92a5da9c sync versions with 0.4.3
9d4e2d16 Merge "~30% faster smart-yuv (-pre 4) with early-out criterion"
b1bdbbab ~30% faster smart-yuv (-pre 4) with early-out criterion
7efb9748 Merge "Disable NEON code on Native Client"
ac4f5784 Disable NEON code on Native Client
0873f85b AnimEncoder API: Support input frames in YUV(A) format.
5c176d2d add shell for libwebpextras
44bd9561 fix signature for VP8RecordCoeffTokens()
c9b8ea0e small cosmetics on TokenBuffer.
76394c09 Merge "MIPS: dspr2: added optimization for TrueMotion"
0f773693 WebPPictureRescale: add a note about 0 width/height
241bb5d9 MIPS: dspr2: added optimization for TrueMotion
6cef0e4f examples/Android.mk: add webpmux_example target
53c16ff0 Android.mk: add webpmux target
21852a00 Android.mk: add webpdemux target
8697a3bc Android.mk: add webpdecoder{,_static} targets
4a670491 Android.mk: split source lists per-directory
b5e79422 MIPS: dspr2: Added optimization for some convert functions
0f595db6 MIPS: dspr2: Added optimization for some convert functions
8a218b4a MIPS: [mips32|dspr2]: GetResidualCost rebased
ef987500 Speedup method StoreImageToBitMask by 5%.
602a00f9 fix iOS arm64 build with Xcode 6.3
23820507 1-2% faster encoding by removing an indirection in GetResidualCost()
eddb7e70 MIPS: dspr2: added otpimization for DC8uv, DC8uvNoTop and DC8uvNoLeft
73ba2915 MIPS: dspr2: added optimization for functions RD4 and LD4
c7129da5 Merge "4-5% faster encoding using SSE2 for GetResidualCost"
94380d00 MIPS: dspr2: added optimizaton for functions VE4 and DC4
2a407092 4-5% faster encoding using SSE2 for GetResidualCost
17e19862 Merge "MIPS: dspr2: added optimization for simple filtering functions"
3ec404c4 Merge "dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage"
b969f5df dsp: normalize WEBP_TSAN_IGNORE_FUNCTION usage
d7b8e711 MIPS: dspr2: added optimization for simple filtering functions
235f774e Merge "MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C"
42a8a628 MIPS: dspr2: Added optimization for function VP8LTransformColorInverse_C
b442bef3 Merge "ApplyFiltersAndEncode: only copy lossless stats"
b510fbfe doc/webp-container-spec: note MSB order for chunk diagrams
9bc0f922 ApplyFiltersAndEncode: only copy lossless stats
3030f115 Merge "dsp/mips: add some missing TSan annotations"
dfcf4593 Merge "MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C"
55c75a25 dsp/mips: add some missing TSan annotations
2cb879f0 MIPS: dspr2: Added optimization for function VP8LAddGreenToBlueAndRed_C
e1556010 move some cost tables from enc/ to dsp/
c3a03168 Merge "picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined"
39537d7c Merge "VP8LDspInitMIPSdspR2: add missing TSan annotation"
1dd419ce picture_csp: fix build w/USE_GAMMA_COMPRESSION undefined
43fd3543 VP8LDspInitMIPSdspR2: add missing TSan annotation
c7233dfc Merge "VP8LDspInit: remove memcpy"
0ec4da96 picture_csp::InitGammaTables*: add missing TSan annotations
35579a49 VP8LDspInit: remove memcpy
97f6aff8 VP8YUVInit: add missing TSan annotation
f9016d66 dsp/enc::InitTables: add missing TSan annotation
e3d9771a VP8EncDspCostInit*: add missing TSan annotations
d97c143d Merge "doc/webp-container-spec: cosmetics"
309b7908 MIPS: mips32: Added optimization for function SetResidualCoeffs
a987faed MIPS: dspr2: added optimization for function GetResidualCost
e7d3df23 doc/webp-container-spec: cosmetics
be6635e9 Merge "VP8TBufferClear: remove some misleading const's"
02971e72 Merge "VP8EmitTokens: remove unnecessary param void cast"
3b77e5a7 VP8TBufferClear: remove some misleading const's
aa139c8f VP8EmitTokens: remove unnecessary param void cast
c24d8f14 cosmetics: upsampling_sse2: add const to some casts
1829c42c cosmetics: lossless_sse2: add const to some casts
183168f3 cosmetics: enc_sse2: add const to some casts
860badca cosmetics: dec_sse2: add const to some casts
0254db97 cosmetics: argb_sse2: add const to some casts
1aadf856 cosmetics: alpha_processing_sse2: add const to some casts
1579de3c vwebp: clear canvas at the beginning of each loop
4b9fa5d0 Merge "webp-container-spec: clarify background clear on loop"
4c82284d Updated the near-lossless level mapping.
56039479 webp-container-spec: clarify background clear on loop
19f0ba0e Implement true-motion prediction in SSE2
774d4cb7 make VP8PredLuma16[] array non-const
d7eabb80 Merge "MIPS: dspr2: Added optimization for function CollectHistogram"
fe42739c Use integers for kmin/kmax for simplicity.
b9df35f7 AnimEncode API: kmax=0 should imply all keyframes.
6ce296da MIPS: dspr2: Added optimization for function CollectHistogram