Pascal Massimino
d6228aed6a
indentation fix after I7055d3ee3bd7ed5e78e94ae82cb858fa7db3ddc0
...
Change-Id: I2145815d778321b9ccc7ac2775aaf64cf2372a42
2016-09-13 22:49:42 -07:00
Vincent Rabaud
dd538b192d
Remove unused declaration.
...
Change-Id: I8ab19654df63e7ef8aad00e97d1428c7b53ee33f
2016-09-13 16:25:46 +02:00
Vincent Rabaud
6cc48b1728
Move some lossless logic out of dsp.
...
Change-Id: I4cfd60cd5497666a2e1c188ceada2e71b05f1505
2016-09-13 15:37:32 +02:00
Pascal Massimino
78363e9e51
Merge "Remove a redundant call to InitLeft() in VP8IteratorReset()"
2016-09-13 04:47:51 +00:00
hui su
ffd01929f1
Refactor VP8IteratorNext().
...
Change-Id: I7055d3ee3bd7ed5e78e94ae82cb858fa7db3ddc0
2016-09-12 15:08:24 -07:00
hui su
c4f6d9c939
Remove a redundant call to InitLeft() in VP8IteratorReset()
...
VP8IteratorSetRow(it, 0) already did it.
Change-Id: I410e48b5205897a6a23301d8a98aa266787676c6
2016-09-12 14:41:15 -07:00
Pascal Massimino
c27d821096
Merge "smartYUV: simplify main loop"
2016-09-12 17:14:22 +00:00
Pascal Massimino
0779529616
smartYUV: simplify main loop
...
we don't need to centralize best_uv[] since target_uv[] and best_rgb_uv[]
are already centralized. The diff 'W' was just in the ~[-2,2] range, so
we can ignore the correction.
Overall speed-impact is not large, though. Around ~4% faster conversion.
Output with -pre 4 is expected to be slightly different
Change-Id: Ib59f033955577c49b084d0560108020f42d84102
also: remove the useless clipping in StoreGray()
2016-09-12 18:51:40 +02:00
Vincent Rabaud
c9b45863e2
Split off common lossless dsp inline functions.
...
Change-Id: I64f96897b11d1c21f033c7e47b21edccb5c68738
2016-09-12 17:35:08 +02:00
Pascal Massimino
490ae5b13d
smartYUV: improve initial state for faster convergence
...
For speed reason, the 'gray' plane was initialized with the same
value for 2x2 block. But in some cases (underlying camera noise, e.g.),
it could lead to instability during iteration, noise amplification,
and visible banding.
Using a precise (but slower) initialization solves the issue, and
since the convergence is faster, we might actually gain some speed.
Change-Id: I81c42101497e7096a8f60289d710f5a3bcb0ddea
2016-09-09 18:29:32 +02:00
Pascal Massimino
894232be56
smartYUV: fix and simplify the over-zealous stop criterion
...
We usually need at least 2 iterations to converge
(and usually not much more after that). Only 1 was not enough.
Change-Id: Iaf802ea81afa2596f4ba045c92f5eaff61623b7b
2016-09-09 10:10:13 +02:00
Hui Su
8de08483b6
Remove unused code in webpi.h
...
Change-Id: If927530034cefa0da62ddfde588833aafec51d4d
2016-09-08 22:46:32 -07:00
James Zern
41cab7fe0f
imageio/Android.mk: correct imagedec dependencies
...
this relies on imageio_util; remove the reference for dwebp as this does
not directly rely on it.
Change-Id: I09b863ae0dfe2e9c4929ff6b77e9310bb870ce35
2016-09-08 20:03:07 -07:00
James Zern
82c91c708e
Merge "libimageenc.a: extract image-saving code from dwebp"
2016-09-09 03:00:20 +00:00
Pascal Massimino
af1ad3e2dd
libimageenc.a: extract image-saving code from dwebp
...
BUG=webp:277
Change-Id: I2c0e1df7b13b1f77474b5478048fef022e90f77a
2016-09-08 19:11:26 -07:00
Pascal Massimino
dd7309e30c
Merge "doc: use two's complement explicitly for uint8->int8 conversion"
2016-09-07 05:53:38 +00:00
Pascal Massimino
6105777e8c
Merge "add gif2webp to CMake"
2016-09-06 12:11:05 +00:00
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
Vincent Rabaud
4bda0cfba4
add gif2webp to CMake
...
Change-Id: I9eec1e590ae5b523e0dd65a2ed9d094696346f5a
2016-09-05 18:12:24 +02:00
James Zern
6029c7fe68
Merge "remove mention of fragment, frgm, FRGM, etc."
2016-09-02 17:46:51 +00:00
Pascal Massimino
545c147fd8
remove mention of fragment, frgm, FRGM, etc.
...
demux.h still has a 'fragment' field, for historical reasons.
bumped the ABI number in mux.h
Change-Id: I73299aa2e96b1f2e44f5cebfd84c597d1db12bff
2016-09-02 14:43:12 +02:00
James Zern
5b46f7fc80
cwebp.1: improve some grammar
...
Change-Id: Id849d7e0d7573f5b8d3b2e807d95e9c628f03b1e
2016-09-02 00:08:14 -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