Vikas Arora
dd1c3873fe
Add image-hint for low-color images.
...
For low-color images, it may be better to not use color-palettes.
Users should treat this as one another hint (as with Photo &
Picture) and another parameter for tuning the compression density.
The optimum compression can still be obtained by running (outer loop)
compression with all possible tunable parameters.
Change-Id: Icb1a4face2a84774e16e801aee4a8ae97e232e8a
2012-07-31 23:11:19 -07:00
Pascal Massimino
4eb7aa64da
Merge "WebPCheckMalloc() and WebPCheckCalloc():" into 0.2.0
2012-07-31 18:37:14 -07:00
Pascal Massimino
80cc7303ab
WebPCheckMalloc() and WebPCheckCalloc():
...
safe size-checking versions of malloc() and calloc()
Change-Id: Iffa3138c48b9b254b3d7eaad913e1f852d9dafba
2012-07-31 16:56:39 -07:00
Pascal Massimino
a7cc729126
fix type and conversion warnings
...
avoids warning messages on MSVC mainly
Change-Id: I80f281d5263a54c6a224bb095175497cf2f4ce1e
2012-07-25 14:18:21 -07:00
Pascal Massimino
7d853d79dc
add stats for lossless
...
* Extend AuxStats with new fields
it's slightly ABI-incompatible, but i guess it's ok for 0.1.99+
I expect to add more stats later, possibly (predictor stats, etc.)
* Have cwebp report the features used by lossless
compression (either for alpha or full lossless coding)
* Print the PSNR for alpha (useful in case of -alpha_q)
* clean-up alpha.c signatures
+ misc cleanup (added const '* const ptr', etc.)
Change-Id: I157a21581f1793cb0c6cc0882e7b0a2dde68a970
2012-07-24 16:17:13 -07:00
Pascal Massimino
d39177b74c
make QuantizeLevels() store the sum of squared error
...
(instead of MSE).
Useful for directly storing the alpha-PSNR (in another patch)
Change-Id: I4072864f9c53eb4f38366e8025a2816eb14f504e
2012-07-24 15:06:18 -07:00
Pascal Massimino
5955cf5e89
replace x*155/100 by x*101581>>16
...
Don't expect a visible speed diff. it's just cool.
(and, that's one less TODO in the code).
Change-Id: Iaeb2f1c930debb51501e170ee806f2f945fb1a8d
2012-07-24 15:06:00 -07:00
Pascal Massimino
7d732f905b
make QuantizeLevels() store the sum of squared error
...
(instead of MSE).
Useful for directly storing the alpha-PSNR (in another patch)
Change-Id: I4072864f9c53eb4f38366e8025a2816eb14f504e
2012-07-23 14:26:56 -07:00
Pascal Massimino
e45a446ad5
replace x*155/100 by x*101581>>16
...
Don't expect a visible speed diff. it's just cool.
(and, that's one less TODO in the code).
Change-Id: Iaeb2f1c930debb51501e170ee806f2f945fb1a8d
2012-07-23 14:23:33 -07:00
Urvang Joshi
159b75d31a
cwebp output size consistency:
...
In case of lossless too, it should report full file size.
Fixes this issue: http://code.google.com/p/webp/issues/detail?id=126
Change-Id: I96e2bf09e6c9470a0267f5eea911d9b40d1addb3
2012-07-23 12:47:24 +05:30
James Zern
cbee59eba4
Merge commit 'v0.1.99'
...
* commit 'v0.1.99': (39 commits)
Update ChangeLog
add extra precision about default values and behaviour
header/doc clean up
Makefile.vc: fix webpmux.exe *-dynamic builds
remove INAM, ICOP, ... chunks from the test webp file.
harmonize authors as "Name (mail@address)"
makefile.unix: provide examples/webpmux target
update NEWS
README: cosmetics
man/cwebp.1: wording, change the date
add a very crude progress report for lossless
rename 'use_argb_input' to 'use_argb'
add some padding bytes areas for later use
fixing the findings by Frederic Kayser to the bitstream spec
add missing ABI compatibility checks
Doc: container spec text tweaks
add ABI compatibility check
mux.h: remove '* const' from function parameters
encode.h: remove '* const' from function parameters
decode.h: remove '* const' from function parameters
...
Conflicts:
src/mux/muxinternal.c
Change-Id: I635d095c451742e878088464fe6232637a331511
2012-07-21 12:20:19 -07:00
James Zern
d1fd78263f
Merge "add extra precision about default values and behaviour" into 0.2.0
2012-07-19 18:15:45 -07:00
Pascal Massimino
efc826e04a
add extra precision about default values and behaviour
...
Change-Id: I445f4d3b20a53d32819fe361f74443e0a0c8a632
2012-07-19 18:08:42 -07:00
Pascal Massimino
9f29635d95
header/doc clean up
...
Put emphasis on RGBA decoding instead of RGB/BGR
Clarify doc at some rough spots
Misc typo fix and cosmetics
Change-Id: Ic5fcfcc5bf4d612c5de23b0a5499f1fadde55bfe
2012-07-19 18:05:03 -07:00
Pascal Massimino
2fc1301577
harmonize authors as "Name (mail@address)"
...
Change-Id: I85bfae61a37de75a5ed945a906002de2ef75149f
2012-07-19 16:09:47 -07:00
James Zern
3e5bbe1c2e
Merge "rename 'use_argb_input' to 'use_argb'" into 0.2.0
2012-07-18 23:26:42 -07:00
James Zern
ce90847a40
Merge "add some padding bytes areas for later use" into 0.2.0
2012-07-18 23:26:18 -07:00
Pascal Massimino
0275159143
add a very crude progress report for lossless
...
better than nothing. Removed the warning in cwebp.c
(and silenced the warning in quiet mode too)
Change-Id: I85bbeaf77e0f60ead798886043dc053e6b44def5
2012-07-18 22:54:50 -07:00
Urvang Joshi
a4b9b1c604
Remove some unused enum values.
...
- WEBP_MUX_INVALID_PARAMETER: was used only at one place, and that too
should actually be an assert().
- WEBP_MUX_ERROR: was never used.
Change-Id: I8883cb4dfae7a7918507501f21fced0c04dda36a
2012-07-19 11:23:37 +05:30
Pascal Massimino
dd1081763c
rename 'use_argb_input' to 'use_argb'
...
long name, and there's not really an 'output' equivalent
Change-Id: I9133ff734ae8d6572cb2f607211361f011fc0bc1
2012-07-18 22:47:16 -07:00
Pascal Massimino
90516ae8f5
add some padding bytes areas for later use
...
so we can add few fields without breaking ABI
+ re-order fields
+ refresh the doc
Change-Id: Id60ec33934f6346e35c95fcdb4abbe1bc7b50acb
2012-07-18 22:47:13 -07:00
James Zern
ce156afccf
add missing ABI compatibility checks
...
original change:
f7f16a2
add ABI compatibility check
Change-Id: I7cd6508f8d8e0d957a3d62ad52a117876fa5ec29
2012-07-18 22:24:33 -07:00
Pascal Massimino
f7f16a2976
add ABI compatibility check
...
minor revision shouldn't matter, we only check major revision number.
Bumped all version numbers so that incompatibility starts *now*
Change-Id: Id06c20f03039845ae4cfb3fd121807b931d67ee4
2012-07-18 11:53:25 -07:00
James Zern
a3ec6225d5
mux.h: remove '* const' from function parameters
...
makes the public interface consistent and more readable
Change-Id: I33f1d1c4ee752e353e4c10636a4df4e44d7cd03f
2012-07-17 17:21:54 -07:00
James Zern
31426ebaec
encode.h: remove '* const' from function parameters
...
makes the public interface consistent and more readable
Change-Id: Ib93614e901e0af44bb64782357cfd9e724e050be
2012-07-17 16:26:54 -07:00
James Zern
9838e5d5ff
decode.h: remove '* const' from function parameters
...
makes the public interface consistent and more readable
Change-Id: I067eb5ecc1094216ef6aecc65f636f69873de8f9
2012-07-17 15:48:00 -07:00
James Zern
9ff00cae72
bump encoder/decoder versions
...
those returned by WebPGet(Encoder|Decoder)Version()
Change-Id: I7584d04060ae7ca552f8f3aaf9df294d310a5be6
2012-07-17 13:43:39 -07:00
Pascal Massimino
c2416c9b61
add lossless quick encoding functions to the public API
...
New functions:
WebPEncodeLosslessRGB()
WebPEncodeLosslessBGR()
WebPEncodeLosslessRGBA()
WebPEncodeLosslessBGRA()
Change-Id: Id56da7569eee80c57de8f1f053fb87b217d33a4b
2012-07-17 12:02:53 -07:00
James Zern
d5e5ad6356
move decode_vp8.h from webp/ to dec/
...
the functions contained in it are now private
Change-Id: Ief6c81b32ae3f6d97052edac625716e5b909e66e
2012-07-16 22:12:59 -07:00
James Zern
8d3b04a25d
Merge "header clean-up" into 0.2.0
2012-07-16 19:21:49 -07:00
James Zern
02201c35a0
Merge "remove one malloc() by making color_cache non dynamic" into 0.2.0
2012-07-16 19:21:05 -07:00
James Zern
d708ec1452
Merge "move MIN/MAX_HISTO_BITS to format_constants.h" into 0.2.0
2012-07-16 19:19:32 -07:00
James Zern
ab2da3e9fd
Merge "add a malloc() check" into 0.2.0
2012-07-16 19:18:28 -07:00
Pascal Massimino
2d571bd89f
add a malloc() check
...
mostly a sanity measure to be future-proof
Change-Id: I55a81345819b2a8e939c98f0da883dc5c0cc16a2
2012-07-16 19:15:00 -07:00
Pascal Massimino
7f0c178e46
remove one malloc() by making color_cache non dynamic
...
Change-Id: I7c71a056f79a79bfacfe64a263f1eb8476c05456
2012-07-16 19:13:58 -07:00
James Zern
6569cd7c88
Merge "VP8LFillBitWindow: use 64-bit path for msvc x64 builds" into 0.2.0
2012-07-16 19:13:30 -07:00
Pascal Massimino
23d34f3142
header clean-up
...
remove unused VP8LHistogramRemove function
make HistogramEstimateBitsHeader static
Change-Id: I0dc6a6f4c41d3c5f55a8153cd7d710c9f84582a7
2012-07-16 19:13:01 -07:00
Pascal Massimino
2a3ab6f925
move MIN/MAX_HISTO_BITS to format_constants.h
...
(under the name MAX_HUFFMAN_BITS, since the specs read:
int huffman_bits = ReadBits(3) + 2;
)
Change-Id: Ifc66576bbd8e48518d3d78a3f515f851cf1883dc
2012-07-16 19:11:54 -07:00
Pascal Massimino
985d3da6c4
Merge "shuffle variables in HashChainFindCopy" into 0.2.0
2012-07-16 19:11:00 -07:00
Pascal Massimino
cdf885c67c
shuffle variables in HashChainFindCopy
...
might lead to observable speed-up on some compiler/arch
Change-Id: I6c89ec9cd4f490e7e22b790785f80097a47d27b5
2012-07-16 19:08:59 -07:00
James Zern
7f4647eecb
Merge "clarify the colorspace naming and byte ordering of decoded samples" into 0.2.0
2012-07-16 12:16:17 -07:00
Pascal Massimino
cbf69724d2
clarify the colorspace naming and byte ordering of decoded samples
...
Change-Id: If5ac331bd1e45e7c959b5fa60248268ae2bbe861
2012-07-16 12:09:51 -07:00
Urvang Joshi
857650c8fc
Mux: Add WebPDataInit() and remove WebPImageInfo
...
Change-Id: If661f7d198e284a103a53a451e9f74805119fcf9
2012-07-16 11:12:05 +05:30
James Zern
ff771e7705
don't install webp/decode_vp8.h
...
the VP8 decode functions do not need to be public; only
GetInfo/CheckSignature need to be marked extern as they're used by
libwebpmux.
Change-Id: Id9ab4d6166b0271cf5d04563c6dac1fcc84adbdc
2012-07-14 21:23:03 -07:00
James Zern
596dff784d
VP8LFillBitWindow: use 64-bit path for msvc x64 builds
...
Change-Id: I14a3865f4091dd048e02abc99aa4e7f1e325e12a
2012-07-14 13:20:26 -07:00
James Zern
f0b5defb0a
bump versions
...
lib - 0.1.99
libtool - 3.0.0 (interface changes)
Change-Id: Id52f8b8df5b941b15af6cb54b1cc05daf322179f
2012-07-13 14:07:51 -07:00
James Zern
8130c4cc64
Merge "build: remove libwebpmux from default targets/config"
2012-07-13 11:33:52 -07:00
James Zern
05108f6ea0
Merge "More spec/code matching in mux:"
2012-07-12 23:53:58 -07:00
Urvang Joshi
6808e69db8
More spec/code matching in mux:
...
- Match offsets, duration, width/height for frames/tiles and enforce
some constraints.
- Note that this also means using 'int's instead of 'uint32_t's for
16-bit and 24-bit fields.
Change-Id: If0b229ad9fce296372d961104aa36731a3b1304b
2012-07-13 11:47:24 +05:30
James Zern
1d40a8bce8
configure: add pthread detection
...
adds a --disable-threading option to prevent the check.
uses AX_PTHREAD from:
git://git.savannah.gnu.org/autoconf-archive.git
100644 blob d90de34d14
ax_pthread.m4
Change-Id: Icf3ad1ebcf052748bc341706effcc9ba02a259e4
2012-07-12 16:27:29 -07:00