Commit graph

154 commits

Author SHA1 Message Date
Deus Libri
78b918dc18 - update to preflate v0.3.2 (bug fix)
- add switch -pfverify to force preflate to verify its result and store
  mishandled deflate streams in files
2018-05-09 23:13:13 +02:00
Deus Libri
c48a0b5c4c Add command line options to set LZMA literal compression flags (-llc,
-llp, -lpb) and preflate meta block size (-pfmeta).
2018-04-30 21:50:37 +02:00
Deus Libri
4772a9c37b Update to preflate v0.3.1
Splits up large deflate streams to blocks responsible for ~2MiB of
uncompressed data each. This reduces memory pressure a LOT.
2018-04-30 08:27:18 +02:00
Deus Libri
0cdefd8561 Update preflate to v0.2.1 2018-04-28 23:51:25 +02:00
Deus Libri
48b114b1ef Update preflate 2018-04-22 11:20:52 +02:00
Deus Libri
eccd92f8c0 Initial commit.
This contains the needed sources, and some executables for testing.
The build files are not yet up-to-date.
2018-04-14 22:05:37 +02:00
Márcio Pais
d802de0e88
Fix copy-paste error 2018-03-16 12:03:19 +01:00
Márcio Pais
d0baa634a2
Improve JPEG parsing
- Require a DQT (Define Quantization Table) marker to accept a valid detection
- Perform some light validation of DQT and DHT markers
2018-03-16 11:42:44 +01:00
Christian Schneider
4e49476b53 Fix for PNG multi
Was introduced in commit 74a4313 , looks like a copy paste error
2018-02-24 08:15:48 +01:00
Christian Schneider
2f48166bb5 Fixed incorrect bzip2 -v output
Compressed size of bzip2 streams was incorrectly printed as -1
2018-02-23 15:56:37 +01:00
Christian Schneider
27053a43bc [WIP] Support zlib streams over 2 GB
Final occurences, starting testing
2018-02-23 14:58:23 +01:00
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