skal
3383885799
faster decoding (3%-6%)
...
. revamped the boolean decoder to use less shifts
. added some description and ASCII art as explanations too.
. clarified the types further (bit_t, lbit_t, range_t, etc.)
. changed the negative field 'missing_' into positive 'bits_'
Some stats, decoding some randomly encoded WebP files:
with USE_RIGHT_JUSTIFY:
BITS=32 => 133 files, 50 loops => 7.3s (1.097 ms/file/iterations)
BITS=24 => 133 files, 50 loops => 7.3s (1.097 ms/file/iterations)
BITS=16 => 133 files, 50 loops => 7.4s (1.120 ms/file/iterations)
BITS=8 => 133 files, 50 loops => 7.5s (1.128 ms/file/iterations)
without USE_RIGHT_JUSTIFY:
BITS=32 => 133 files, 50 loops => 7.5s (1.131 ms/file/iterations)
BITS=24 => 133 files, 50 loops => 7.6s (1.142 ms/file/iterations)
BITS=16 => 133 files, 50 loops => 7.6s (1.143 ms/file/iterations)
BITS=8 => 133 files, 50 loops => 7.6s (1.149 ms/file/iterations)
Change-Id: I9277fb051676c05582e9c7ea3cb5a4b2a3ffb12e
2013-02-14 15:42:58 +01:00
Pascal Massimino
6920c71f0a
fix MSVC warnings regarding implicit uint64 to uint32 conversions
...
Change-Id: I284dae9222a3817bba3c5ba6be271b31b5bf660d
2012-09-01 07:21:45 -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
Pascal Massimino
48b39eb17a
fix underflow for very short bitstreams
...
+ hardened the asserts
Change-Id: Ie798ef2f9d848c131f6f84a35ea28ef254822d1e
2012-07-09 16:47:34 -07:00
Pascal Massimino
fac0f12e1b
rename BitReader to VP8LBitReader
...
Change-Id: I192b76422e131a94fb58c2c4a5520a5dba807126
2012-04-13 01:56:31 -07:00
Pascal Massimino
6f01b830e2
split the VP8 and VP8L decoding properly
...
* each with their own decoder instances.
* Refactor the incremental buffer-update code a lot.
* remove br_offset_ for VP8LDecoder along the way
* make VP8GetHeaders() be used only for VP8, not VP8L bitstream
* remove VP8LInitDecoder()
* rename VP8LBitReaderResize() to VP8LBitReaderSetBuffer()
(cherry picked from commit 5529a2e6d47212a721ca4ab003215f97bd88ebb4)
Change-Id: I58f0b8abe1ef31c8b0e1a6175d2d86b863793ead
2012-04-10 23:06:58 -07:00
James Zern
c4ae53c8b3
add utils/bit_reader.[hc] changes from experimental
...
Pulled from the parent of the current version (5529a2e^).
The history of this and related files is a bit entangled so rather
trying to split the changes and introduce some noise in master's history
we'll start with a fresh snapshot.
The file progression is still available in the experimental branch.
Change-Id: I6dae97fc381cd6c1d1640c4c565b2084a41ec955
2012-04-10 17:48:49 -07:00
Pascal Massimino
01b6380656
4-5% faster decoding, optimized byte loads in arithmetic decoder.
...
Bits are loaded 32bits at a time (and often aligned).
Rather 64bit-friendly
Change-Id: If7f67dbe5e37696efbeb6d579d9d8482350b79ee
2012-01-31 02:07:15 -08:00
James Zern
ad1e163a0d
cosmetics: normalize copyright headers
...
Change-Id: I5e2462b101e0447a4f15a1455c07131bc97a52dd
2012-01-06 14:49:06 -08:00
Pascal Massimino
b112e83647
create a libwebputils under src/utils
...
with bit_reader bit_writer and thread for now.
Change-Id: If961933fcfc43e60220913fe4d527230ba8f46bb
2011-09-13 15:34:15 -07:00