Commit Graph

522 Commits

Author SHA1 Message Date
Zoltan Szabadka
fe6e5d1cd9 Faster decoder for data with trivial context maps.
This makes it 20% faster when decoding data with
trivial context map (where the histogram type
depends only on the block type and not the
context).
2015-04-01 16:15:39 +02:00
szabadka
872b058d27 Merge pull request #58 from szabadka/master
Add quality and lgwin to the BrotliParams.
2015-04-01 16:12:18 +02:00
Zoltan Szabadka
d6d69ec4ac Add quality and lgwin to the BrotliParams.
Remove the hard-coded constants for window size
and meta-block size.

Initialize internal storage for each metablock
separately and reserve only as much as needed
for the actual input.
2015-04-01 16:10:15 +02:00
szabadka
5e3e97e294 Merge pull request #57 from anthrotype/sdist
[python] moved setup.py to the root of repository
2015-03-31 17:40:53 +02:00
Cosimo Lupo
77c239952d [python] moved setup.py to the root of repository 2015-03-31 09:30:56 +01:00
lvandeve
d44a174a8f Merge pull request #56 from lvandeve/master
bugfixes affecting streaming decoding
2015-03-30 18:02:15 +02:00
Lode Vandevenne
f9e5a2d9f2 bugfixes affecting streaming decoding 2015-03-30 18:00:40 +02:00
szabadka
ad354af165 Merge pull request #54 from szabadka/master
Use FastLog2() instead of log() in BitsEntropy().
2015-03-30 13:47:00 +02:00
Zoltan Szabadka
ca3a7a98f2 Use FastLog2() instead of log() in BitsEntropy(). 2015-03-30 13:41:52 +02:00
szabadka
71d8786391 Merge pull request #53 from szabadka/master
Add some missing state transitions to DecodeContextMap().
2015-03-30 13:41:15 +02:00
Zoltan Szabadka
8f3092a0b1 Add some missing state transitions to DecodeContextMap().
Update the states in DecodeContextMap to the next one,
else it would continue at the wrong spot if exactly there
the partial input is split.
2015-03-30 13:39:20 +02:00
szabadka
44ca0e2cbe Merge pull request #51 from anthrotype/py_test
[python] add test command to setup.py
2015-03-30 12:06:11 +02:00
Cosimo Lupo
4865fd1d4f [python] add test command to setup.py 2015-03-30 10:20:50 +01:00
szabadka
fea88b8609 Merge pull request #49 from khaledhosny/fix-python-build
Fixing building Python module after 534654d
2015-03-30 09:59:48 +02:00
Khaled Hosny
fa7dd52da9 Fixing building Python module after 534654d 2015-03-27 18:56:18 +02:00
szabadka
8bda995564 Merge pull request #48 from szabadka/master
Add a faster but less dense compression mode.
2015-03-27 14:28:32 +01:00
Zoltan Szabadka
534654def1 Add a faster but less dense compression mode.
The new mode can be used by setting the greedy_block_split
field of BrotliParams to true.

