Christian Schneider
10a3854a23
[WIP] Support zlib streams over 2 GB
...
bzip2 routines
2018-02-23 14:43:55 +01:00
Christian Schneider
621d8dca4d
[WIP] Support zlib streams over 2 GB
...
base64_reencode
2018-02-23 14:34:58 +01:00
Christian Schneider
446f335423
[WIP] Support zlib streams over 2 GB
...
def_part, def_part_bzip2 & def_part_skip
2018-02-23 14:32:39 +01:00
Christian Schneider
04fbd3bbbf
[WIP] Support zlib streams over 2 GB
...
Reading 64 bit values from .pcf
2018-02-23 14:29:01 +01:00
Christian Schneider
6d4a2bdf42
[WIP] Support zlib streams over 2 GB
...
fin_fget64 to make reading of 64 bit from file easier
2018-02-23 14:20:49 +01:00
Christian Schneider
3e279684d2
[WIP] Support zlib streams over 2 GB
...
Write 64 bit length to .pcf
Various other occurences
2018-02-23 14:14:08 +01:00
Christian Schneider
17b146edfe
[WIP] Support zlib streams over 2 GB
...
Some of the method parameters
2018-02-23 13:39:48 +01:00
Christian Schneider
24d437878c
[WIP] Support zlib streams over 2 GB
...
retval
2018-02-23 13:29:23 +01:00
Christian Schneider
2dd1c32ed1
Replace print64 with cout
...
Using printf with 64 bit values doesn't work well with GCC (gives warnings at best) - using cout is better and more readable than the old print64 method
2018-02-23 10:43:51 +01:00
Christian Schneider
426a53a13e
Fix LZMA executable filters in Comfort version
...
Closes #75
2018-02-14 19:20:57 +01:00
Christian Schneider
79a785d928
LZMA executable filter parameter
...
WIP completed, LZMA filters can now be used
2018-02-13 13:03:00 +01:00
Christian Schneider
3895fbc17d
[WIP] Parse LZMA filter parameter
...
- Default changed from "xpa" to "no filters", as filtering hurts compression for non-executables
2018-02-12 19:37:06 +01:00
Christian Schneider
30a276722a
Bump copyright year
2018-01-02 14:10:46 +01:00
Christian Schneider
ca2fd12836
[WIP] Syntax for -lf
...
Explain that delta filter flag must be followed by a distance
2017-12-29 11:01:14 +01:00
jagannatharjun
c1d6555df5
FIX: Parameter parsing ignores additional characters after switches
2017-12-28 22:14:09 +05:30
Christian Schneider
4fc83d65fe
Fix for issue #76
2017-12-27 11:34:22 +01:00
Christian Schneider
bb303564a7
[WIP] Syntax for -lf
...
TODO: Parse and implement parameter
2017-12-27 11:27:04 +01:00
Christian Schneider
d7a2abe1e9
List default in "preserve extension" syntax
2017-12-27 11:09:22 +01:00
Christian Schneider
dd51283f2c
[WIP] No tabs, 2 spaces for indentation
2017-12-26 10:16:33 +01:00
Christian Schneider
e63e4898ab
Undo context-dependent MTF
2017-12-25 11:14:05 +01:00
Márcio Pais
f82156335a
Update precomp.cpp
2017-11-05 20:47:32 +01:00
Márcio Pais
61a6c5ed9e
Tweaked brute mode heuristic
2017-11-05 20:28:15 +01:00
Márcio Pais
ec0a5ae8b3
New brute mode heuristic, context-dependent MTF lists
2017-11-04 20:49:45 +01:00
Márcio Pais
74a431341b
MTF list for zlib parameters
...
Use an MTF list to keep the possible zlib parameter combinations indexed by recency
2017-10-31 23:08:01 +01:00
Christian Schneider
22e5f2b98e
Fix issue #65
...
- Use 64 bit for byte count
- Remove unused parameter
2017-10-11 06:07:18 +02:00
Christian Schneider
b643a3cb34
Starting 0.4.7 development
2017-09-21 06:30:26 +02:00
Christian Schneider
eff8288dbc
Version 0.4.6 release
2017-09-08 06:32:14 +02:00
Christian Schneider
8adf07ce00
Bugfix for streams bigger than MAX_IO_BUFFER_SIZE
2017-09-04 13:04:44 +02:00
Christian Schneider
57035b5ac4
Bugfix
2017-08-30 17:18:20 +02:00
Christian Schneider
f3244b5f9c
Tolerance for identical compressed bytes
2017-08-30 08:17:31 +02:00
Christian Schneider
3709606149
Some fixes
...
- seek in try_to_decompress is needed
- don't keep on allocating decomp_io_buf memory
2017-08-30 06:46:26 +02:00
Christian Schneider
ec2bb6d231
First test version
...
- decompress in memory until size exceeds 64 MB
- in recursion, we still use a tempfile
2017-08-29 17:23:15 +02:00
Christian Schneider
36a96bd95e
64 MB I/O buffer not only for JPG
2017-08-28 16:52:47 +02:00
Christian Schneider
ff138f39f7
Merge branch 'master' into intense-mode-speedup
2017-08-24 17:58:02 +02:00
Christian Schneider
cfa602c1ce
Better decisions for partial matches
...
- Ratio of recompressed ratio to decompressed ratio is a good indicator
2017-08-24 07:09:58 +02:00
Christian Schneider
d4b0a8e58a
Use a histogram in brute mode
...
- Prevent false positives that slow down brute mode by using a histogram that filters data too redundant for a deflate stream
2017-08-21 06:54:43 +02:00
Márcio Pais
0315bb1cf9
Fix issues #5 and #24
2017-08-14 12:36:20 +01:00
Christian Schneider
6a6dea54a3
Both brute and intense mode can be active
2017-08-14 07:11:58 +02:00
Christian Schneider
b8dffbbba6
Both brute and intense mode can be active
2017-08-14 07:01:31 +02:00
Christian Schneider
b63677c4d9
Skip uncompressed zlib blocks (BTYPE = 00) in brute mode
...
- They can be useful in slow mode, but in brute mode, there are short false positive that can cause massive slowdown
2017-08-13 11:09:44 +02:00
Christian Schneider
9303a0b951
Don't skip uncompressed zlib blocks (BTYPE = 00)
...
- These are often used in combination with static/dynamic BTYPE blocks, so they have to be processed, too.
2017-08-04 06:58:54 +02:00
Christian Schneider
2fcb7fe896
Check for "final compression found" improved
...
- identical compressed size must be the same, too
- before, there were cases where everything was decompressed, but identical compressed size was smaller than it could be with other combinations
- improves compression ratio for some files
2017-08-04 06:54:56 +02:00
Christian Schneider
2ed93fd799
Useless code line removed
...
- final_compression_found is set to false in init_decompression_variables() already
2017-07-31 12:03:29 +02:00
Christian Schneider
aed3a94c0f
Comment adjusted
2017-07-30 10:29:11 +02:00
Christian Schneider
f939c8254b
Minimal decompressed size in brute mode adjusted
...
- Using 1024 bytes instead of 256 bytes is much faster and still detects most relevant streams
2017-07-30 10:28:05 +02:00
Christian Schneider
3a06e3ca46
Use intense/brute mode helper functions
...
- Also remove old code that disabled intense mode in general if brute mode was enabled
2017-07-29 11:25:58 +02:00
Christian Schneider
6739bd942e
Helper functions for intense/brute mode
...
- We don't want both active (since brute mode detects everything that intense mode detects), but they can have different recursion depth limits, so helper functions helps keeping things clean
2017-07-29 11:22:09 +02:00
Christian Schneider
796a44ed00
Consistently use "intense mode"
...
- Some variables and comments still use the old term "slow mode"
2017-07-29 11:10:27 +02:00
Christian Schneider
9dd8029bbd
At least 256 decompressed bytes in brute mode
2017-07-28 10:47:57 +02:00
Christian Schneider
f50f26dfb0
Intense and brute ignore offsets as pointer
...
- Simplifies recursion code
2017-07-28 10:37:08 +02:00