Zoltan Szabadka
fab601e81f
Fix encoder compilation error on MSVS 2010.
...
As reported by @anthrotype, log2() is missing from MSVS 2010.
This patch uses log() and a multiplication in FastLog2()
for _MSV_VER <= 1600 and uses FastLog2() in literal_cost.cc
instead of log2().
2015-02-27 16:04:43 +01:00
szabadka
e60b7b846a
Merge pull request #30 from szabadka/master
...
Implement a 32-bit bitstream decoder + visual studio support
2015-02-25 18:40:17 +01:00
Zoltan Szabadka
f0b88cbcdb
Fixes to the encoder to support visual studio.
...
Changes suggested by @r-lyeh and @anthrotype.
- Use a portable simple PRNG instead of rand_r()
- add missing <assert.h> include
- disambiguate log2() argument type
- remove endian.h include from write_bits.h
2015-02-25 18:19:51 +01:00
Zoltan Szabadka
6da0c5c992
Implement a 32-bit bitstream decoder.
...
The 64-bit bitstream decoder seems to have portability problems
with emscripten/asm.js as it does not compile into working code.
2015-02-25 13:32:17 +01:00
szabadka
ff218b18b4
Merge pull request #29 from szabadka/master
...
Fully qualify std::max_element, std::push_heap and std::pop_heap names.
2015-02-25 10:31:52 +01:00
Zoltan Szabadka
5bc56a17ee
Fully qualify std::max_element, std::push_heap and std::pop_heap names.
2015-02-25 10:29:24 +01:00
szabadka
c0d7498031
Merge pull request #28 from szabadka/master
...
Speed up FindMatchLength for non-x86 64-bit targets.
2015-02-25 10:27:14 +01:00
Zoltan Szabadka
e643328a7a
Speed up FindMatchLength for non-x86 64-bit targets.
...
This CL enables 64-bit optimization for non-x86 target.
2015-02-25 10:24:13 +01:00
szabadka
c7b9821f37
Merge pull request #26 from szabadka/master
...
Fix a sign-conversion warning in the decoder.
2015-02-24 11:35:01 +01:00
Zoltan Szabadka
68d63f5966
Fix a sign-conversion warning in the decoder.
2015-02-24 11:22:29 +01:00
szabadka
35cd3db9c1
Merge pull request #25 from irori/sign-compare
...
Make decoder code warning-free
2015-02-24 10:41:41 +01:00
Kunihiko Sakamoto
65d655dad5
Compile decoder with -Wall flag
...
This also fixes two "comparison between signed and unsigned" warnings.
2015-02-24 17:48:26 +09:00
szabadka
cb0ca3a3c6
Merge pull request #17 from khaledhosny/master
...
Add Python bindings
2015-01-28 10:18:34 +01:00
Khaled Hosny
11306237f4
Add Python bindings
2015-01-24 11:56:43 +02:00
szabadka
93049d96e7
Merge pull request #23 from szabadka/master
...
Add more test cases.
2015-01-13 16:44:13 +01:00
Zoltan Szabadka
1d76397891
Add more test cases.
2015-01-13 16:42:35 +01:00
szabadka
7e350cd4a7
Merge pull request #21 from szabadka/master
...
Fix undefined behavior in decoder.
2014-11-26 12:12:20 +01:00
Zoltan Szabadka
4278934e82
Fix undefined behavior in decoder.
...
Use memmove() for copying overlapping buffers.
2014-11-26 10:37:33 +01:00
szabadka
50b4f4e6b3
Merge pull request #20 from szabadka/master
...
Remove unneeded malloc.h header.
2014-11-24 16:21:58 +01:00
Zoltan Szabadka
66f6b66c88
Remove unneeded malloc.h header.
2014-11-24 16:20:22 +01:00
szabadka
88c073594f
Merge pull request #18 from khaledhosny/gitignore
...
Add .gitignore file
2014-11-24 10:20:04 +01:00
Khaled Hosny
9efdff7f70
Add .gitignore file
2014-11-22 17:00:36 +02:00
szabadka
94000f6490
Merge pull request #16 from szabadka/master
...
Add command-line tool and tests.
2014-11-17 15:40:22 +01:00
Zoltan Szabadka
ac455c50f4
Improvements to the command-line tool.
...
- Don't read the whole input to memory.
- Support reading from stdin and writing to stdout.
2014-11-17 15:31:00 +01:00
Zoltan Szabadka
e1739826c0
Add command-line tool and tests.
2014-10-30 13:59:37 +01:00
szabadka
6b9ce4dfab
Merge pull request #15 from szabadka/master
...
Disable transforms in the encoder by default.
2014-10-29 17:09:47 +01:00
Zoltan Szabadka
96d04e53d7
Disable transforms in the encoder by default.
...
This change reduces the startup-time of the encoder considerably.
2014-10-29 15:39:35 +01:00
szabadka
6e9e963972
Merge pull request #14 from szabadka/master
...
Allow use of inline keyword in c++/c99 mode.
2014-10-28 14:44:24 +01:00
Zoltan Szabadka
dd6237b0e8
Allow use of inline keyword in c++/c99 mode.
2014-10-28 14:43:15 +01:00
szabadka
37aa5e05c0
Merge pull request #13 from szabadka/master
...
Fix potential output buffer overflow in encoder.
2014-10-28 14:06:46 +01:00
Zoltan Szabadka
485ad82e94
Fix potential output buffer overflow in encoder.
2014-10-28 14:05:53 +01:00
szabadka
2f35ffd77a
Merge pull request #12 from szabadka/master
...
Decoder code cleanup.
2014-10-28 14:02:06 +01:00
Zoltan Szabadka
460dda1b50
Decoder code cleanup.
...
1) Use a tighter upper bound on the Huffman table size.
2) Remove unused argument len in ToUpperCase.
3) Remove unused no-op assignment in BrotliDecompress.
4) Fix include guard name.
2014-10-28 13:57:46 +01:00
szabadka
43a8d591f0
Merge pull request #11 from szabadka/master
...
Move the context map encoding function to the brotli_bit_stream library.
2014-10-28 13:49:32 +01:00
Zoltan Szabadka
0428f2d1bd
Move the context map encoding function to the brotli_bit_stream library.
2014-10-28 13:47:21 +01:00
szabadka
d0d6f1bda4
Merge pull request #10 from szabadka/master
...
Make the histogram clustering function more generic.
2014-10-28 13:38:14 +01:00
Zoltan Szabadka
f321ba1964
Make the histogram clustering function more generic.
...
Change the template parameter to be the histogram class
instead of the alphabet size of the histogram.
2014-10-28 13:36:21 +01:00
szabadka
c6c08e492e
Merge pull request #9 from szabadka/master
...
New version of the backward reference search code.
2014-10-28 13:33:33 +01:00
Zoltan Szabadka
b4f39bf540
New version of the backward reference search code.
...
The new interface of the backward reference search
function makes it possible to use it in a streaming
manner.
Using the advanced cost model and static dictionary
can be turned on/off by template parameters.
The distance short codes are now computed as part of
the backward reference search.
Added a faster version of the Hasher.
2014-10-28 13:25:22 +01:00
szabadka
f580616386
Merge pull request #8 from szabadka/master
...
Minor tuning of encoder heuristics.
2014-10-28 12:54:47 +01:00
Zoltan Szabadka
03b20347e1
Minor tuning of encoder heuristics.
2014-10-28 12:50:33 +01:00
szabadka
8102921a7c
Merge pull request #7 from szabadka/master
...
Fix storing of the meta-block header for last empty meta-block.
2014-10-28 12:10:55 +01:00
Zoltan Szabadka
ca8c2890aa
Fix storing of the meta-block header for last empty meta-block.
2014-10-28 12:09:18 +01:00
szabadka
618ea06821
Merge pull request #6 from szabadka/master
...
Move the block switch storing functions to the brotli_bit_stream library...
2014-10-28 12:03:34 +01:00
Zoltan Szabadka
467e6eef80
Move the block switch stroing functions to the brotli_bit_stream library.
2014-10-28 11:53:52 +01:00
szabadka
fd64d1f35a
Merge pull request #3 from szabadka/encoder
...
Factor out serialization functions into their own file.
2014-10-28 11:19:18 +01:00
szabadka
c62fa2116f
Merge pull request #2 from szabadka/decoder
...
Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block.
2014-10-27 17:36:07 +01:00
Zoltan Szabadka
39cde017e6
Fix TODO markups.
2014-10-15 14:14:34 +02:00
Zoltan Szabadka
d6d9fc60e1
Factor out serialization functions into their own file.
...
Create a brotli_bit_stream library that is responsible for writing
various structures (headers, Huffman codes, etc.) directly into the
bit-stream.
2014-10-15 14:01:36 +02:00
Zoltan Szabadka
79d2b89d2d
Fix BrotliDecompressedSize() to work for an uncompressed plus an empty meta-block.
2014-10-15 13:41:00 +02:00