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
James Zern
183cba83a7
check VP8LBitWriterInit return
...
Change-Id: I460906281598f5792bd75a25b14b449c8daaff8c
2012-07-31 12:11:40 -07:00
James Zern
cbfa9eecf4
lossless: fix crash on user abort
...
avoid free on uninitialized bit writer buffer
Change-Id: I1a41b2cea421bf5a2ea0af33c6e84018cb997caf
2012-07-31 11:59:54 -07:00
James Zern
475d87d767
WebPEncode: clear stats at the start of encode
...
also relocate user_data from WebPAuxStats to the WebPPicture struct to
make clearing easier while placing it closer to the progress hook with
which it's used.
prior to this change some spurious lossless data could be reported in
the lossy (sans alpha) encoding case. additionally user_data could be
lost during lossless encoding.
Change-Id: I929fae3dfde4d445ff81bbaad51445ea586dd80b
2012-07-27 19:57:18 -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