42f8f9346c
handle malloc(0) and calloc(0) uniformly on all platforms
...
also change lossless encoder logic, which was relying on explicit
NULL return from WebPSafeMalloc(0)
renamed function to CheckSizeArgumentsOverflow() explicitly
addresses issue #138
Change-Id: Ibbd51cc0281e60e86dfd4c5496274399e4c0f7f3
2013-01-22 23:40:16 +01:00
7caab1d8f6
Some cosmetic/comment fixes.
...
Change-Id: Id0613f84cc53fcbeceb913c835a262451687e27b
2012-11-09 10:46:38 -08:00
8f216f7e60
remove cases of equal comparison for qsort()
...
Returning 0 (equal) can lead to undefined behaviour.
And, in our cases we'll never have equal keys (added asserts for that)
Change-Id: Ifaf202df321d3f877ad2a03de42e0d6cdd1b2388
2012-09-25 19:03:41 +02:00
bff34ac1ca
harness some malloc/calloc to use WebPSafeMalloc and WebPSafeCalloc
...
quite a large security sweep.
Change-Id: If150dfbb46e6e9b56210473a109c8ad6ccd0cea4
2012-08-01 12:06:04 -07:00
2fc1301577
harmonize authors as "Name (mail@address)"
...
Change-Id: I85bfae61a37de75a5ed945a906002de2ef75149f
2012-07-19 16:09:47 -07:00
18cae37b91
msvc: silence some build warnings
...
these are related to the removal of USE_LOSSLESS_ENCODER
Change-Id: Ib0ca5bc2766c351130507bc2e657a034c8455b34
2012-06-13 13:51:50 -07:00
78f3e34504
Enable lossless encoder code
...
Remove USE_LOSSLESS_ENCODER compile flag
Update Makefile.am and makefile.unix
Change-Id: If7080c4d8f37994c7c784730c5e547bb0a851455
2012-06-13 00:26:58 -07:00
8fbb91884e
prefer webp/types.h over stdint.h
...
stdint.h is part of C99 and is notably lacking under MSVC
Change-Id: Iff60dcb8bdcc7f948dc35fb0b5d47478520b570f
2012-06-04 18:34:24 -07:00
e75dc80516
Move some more defines to format_constants.h
...
Also remove some duplicate const/defines.
Change-Id: I0ec48866b874f546022d72e938fb65669b0b3211
2012-05-24 17:46:01 +05:30
778c52284b
Merge "remove some variable shadowing"
2012-05-17 14:03:10 -07:00
817c9dce61
Few more HuffmanTreeToken conversions.
...
Change-Id: I932b5368d279f83c462c7d916978dab3e81d7709
2012-05-16 12:15:52 +05:30
37a77a6bf4
remove some variable shadowing
...
Change-Id: I4348253ec6b50639095b22c4745dc26da0904466
2012-05-15 14:04:24 -07:00
c6882c49e3
merge all tree processing into a single VP8LProcessTree()
...
-> 0.1% size improvement because we're calling OptimizeForRLE()
systematically now.
Change-Id: I03bd712175728e0d46323f375134cae5a241db4b
2012-05-14 05:49:02 -07:00
8b85d01c45
Added HuffmanTreeCode Struct for tree codes.
...
To represent tree codes (depth and bits array).
Change-Id: I87650886384dd10d95b16ab808dfd3bb573172bc
2012-05-14 13:50:35 +05:30
432399472f
add assert(tokens)
...
Change-Id: I952a5cd15ff0a80cff349293e6403357cbc7bd8d
2012-05-11 01:45:06 -07:00
9f566d1d36
clean-up around Huffman-encode
...
* refine doc
* use LUT for bit-reversal
* added assert
* Introduce HuffmanTreeToken instead of separate code/extra_bits arrays
Change-Id: I0fe0b50b55eb43a4be9f730b1abe40632a6fa7f0
2012-05-10 09:11:47 -07:00
27541fbdc0
cosmetics: VP8LCreateHuffmanTree: fix indent
...
Change-Id: I025fada400366f8937208e1f9b8df483cd53a942
2012-05-09 12:11:22 -07:00
2c140e113c
Some cleanup in VP8LCreateHuffmanTree() (and related functions
...
CompareHuffmanTrees() and SetBitDepths()):
- Move 'tree_size' initialization and malloc for 'tree + tree_pool'
outside the loop.
- Some renames/tweaks for readability.
Change-Id: I5cb3cc942afac6e9f51a0b97c57ee897677a48a2
2012-05-09 14:26:01 +05:30
352a4f49ab
Get rid of PackLiteralBitLengths()
...
[and in turn a malloc]. Also, a few related const fixes.
Change-Id: I229519b1c34d41c78d9ad2403f1e25feab3c9d93
2012-05-07 14:24:31 -07:00
84547f540c
Add EncodeImageInternal() method.
...
Most of changes in enc/vp8l.c is cherry-picked from src/lossless/encode.c
Change-Id: I27938cb2590eccbfe1db0a454343e856bd483e75
2012-05-07 14:24:25 -07:00
6b38378acb
Guard the lossless encoder (in flux) under a flag
...
Change-Id: I6dd8fd17089c199001c06b1afde14233dc3e3234
2012-05-07 14:24:23 -07:00
bc7037465d
Add backward_ref, histogram & huffman encode modules from lossless.
...
Change-Id: Iac056d27972956782defa182caa3ea400cdb77f8
2012-05-07 14:24:14 -07:00