James Zern
33109f990a
Merge "drop: ifdef __cplusplus checks from C files"
2013-12-16 20:13:09 -08:00
James Zern
7f9de0b948
Merge changes I994a5587,I8467bb71,I13b50688,I1e2c9c7b
...
* changes:
gif2webp: let -- stop parameter parsing
vwebp: let -- stop parameter parsing
cwebp: let -- stop parameter parsing
dwebp: let -- stop parameter parsing
2013-12-16 16:53:27 -08:00
James Zern
5459030be0
gif2webp: let -- stop parameter parsing
...
this enables gif2webp to accept input files starting with '-'
Change-Id: I994a5587e16e3af83ca45bfda8caf2dc39068b6c
2013-12-16 15:15:20 -08:00
James Zern
a4b0aa06ee
vwebp: let -- stop parameter parsing
...
this enables vwebp to accept input files starting with '-'
Change-Id: I8467bb719ba745b2aa14a5c5ce2ff392cd9601d5
2013-12-16 15:14:00 -08:00
James Zern
98af68fe26
cwebp: let -- stop parameter parsing
...
this enables cwebp to accept input files starting with '-'
Change-Id: I13b506886c3df8a4e8fb350f3d365eaf7e072a4a
2013-12-16 15:13:54 -08:00
James Zern
a33831e21a
dwebp: let -- stop parameter parsing
...
this enables dwebp to accept input files starting with '-'
Change-Id: I1e2c9c7bc2963d77be039c99e72f744560f0b0a2
2013-12-16 15:13:32 -08:00
Pascal Massimino
363012497b
add some checks on error paths
...
malloc failure could lead to free'ing non-initialized pointers
Change-Id: I8156aac1fce9a47825cfd0d88eb2bd8c38a630d5
2013-12-16 13:33:45 -08:00
James Zern
ce4c713904
Merge "autoconf: add --disable-wic"
2013-12-16 10:45:11 -08:00
James Zern
5227d99146
drop: ifdef __cplusplus checks from C files
...
the prototypes are already marked in the headers
Change-Id: I172fe742200c939ca32a70a2299809b8baf9b094
2013-12-13 11:42:13 -08:00
James Zern
f64535591c
dwebp.1: fix typo
...
ICM4 -> IMC4
Change-Id: I065a1ac0dfd0b60efa782bc1a4df1adcb28b90e4
2013-12-12 20:38:23 -08:00
James Zern
f91034f241
Merge "cwebp: print metadata stats when no output file is given"
2013-12-12 19:28:35 -08:00
Urvang Joshi
d49345533f
gif2webp: Backward compatibility for giflib version <= 4.1.3
...
Fixes https://code.google.com/p/webp/issues/detail?id=172
We use 'int' instead of 'GifWord', which was introduced in version
4.1.4.
Tested OK on 4.1.3
(http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib%204.1.3/ )
and 5.0.4
Change-Id: I77628b0f9175a91eb3a22e64fc55dd00633add1f
2013-12-11 08:46:38 -08:00
Urvang Joshi
4c617d3286
gif2webp: Disable output of ICC profile by default
...
This is to discourage generation of animated WebP images with ICC
profile, as
the real-world use-case for such images is rare at best.
Output of ICC/XMP metadata is now controlled by the '-metadata' option.
Change-Id: I8e3e29878c32bf46cbc661f50661bac602603c43
2013-12-10 14:53:06 -08:00
skal
73b731fb42
introduce a special quantization function for WHT
...
WHT is somewhat a special case: no sharpen[] bias, etc.
Will be useful in a later CL when precision of input is changed.
Change-Id: I851b06deb94abdfc1ef00acafb8aa731801b4299
2013-12-10 14:21:47 +01:00
skal
41c0cc4b9a
Make Forward WHT transform use 32bit fixed-point calculation
...
This is in preparation for a future change where input will
be 16bit instead of 12bit
No speed diff observed.
Note that the NEON implementation was using 32bit calc already.
Change-Id: If06935db5c56a77fc9cefcb2dec617483f5f62b4
2013-12-10 06:10:52 +01:00
skal
a3359f5d2c
Only compute quantization params once
...
(all quantization params #1..#15 are the same)
Change-Id: If04058bd89fe2677b5b118ee4e1bcce88f0e4bf5
2013-12-10 05:36:23 +01:00
James Zern
7049043775
cwebp: print metadata stats when no output file is given
...
this is more consistent with the encode stats
Change-Id: I5793062b3b29f5cb891461d6faaa53b43c0a4482
2013-12-09 20:15:54 -08:00
skal
d513bb62bc
* fix off-by-one zthresh calculation
...
* remove the sharpening for non luma-AC coeffs
* adjust the bias a little bit to compensate for this
Using the multiply-by-reciprocal doesn't always give the same result
as the exact divide, given the QFIX fixed-point precision we use.
-> removed few now-unneeded SSE2 instructions (and checked for
bit-exactness using -noasm)
Change-Id: Ib68057cbdd69c4e589af56a01a8e7085db762c24
2013-12-09 13:56:04 +01:00
James Zern
ad9dec0c24
Merge "cosmetics: dwebp: fix local function name format"
2013-12-07 13:38:54 -08:00
James Zern
f737f0376a
Merge "dwebp: remove a dead store"
2013-12-07 13:38:42 -08:00
James Zern
3c3a70da6d
Merge "makefile.unix: install binaries in $(DESTDIR)/bin/"
2013-12-07 13:38:28 -08:00
James Zern
150b655f74
Merge "Android.mk: add some release compile flags"
2013-12-07 13:38:15 -08:00
James Zern
dbebd33be7
cosmetics: dwebp: fix local function name format
...
error_function -> PNGErrorFunction
Change-Id: Ic6c0e676cc47bca2c1a1e0d8e95639e780982b1b
2013-12-07 13:26:05 -08:00
James Zern
2774995185
dwebp: remove a dead store
...
Change-Id: I48205472e99e997702d25c39f1b4d7a4699c15d6
2013-12-07 13:22:22 -08:00
James Zern
a01e04fee0
autoconf: add --disable-wic
...
this allows windows builds to prefer libjpeg, libpng etc. for import and
export
Change-Id: Ibe1648b68a3f7b5016044e82530843dea46a94a4
2013-12-07 11:56:34 -08:00
James Zern
5009b22746
makefile.unix: install binaries in $(DESTDIR)/bin/
...
Change-Id: I6c8f87aaa185fc043b80800430d99deaa1e5966b
2013-12-06 20:40:12 -08:00
Pascal Massimino
bab30fcab5
Merge "fix -print_psnr / ssim options"
2013-12-05 14:04:37 -08:00
Pascal Massimino
ebef7fb307
fix -print_psnr / ssim options
...
original/compressed pictures were not converted to an adequate YUVA
colorspace before computing the distortion.
Change-Id: I37775e9b7dbd6eca16c38e235e1df325858d36a1
2013-12-05 14:03:59 -08:00
skal
cb63785545
Merge "fix bug due to overzealous check in WebPPictureYUVAToARGB()"
2013-12-04 00:54:35 -08:00
pascal massimino
8189885b6d
Merge "EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE"
2013-12-03 23:32:41 -08:00
Charles Munger
4ad7d33510
Android.mk: add some release compile flags
...
-ffunction-sections / -fdata-sections
can improve final binary size when used with --gc-sections, speed impact
untested
Change-Id: I37f4b5da2f34acede7965c2da2e1b97125473adc
2013-12-03 23:00:49 -08:00
James Zern
c12e2369d8
cosmetics: fix a few typos
...
Change-Id: I73b1900b2d960c4c57ef7078df137c776b321a1b
2013-12-03 22:36:29 -08:00
skal
6f104034a1
fix bug due to overzealous check in WebPPictureYUVAToARGB()
...
This tests prevented views to be converted to ARGB
https://code.google.com/p/webp/issues/detail?id=178
Change-Id: I5ba66da2791e6f1d2bfd8c55b5fffe6955263374
2013-12-02 15:23:12 +01:00
James Zern
3f6c35c6f3
EstimateBestFilter: use an int to iterate WEBP_FILTER_TYPE
...
this change allows the code to be built with a C++ compiler without the
addition of an operator++
Change-Id: I2f2fae720b9772abfc3c540bb2e3bf9107d96cc9
2013-11-27 20:10:45 -08:00
James Zern
cc55790e37
Merge changes I8bb7a4dc,I2c180051,I021a014f,I8a224a62
...
* changes:
mux: add some missing casts
enc/vp8l: add a missing cast
idec: add some missing casts
ErrorStatusLossless: correct return type
2013-11-27 17:06:35 -08:00
James Zern
c536afb57b
Merge "cosmetics: fix some typos"
2013-11-27 17:04:00 -08:00
skal
cbdd3e6e53
add a -dither dithering option to the decoder
...
Even at high quality setting, the U/V quantizer step is limited
to 4 which can lead to banding on gradient.
This option allows to selectively apply some randomness to
potentially flattened-out U/V blocks and attenuate the banding.
This option is off by default in 'dwebp', but set to -dither 50
by default in 'vwebp'.
Note: depending on the number of blocks selectively dithered,
we can have up to a 10% slow-down in decoding speed it seems.
Change-Id: Icc2446007f33ddacb60b3a80a9e63f2d5ad162de
2013-11-27 00:57:51 -08:00
Vikas Arora
e812401299
Updated iosbuild.sh for XCode 5.x
...
Change-Id: I4bf545c4f394c28842cbb85ac70214d2e5477ae0
2013-11-26 20:08:02 -08:00
James Zern
4931c3294b
cosmetics: fix some typos
...
Change-Id: I0d6efebd817815139db5ae87236fd8911df4d53c
2013-11-26 19:21:14 -08:00
James Zern
05aacf77c2
mux: add some missing casts
...
+ fix a return value
+ fix a param type
Change-Id: I8bb7a4dc4c76b11140f8693c909aeb10f660e6e5
2013-11-25 20:53:15 -08:00
James Zern
617d93480e
enc/vp8l: add a missing cast
...
Change-Id: I2c1800516eb4573ae2599866ace10017b865f23a
2013-11-25 20:48:13 -08:00
James Zern
46db286572
idec: add some missing casts
...
Change-Id: I021a014f1f3a597f37ba8d9f4006c8cb4100723c
2013-11-25 20:47:35 -08:00
James Zern
b524e3369c
ErrorStatusLossless: correct return type
...
int -> VP8StatusCode
Change-Id: I8a224a622e98d401a6e401047780fa6b25cb0ae4
2013-11-25 20:45:53 -08:00
skal
cb261f790f
fix a descaling bug for vertical/horizontal U/V interpolation
...
RGBToU/V calls expects two extra precision bits, they were only
given one by SUM2H and SUM2H macros.
For rounding coherency, also changed SUM1 macro.
Change-Id: I05f96a46f5d4f17b830d0420eaf79b066cdf78d4
2013-11-19 11:24:09 +01:00
James Zern
bcb3955c41
Merge changes I48968468,I181bc736
...
* changes:
demux: split chunk parsing from ParseVP8X
demux: add a tail pointer for chunks
2013-11-18 17:03:33 -08:00
Urvang Joshi
73f52133a1
gif2webp: Add a mixed compression mode
...
When '-mixed' option is given, each frame would be heuristically chosen
to be
encoded using lossy or lossless compression.
The heuristic is based on the number of colors in the image:
- If num_colors <= 31, pick lossless compression
- If num_colors >= 194, pick lossy compression
- Otherwise, try both and pick the one that compresses better.
Change-Id: I908c73493ddc38e8db35b7b1959300569e6d3a97
2013-11-17 18:04:07 -08:00
James Zern
6198715e89
demux: split chunk parsing from ParseVP8X
...
makes the header and chunk parsing portions slightly more digestible
Change-Id: I48968468b2529506b830e96a2f13e8d29976179b
2013-11-16 11:06:43 -08:00
James Zern
d2e3f4e6b5
demux: add a tail pointer for chunks
...
a large number of non-frame chunks could slow the parse
Change-Id: I181bc73626e92263c3c5b2a6dc2bf6e6a0481d52
2013-11-16 10:57:09 -08:00
James Zern
87cffcc3c9
demux: cosmetics: s/has_frames/is_animation/
...
animation matches the flag name
s/has_fragments/is_fragmented/ to match.
Change-Id: I86c834e19bab6db6610ea2ccf900ab3ebffafa8a
2013-11-16 10:32:56 -08:00
James Zern
e18e66779b
demux: strictly enforce the animation flag
...
if the flag is incorrectly set in a VP8L or VP8/ALPH single image file
the demux will now fail.
Change-Id: Id4d5f2d3f6922a29b442c5d3d0acbe3d679e468a
2013-11-14 16:01:36 -08:00