This commit moves all the meta-block processing code
into its own library and moves the meta-block encoding
code to brotli_bit_stream.cc from encode.cc
2015-03-27 14:20:35 +01:00
szabadka
169c32d887 Merge pull request #47 from szabadka/master
Change the return value of decoder functions from integer codes to an enum.
2015-03-27 13:56:35 +01:00
Zoltan Szabadka
c5ccd0dff9 Change the return value of decoder functions from integer codes to an enum. 2015-03-27 13:54:43 +01:00
lvandeve
c9cc258cdd Merge pull request #45 from lvandeve/master
Propagate error condition from ReadHuffmanCodeLengths()
2015-03-26 17:43:55 +01:00
Lode Vandevenne
85abce6c6e Propagate error condition from ReadHuffmanCodeLengths() 2015-03-26 17:40:07 +01:00
szabadka
12abfaf59b Merge pull request #44 from szabadka/master
Remove the redundant EncodeMetaBlockLength() function.
2015-03-24 10:21:10 +01:00
Zoltan Szabadka
497814eebd Remove the redundant EncodeMetaBlockHeader() function.
Use Store{Compressed,Uncompressed}MetaBlockHeader() instead.
2015-03-24 10:18:06 +01:00
szabadka
e0aa0cc450 Merge pull request #43 from anthrotype/fix_py
[python] fix calling python script as subprocess on Windows
2015-03-23 13:42:15 +01:00
Cosimo Lupo
17866801d6 [python] fix calling python script as subprocess on Windows 2015-03-23 12:09:42 +00:00
szabadka
65c6e67920 Merge pull request #42 from anthrotype/fix_py
[python] add state.c and state.h to Brotli extension's setup.py
2015-03-23 09:57:53 +01:00
Cosimo Lupo
203fe326d4 [python] fix subprocess shell pipeline 2015-03-22 00:15:54 +00:00
Cosimo Lupo
064d8e0bea [python] add new state.c and state.h to Brotli extension's setup.py 2015-03-21 20:05:02 +00:00
lvandeve
30dbb5675d Merge pull request #41 from lvandeve/master
a few more tweaks to the streaming support
2015-03-20 17:03:58 +01:00
Lode Vandevenne
b142207917 a few more tweaks to the streaming support 2015-03-20 17:03:11 +01:00
lvandeve
cb49d6a8dd Merge pull request #40 from lvandeve/master
support for partial input (streaming)
2015-03-20 16:17:33 +01:00
Lode Vandevenne
8270250b40 support for partial input (streaming) 2015-03-20 16:13:15 +01:00
lvandeve
d5c4fb4494 Merge pull request #39 from lvandeve/master
separate the licenses from documentation
2015-03-20 15:56:02 +01:00
Lode Vandevenne
81cb09f1b3 separate the licenses from documentation 2015-03-20 15:44:15 +01:00
szabadka
4836e87d4c Merge pull request #38 from anthrotype/py_tests
add Python port of bro utility and scripts to test Brotli extension
2015-03-16 20:35:19 +01:00
szabadka
e651c85fe2 Merge pull request #37 from anthrotype/setup_py
[python] setup.py fixes for Windows
2015-03-16 20:33:14 +01:00
szabadka
b5ba646b19 Merge pull request #36 from khaledhosny/python-decompress
[python] Use BrotliDecompress()
2015-03-16 20:31:18 +01:00
Khaled Hosny
e0c5df8c61 [python] Use BrotliDecompress()
So that we can use a callback to dynamically allocate the decompression
buffer, getting rid of the optional bufsize argument to
decompress.decompress().
2015-03-16 21:06:52 +02:00
Cosimo Lupo
b33e10e9dc add Python port of bro utility and scripts to test Brotli extension 2015-03-16 17:56:10 +00:00
Cosimo Lupo
3113fe7163 [setup.py] enable C++ exception handling on MSVC compiler to fix warning C4530 2015-03-16 16:55:07 +00:00
Cosimo Lupo
dec72c5931 [setup.py] use "-std=c++0x" only with GCC compiler (usupported on MSVC) 2015-03-16 16:54:59 +00:00
Cosimo Lupo
855efcf75c [python/setup.py] use relative paths instead of symlinks (unsupported on Win) 2015-03-16 16:54:27 +00:00
Dmitry Shachnev
5da7e37a06 Makefile fixes and cleanups
- Distinguish between CC/CFLAGS, CPP/CPPFLAGS and CXX/CXXFLAGS.
  Do not store compiler flags in CPPFLAGS, which is for preprocessor,
  and do not try to link files using a preprocessor.
- Use COMMON_FLAGS for flags that are for both C and C++.
- Drop -m64 flag which is wrong on 32-bit systems.
- Use $(MAKE) instead of make, so that parallel building works.
2015-03-14 14:31:44 +03:00
szabadka
ca29aa22c2 Merge pull request #34 from szabadka/master
Fix another use of log2() in literal_cost.cc
2015-02-27 16:54:15 +01:00
Zoltan Szabadka
28135ea9e8 Fix another use of log2() in literal_cost.cc 2015-02-27 16:53:00 +01:00
szabadka
1fce8b8086 Merge pull request #33 from szabadka/master
Fix encoder compilation error on MSVS 2010.
2015-02-27 16:12:54 +01:00
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