Pascal Massimino
55b2fede7f
normalize the macros' "do {...} while (0)" constructs
...
(so we're no longer bitten by the extra ';' problem!)
Change-Id: Icf849c97df9a7af135ba15a7906fc28590d7ce77
2016-06-27 15:30:05 -07:00
Parag Salasakar
701c772eed
Add MSA optimized colorspace conversion functions
...
We add the following MSA optimized colorspace conversion functions:
- ConvertBGRAToRGBA
- ConvertBGRAToBGR
- ConvertBGRAToRGB
Change-Id: I76db1c829d593a06d4975d54dbafa385c82b84fb
2016-06-27 21:19:06 +00:00
Vincent Rabaud
c7eb06f737
Fix corner case in CostManagerInit.
...
Change-Id: I91795d05eb78816d6d9a8cadc64d3814650d2aee
2016-06-27 20:01:44 +02:00
Pascal Massimino
f918cb1013
fix rescaling bug: alpha plane wasn't filled with 0xff
...
(in case no alpha was present in the source .webp,
but user requested some)
Change-Id: I9011d38237907c60d6796a86bd2c72166aa80f27
(cherry picked from commit 06a38c7b1c
)
2016-06-27 10:48:31 -07:00
James Zern
ab7937a5c7
gif2webp: normalize the number of .'s in the help message
...
Change-Id: I3a2412f391b3244c172ee28819e8e606a9674aa9
2016-06-24 19:29:43 -07:00
James Zern
3cdec847a5
vwebp: normalize the number of .'s in the help message
...
Change-Id: Iadaa5a8f64cd8093eeeaf829ba609bef034d63b5
2016-06-24 19:29:43 -07:00
James Zern
bdf6241e70
cwebp: normalize the number of .'s in the help message
...
Change-Id: I0208c01a671bd822ee707c6d8ead3d5348b3e2c6
2016-06-24 19:29:43 -07:00
Pascal Massimino
06a38c7b1c
fix rescaling bug: alpha plane wasn't filled with 0xff
...
(in case no alpha was present in the source .webp,
but user requested some)
Change-Id: I9011d38237907c60d6796a86bd2c72166aa80f27
2016-06-24 17:15:31 +02:00
Vincent Rabaud
319e37be13
Improve lossless compression.
...
This is essentially a revert of a3611513d2
and cfbcc5ece0
.
Here is what happened: there was a corruption bug that eventually
got fixed by 0174d18d8b
.
But before finding the root, a3611513d2
and cfbcc5ece0
hid the bug
by not imposing length of 1 when it was actually 2 or 3 (which does help
compression as a litteral is more efficient than an offset and a length
of size 2 or 3).
Change-Id: I6f18fc1f583a51ac9d8aab2508458264047cd493
2016-06-24 16:11:25 +02:00
Parag Salasakar
6a19793777
Add MSA optimized intra pred chroma functions
...
We add the following MSA optimized intra pred chroma functions:
- DC8uv
- TM8uv
- VE8uv
- HE8uv
- DC8uvNoTop
- DC8uvNoLeft
- DC8uvNoTopLeft
Change-Id: I48ad2409f334371acd38f4a70626ebcf2e10f4fe
2016-06-24 08:45:29 +00:00
Pascal Massimino
447adbce1e
'our bug tracker' -> 'the bug tracker'
...
(less exclusive wording)
(also a good opportunity to update the date)
Change-Id: Ife221f3f8ac3c38db93ec91954123edc3d8a4a6b
2016-06-23 16:06:12 -07:00
Pascal Massimino
97b9e64459
normalize the number of .'s in the help message
...
Change-Id: I2dbb36cbdc3cb93364d9e1dd6da10d3a5f9470af
2016-06-23 16:06:09 -07:00
Parag Salasakar
293d786f31
Added MSA optimized intra prediction 16x16 functions
...
1. DC16
2. TM16
3. VE16
4. HE16
5. DC16NoTop
6. DC16NoLeft
7. DC16NoTopLeft
Change-Id: I53c57c27cee40973b7ee40a7b7a7fbf0df812d1a
2016-06-23 13:09:02 +00:00
Parag Salasakar
0afa0ce2ff
Added MSA optimized intra prediction 4x4 functions
...
1. DC4
2. TM4
3. VE4
4. RD4
5. LD4
Change-Id: Ib73131f9174aac13443160d2c2add1af90a3bd45
2016-06-23 10:49:34 +00:00
Parag Salasakar
a6621bacf3
Added MSA optimized simple edge filtering functions
...
1. SimpleVFilter16
2. SimpleHFilter16
3. SimpleVFilter16i
4. SimpleHFilter16i
Change-Id: Ib330e01960623aeeed1bdb5bc8155cc6657556f9
2016-06-23 06:52:01 +00:00
James Zern
bb50bf42b0
pngdec,ReadFunc: throw an error on invalid read
...
convert the assert() to an error check to avoid crashing when reading
malformed files.
BUG=webp:302
Change-Id: I25eed9cab5c0a439bd3411beacc83f3a27af2bbf
2016-06-22 23:09:30 -07:00
James Zern
38063af131
decode.h,WebPGetInfo: normalize function comment
...
use true/false to match the documentation of other functions.
Change-Id: If059f8fb6d771a165e4682495fd8881b3dc0670f
2016-06-22 15:20:47 -07:00
Parag Salasakar
1ebf193c2c
Added MSA optimized chroma edge filtering functions
...
1. VFilter8
2. HFilter8
3. VFilter8i
4. HFilter8i
Change-Id: Iea5f0107178809dc31f3d9ba817e2474bd73fc0a
2016-06-22 13:51:29 +00:00
Parag Salasakar
9ad2352d0d
Merge "Added MSA optimized edge filtering functions"
2016-06-22 10:45:15 +00:00
Parag Salasakar
607510967f
Added MSA optimized edge filtering functions
...
1. VFilter16
2. HFilter16
3. VFilter16i
4. HFilter16i
Change-Id: I6a302c5ab40329c9e9bd1501a611d7267a983d81
2016-06-22 09:35:49 +00:00
Vincent Rabaud
9e8e1b7b2a
Inline GetResidual for speed.
...
Change-Id: Ib4228e87dc448866229c0795ca68dabe777ef31c
2016-06-21 16:04:53 +02:00
Vincent Rabaud
7d58d1b7b9
Speed-up uniform-region processing.
...
Change-Id: I9a88d0ac97c31d19323c9505ebe21f375d2e96b8
2016-06-21 15:45:46 +02:00
Pascal Massimino
8ec7032bc2
simplify HistogramCombineEntropyBin()
...
We only perform a single pass, and swap the final histograms
into the beginning of the array as we go. Therefore, they are
already at the correct place at the end of the pass.
-> HistogramCompactBins() is removed, we just truncate the array.
output is bitwise the same.
Change-Id: I9508c96dda0f8903c927a71b06af4e6490c3249c
2016-06-21 14:13:36 +02:00
Pascal Massimino
23e29cb1e3
Merge "Fix a boundary case in BackwardReferencesHashChainDistanceOnly." into 0.5.1
2016-06-20 16:06:39 +00:00
Pascal Massimino
472a049b4e
remove bin_map[] allocation altogether
...
... and just re-use histogram_symbols[] instead!
It's guaranteed to work.
Change-Id: Ie3b0cd5781171ded20058e8bc143fce2f69b4c68
2016-06-20 11:19:25 +02:00
Pascal Massimino
0bb23b2cf7
free -> WebPSafeFree()
...
avoids unbalanced memory track at the end (w/ PRINT_MEM_INFO flag on)
Change-Id: I70da087f079198bcaacd0c81593f104058dcac69
2016-06-17 17:49:07 +02:00
Pascal Massimino
a977b4b513
Merge "rewrite the bin_map clustering to use less memory"
2016-06-17 08:25:35 +00:00
Pascal Massimino
3591ba6684
rewrite the bin_map clustering to use less memory
...
output should bit-write the same as before, in both
low_effort and non low_effort modes.
if anything, speed is a tad faster, probably because of the
reduced memory traffic.
Change-Id: Iaa2ddcfda2aaffefe7e5b7bc89216373d1ddb194
2016-06-17 09:52:36 +02:00
James Zern
e6ac450cbd
utils.[hc]: s/MAX_COLOR_COUNT/MAX_PALETTE_SIZE/
...
MAX_COLOR_COUNT was just a synonym and its use in the header was a bit
strange given the visibility of that define.
Change-Id: I536964ddc14a0c48263191b6afb80695b5a038e6
2016-06-16 23:14:30 -07:00
Pascal Massimino
e7b917726f
Merge "DecodeImageData(): change the incorrect assert" into 0.5.1
2016-06-17 06:07:44 +00:00
Pascal Massimino
2abfa54f95
DecodeImageData(): change the incorrect assert
...
this function can be called not to decode pixels, but simply
to finish processing (through process_func()) the already decoded
pixels.
Change-Id: I80485e92e3c47f0aa3389476dcb82745a243fc4a
2016-06-16 22:24:30 -07:00
James Zern
5a48fcd8a1
Merge "configure: test for -Wfloat-conversion"
2016-06-16 17:57:58 +00:00
Vincent Rabaud
0174d18d8b
Fix a boundary case in BackwardReferencesHashChainDistanceOnly.
...
The optimization for (len != MIN_LENGTH) actually only holds for
(len > MIN_LENGTH) but (len < MIN_LENGTH) can now happen as len can
be changed in the loop before.
Change-Id: I3f9f91a540206c80385c5fba96c3d64ab9536752
2016-06-16 19:22:28 +02:00
Parag Salasakar
6a9c262aa8
Merge "Added MSA optimized transform functions"
2016-06-16 10:53:43 +00:00
Vincent Rabaud
cfbcc5ece0
Make sure to consider small distances in LZ77.
...
This could corrupt certain images since commit
a3611513d2
Change-Id: Ifbe43abaafe8efb27c62af18039fea5a9dc4e062
2016-06-16 09:14:11 +00:00
Parag Salasakar
5e60c42a76
Added MSA optimized transform functions
...
1. TransformWHT
2. TransformTwo
3. TransformDC
4. TransformAC3
Change-Id: Ia3624cb4aed215bcaffce542b28794e643207039
2016-06-16 09:04:27 +00:00
James Zern
3dc28d7643
configure: test for -Wfloat-conversion
...
Change-Id: Ib7d0372dc43994d66228f7dd3ce4dc3b80a5482d
2016-06-15 23:54:10 -07:00
Pascal Massimino
f2a0946a7a
add some asserts to delimit the perimeter of CostManager's operation
...
a small protection in a fairly complex code.
Change-Id: I920e10e1fc1c35da2cf486349417048d516ff2b9
2016-06-15 20:55:32 +02:00
Pascal Massimino
9a583c66f9
fix invalid-write bug for alpha-decoding
...
On the non-fast path (use_8b_decode_=0) for decoding the alpha-mask,
we could end up requesting ApplyInverseTransform() with more rows
to process than NUM_ARGB_CACHE_ROWS. This could only happen on the
very last bottom rows of the image.
* ProcessRows() doesn't need to be fixed, since we never request more
than NUM_ARGB_CACHE_ROWS rows. Added an assert for that.
* the use_8b_decode_=1 case doesn't use argb_cache_, but rather does
the palette-decoding call directly. So, no problem here too.
Only the generic (and rather rare) case of calling ExtractAlphaRows()
was affected.
Change-Id: I58e28d590dcc08c24d237429b79614abcef1db7c
2016-06-15 16:46:19 +02:00
James Zern
f66512db94
make gradlew executable
...
Change-Id: If3456966b193ff6710463364917522378ebeeee3
2016-06-14 23:42:41 -07:00
James Zern
6fda58f137
backward_references: quiet double->int warning
...
since:
059aab4
Fix a compression regression for images with long uniform
regions.
Change-Id: I1783a74220961e8bc3bb42696e3412fe4bfc4ddb
2016-06-14 15:27:58 -07:00
Pascal Massimino
a48cc9d201
Merge "Fix a compression regression for images with long uniform regions." into 0.5.1
2016-06-14 21:26:06 +00:00
Pascal Massimino
cc2720c1d5
Merge "Revert an LZ77 boundary constant." into 0.5.1
2016-06-14 21:25:08 +00:00
Vincent Rabaud
059aab4fa1
Fix a compression regression for images with long uniform regions.
...
Change-Id: Id87a4ac2a22daaa71e8f3132e69703b9b3ddd752
2016-06-14 21:51:10 +02:00
Vincent Rabaud
b0c7e49e58
Check more backward matches with higher quality.
...
Change-Id: I3f0887b0b9b7f0e69758f51783807e1583b74be2
2016-06-14 21:50:03 +02:00
Vincent Rabaud
a3611513d2
Revert an LZ77 boundary constant.
...
This is getting back to the old behavior which is actually better for
compression and speed with the latest patches.
Change-Id: I35884bab02589297c25d6e1e66dc5f13e05f7aa7
2016-06-14 21:42:45 +02:00
James Zern
8190374c2b
README: fix typo
...
Change-Id: Id744d5f994bed6522f3be7d6b90e6b78bd8da587
2016-06-13 22:48:04 -07:00
James Zern
7551db445e
update NEWS
...
Change-Id: I022f975ed1b2f6d9ccbf4a3f4c4bd2113eafacfd
2016-06-13 20:06:37 -07:00
James Zern
0fb2269c4d
bump version to 0.5.1
...
libwebp{,decoder} - 0.5.1
libwebp libtool - 6.1.0
libwebpdecoder libtool - 2.1.0
mux - 0.3.1
libtool - 2.1.0
demux (no changes) - 0.3.0
libtool - 2.0.0
Change-Id: I6f51bfaccf33ff7a1492f3e8f888324d7afc0f4b
2016-06-13 19:10:21 -07:00
James Zern
f45376101c
update AUTHORS & .mailmap
...
Change-Id: Ia0e25b9af8dd66f16ca75bd35bcd3e5e41c0bdbd
2016-06-13 19:01:37 -07:00