Pascal Massimino
13ae011e4c
doc: use two's complement explicitly for uint8->int8 conversion
...
BUG=webp:225
Change-Id: I6bad131e275dbd992484e95a1b834010121281b8
2016-09-05 10:57:56 -07:00
hui su
9e478f808e
dec/vp8l.c: add assertions in EmitRescaledRowsRGBA/YUVA
...
Add assertions to make sure the number of lines that are imported
into rescaler is as expected.
Change-Id: I3e9e4202e696bb09f7aa54519285b6b0deb84c1a
2016-09-01 20:58:37 -07:00
hui su
43bd895879
Make gif transparent color to be transparent black
...
Change it from transparent white to transparent black, which matches
the transparent color assumed in Webp dispose-to-background method.
Also pre-multiply background colors before comparison in anim_diff,
just as what is done with regular pixel values.
Change-Id: I5a790522df21619c666ce499f73e42294ed276f2
2016-09-01 16:50:14 -07:00
Pascal Massimino
0887fc2d85
Merge "get_disto: add a '-o file' option to save a diff map"
2016-08-31 06:24:49 +00:00
Pascal Massimino
0de48e187d
get_disto: add a '-o file' option to save a diff map
...
also: -scale option is useful for using the maximum range.
Change-Id: I8ede7132b08ece7d3b6f699b710ab2ef3fb0b734
2016-08-31 05:31:30 +00:00
James Zern
0a57ad0dc5
cosmetics: WebPSafeAlloc -> WebPSafeMalloc
...
Change-Id: I0c47b827cadc18cf739f1648c605311c9bc41375
2016-08-30 18:34:37 -07:00
James Zern
0a4699bcc9
Merge "WebPPictureDistortion(): free() -> WebPSafeFree()"
2016-08-31 01:27:06 +00:00
hui su
29fedbf58b
Anim_encoder: correctly handle enc->prev_candidate_undecided_
...
Set enc->prev_candidate_undecided_ as 0 when a frame is not chosen
as a possible keyframe, so that the dispose method can be
dispose-to-background.
Change-Id: If2899f5dbc06fb53705fb8240072ab6440a6de12
2016-08-30 15:25:09 -07:00
Pascal Massimino
32dead4ee3
WebPPictureDistortion(): free() -> WebPSafeFree()
...
missed one!
Change-Id: I643170451b3ac07c748b70a9abfe8af17a716b24
2016-08-30 15:43:23 +02:00
Vincent Rabaud
85cd5d061c
Smarter LZ77 for uniform regions.
...
No need to find backward references for pixels in uniform regions
by looking at all pixels.
Only pixels at the same distance from the end need to be compared to.
Change-Id: I4f187e965f0667d3a929775726a412f7e69f6473
2016-08-26 09:53:49 +02:00
Pascal Massimino
6585075f8a
Change PixelsAreSimilar() to handle black pixels correctly.
...
if src_{r,g,b} = 0, any value of src_a or dst_a such that
abs(src_a - dst_a) <= max_allowed_diff
was making the test pass, despite being very different-looking pixels.
The fix is to require same values for src_a and dst_a before attempting
an r/g/b comparison.
Change-Id: If3a55a229eab3904ed454f20065e49e35c39f25c
2016-08-25 07:33:18 +02:00
Pascal Massimino
c0a27fd2af
vwebp: Clear previous frame when a key triggers a redraw
...
otherwise, transparent areas were accumulating.
Change-Id: I066a96a2bcf0cac750b3df0c02229542b1ed3473
2016-08-24 11:04:17 +02:00
Pascal Massimino
57a5e3b6a5
webp_quality should return '0' in case of success.
...
-> clarify the return value in case of error
Change-Id: I6f1e675c80d237b302fada28e7612a684b931c7a
2016-08-20 21:07:31 +02:00
Vincent Rabaud
7f1b897bee
Faster stochastic histogram merging.
...
Constants are such that brute force is sometimes faster for some
data (mostly big images it seems).
Change-Id: I90aef536408683535e3b09ddfa2e77a9834038f6
2016-08-19 14:52:57 +02:00
James Zern
48c810b85c
Merge "remove WEBP_FORCE_ALIGNED and use memcpy() instead."
2016-08-18 03:38:44 +00:00
Pascal Massimino
3884972e3f
remove WEBP_FORCE_ALIGNED and use memcpy() instead.
...
BUG=webp:297
Change-Id: I89a08debec7bb1b3f411c897260ab1bb63f77df2
2016-08-17 20:16:03 -07:00
Pascal Massimino
485cac1a88
switch libimagedec.a and libimageio_util.a to avoid undefined symbol
...
gcc-4.8.3 was giving the undefined reference to ImgIoUtilReadFile and
ImgIoUtilCopyPlane when linking libimagedec.a
Change-Id: I8b85ab3a860602535629d0bb541a39754413728e
2016-08-17 19:48:08 -07:00
James Zern
005e15b10a
Merge "{extras,mux}/Makefile.am: add missing -lm"
2016-08-17 18:18:39 +00:00
skal
6ab496ed22
fix some 'unsigned integer overflow' warnings in ubsan
...
I couldn't find a safe way of fixing VP8GetSigned() so i just
used the big-hammer.
Change-Id: I1039bc00307d1c90c85909a458a4bc70670e48b7
2016-08-16 23:18:27 -07:00
James Zern
8a4ebc6ab0
Revert "fix 'unsigned integer overflow' warnings in ubsan"
...
This reverts commit e44f5248ff
.
contains unintentional changes in quant.c
Change-Id: I1928f072566788b0c9ea80f6fbc9e571061f9b3e
2016-08-16 16:55:56 -07:00
Pascal Massimino
9d4f209f80
Merge changes I25711dd5,I43188fab
...
* changes:
Fix assertions in WebPRescalerExportRow()
Add descriptions of default configuration in help info.
2016-08-16 22:13:23 +00:00
skal
e44f5248ff
fix 'unsigned integer overflow' warnings in ubsan
...
I couldn't find a safe way of fixing VP8GetSigned() so i just
used the big-hammer.
Change-Id: I1039bc00307d1c90c85909a458a4bc70670e48b7
2016-08-16 15:04:41 -07:00
Hui Su
27b5d991e2
Fix assertions in WebPRescalerExportRow()
...
Change-Id: I25711dd54e71c90a25f7b18e0ef9155e8151a15e
2016-08-16 14:32:48 -07:00
Hui Su
74f6f9e793
Add descriptions of default configuration in help info.
...
Change-Id: I43188fab5f57bd45aa3e564df52e36cc37b1bb2f
2016-08-16 14:32:46 -07:00
James Zern
aaf2530cc3
{extras,mux}/Makefile.am: add missing -lm
...
+ libwebpmux.pc
quality_estimate.c, anim_encode.c rely on functions from math.h
BUG=webp:306
Change-Id: I3a8eb48febfd52bfbeb04f4dc615ccbed72926f7
2016-08-15 22:32:46 -07:00
hui su
1269dc7cfb
Refactor VP8LColorCacheContains()
...
Return key/index if the query is found, and -1 otherwise.
The benefit of this is to save a hashing computation.
Change-Id: Iff056be330f5fb8204011259ac814f7677dd40fe
2016-08-12 15:16:06 -07:00
James Zern
40872fb2e6
dec_neon,NeedsHev: micro optimization
...
trade 2 compares + 1 logical or for max + compare
Change-Id: I785ad8efdc64db2d0609456d6e7af795ab2117d8
2016-08-08 20:12:30 -07:00
Vincent Rabaud
7b54e26bac
Add a CMake option for WEBP_SWAP_16BIT_CSP.
...
Change-Id: I79ed6cbce9563bf7ca97fc2e10ec3e75b6b8ab5b
2016-08-05 09:45:34 +02:00
Vincent Rabaud
d2223d8d6c
Fix missing cpu-features for Android.
...
Change-Id: Ief13b7c63b96194970b00a5732aa080f794e7ae6
2016-08-05 09:26:32 +02:00
James Zern
bf16a4b4f8
Merge "cpu.cmake: improve webp_check_compiler_flag output"
2016-08-05 01:53:16 +00:00
James Zern
ee1057e3b1
cpu.cmake: improve webp_check_compiler_flag output
...
WEBP_HAVE_FLAG_LOCAL -> WEBP_HAVE_FLAG_${WEBP_SIMD_FLAG} this will
include the flag being tested in the output:
-- Performing Test WEBP_HAVE_FLAG_NEON
Change-Id: I1c0a143a857b16e4eb1fcf8b23c176380a5fef29
2016-08-03 19:55:18 -07:00
James Zern
b551e587b3
cosmetics: add {}s on continued control statements
...
for consistency within the codebase. in some cases simply join the
lines.
Change-Id: I071f061052e274c8a69f651ed4305befb4414a40
2016-08-03 19:08:59 -07:00
James Zern
d2e4484ef3
dsp/Makefile.am: put msa source in correct lib
...
upsampling_msa.c was incorrectly included in the neon convenience lib
+ sort msa sources
Change-Id: I7c4883f16a5c2fed12bfa0e8d8d6a7acd5d4fb84
2016-08-03 17:50:45 -07:00
Pascal Massimino
c7f66c82b3
Merge "utils/thread.c,cosmetics: join a few lines"
2016-07-28 04:08:48 +00:00
Pascal Massimino
98d8f295b1
Merge "examples/Makefile.am,cosmetics: sort binary targets"
2016-07-28 01:17:36 +00:00
James Zern
39f4ffbcdc
utils/thread.c,cosmetics: join a few lines
...
Change-Id: I94c142fc6f9e6823ce16ca723145354eae4db9af
2016-07-27 18:10:18 -07:00
Pascal Massimino
a86ce2b1e2
Merge "extras/Makefile.am: don't install libwebpextras"
2016-07-28 01:07:56 +00:00
James Zern
6fa9fe2482
extras/Makefile.am: don't install libwebpextras
...
the version info was stripped earlier in:
ad497fb
move src/extras to the top-level
Change-Id: I15134d95f49fbd3830df82667af12b8f3a5a7673
2016-07-26 19:19:56 -07:00
hui su
0b2c58a91c
Fix an unsigned integer overflow error in enc/cost.h
...
Change-Id: I9774b59c417c185f09a61a115364b9642976a100
2016-07-26 13:55:09 -07:00
James Zern
d7ce4a2e3e
examples/Makefile.am,cosmetics: sort binary targets
...
Change-Id: I1a592bfcdf55b41814eaf971b43a773c26fbb651
2016-07-25 22:39:54 -07:00
hui su
386e4ba2f0
Reset segment id if we decide not to update segment map
...
This avoids potential encoder and decoder mismatch.
Change-Id: I5282d3e168afc6193033ad3fce8fbc35618ab2f5
2016-07-25 17:08:10 -07:00
Parag Salasakar
7b87e8485b
Merge "Add MSA optimized YUV to RGB upsampling functions"
2016-07-22 17:26:33 +00:00
Parag Salasakar
d3ddacb625
Add MSA optimized YUV to RGB upsampling functions
...
We add the following MSA optimized YUV to RGB upsampling functions:
- UpsampleRgbLinePair
- UpsampleBgrLinePair
- UpsampleRgbaLinePair
- UpsampleBgraLinePair
- UpsampleArgbLinePair
- UpsampleRgba4444LinePair
- UpsampleRgb565LinePair
Change-Id: I7264a615edc7eb376e443e9d38bd8e3c9a2cab1f
2016-07-22 14:28:30 +00:00
Pascal Massimino
eb98d8d87c
webp_quality: detect lossless format and features
...
lossless bitstream are returned as quality 101
Change-Id: I8b28287169b710ecf8d4d694abbf0cedc6447908
2016-07-22 00:16:56 -07:00
James Zern
ebee57f4d1
move imageio/example_util.[hc] (back to) examples/
...
decoding and file i/o have been split to imageio, all that remains is
some string routines used for parameter parsing in the examples
Change-Id: I77386cd8aa39124b9e14c95fdbaa17ea4ab5bb24
2016-07-21 20:41:03 -07:00
James Zern
99542bbf3e
webpdec: s/ExUtil//
...
PrintWebPError, LoadWebP, DecodeWebP, DecodeWebPIncremental
Change-Id: Ie17578b91c7efdf6e5fe63568a95f79788b7f8ee
2016-07-21 20:40:11 -07:00
James Zern
da573cf490
imageio_util: s/ExUtil/ImgIoUtil/
...
ExUtil(SetBinaryMode|ReadFile|ReadFromStdin|WriteFile|CopyPlane) ->
ImgIoUtil(SetBinaryMode|ReadFile|ReadFromStdin|WriteFile|CopyPlane)
Change-Id: I5497f8fe514347efeb83b8b8866ef334390fc18e
2016-07-21 20:40:11 -07:00
James Zern
bdda5bd4bf
split example_util.h
...
move ExUtil*File to imageio_util.h
ExUtil*WebP* to webpdec.h
string parsing routines remain
Change-Id: I0560c4a74e86710d83bc4b5b234f1b5ef9a86f9d
2016-07-21 19:14:58 -07:00
James Zern
15ed462b2d
.gitignore: add extras/{get_disto,webp_quality}
...
Change-Id: Ibc0178e3abdf8de86183cbfded9a9b2400246ac7
2016-07-21 15:26:48 -07:00
Pascal Massimino
7be5748963
Merge "VP8EstimateQuality(): roughty estimate webp bitstream quality factor"
2016-07-21 13:48:19 +00:00