Commit graph

33 commits

Author SHA1 Message Date
Christian Schneider
cba2b2bc09 fix latest commit (didn't work for large streams that weren't held in memory); fixes #109 2020-07-20 13:28:29 +02:00
Christian Schneider
97c84feea3 don't write tempfile when not entering recursion
- this was always done for deflate type streams, decompressed stream was written to disk even if not used by recursion later
2020-05-24 19:19:16 +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
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
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
Márcio Pais
848c801f23
Bug fix in zLib MTF 2017-12-23 02:38:12 +01:00
Márcio Pais
d585b545be
MTF List class to speed up zlib parameter search 2017-10-31 23:04:40 +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
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
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
5374942d97 Better progress indication
- Progress of copying uncompressed bytes is shown
- Better bzip2 on-the-fly compression progress
- lzma on-the-fly compression: As this buffers internally and we do not know how much bytes will be written beforehand, it shows a seperate progress text (total/written/left lzma data in MiB)
- Use of std::string constructor instead of "\b\b\b..." strings
- No more "status strings" in DLL mode (e.g. "Precompressing: ")
- Time between progress updates set to 250 ms for both work sign and percentage
2017-06-16 07:31:37 +02:00
Christian Schneider
1dac54dfa5 Helper method for displaying progress 2017-06-11 11:47:05 +02:00
Christian Schneider
dcc1c648f2 Add parameters for LZMA memory and thread count
- Use at least the memory for LZMA preset 1
- Added methods for memory and thread defaults to avoid code duplication
- Fix: Precomp Comfort used invalid Compression_Method as default
- Fix: Use singular if only 1 thread is used
- Fix: precomp_dll.h had use_mp3 declared twice
2017-04-05 16:49:58 +02:00
Christian Schneider
725f8c381f Fix two wrong declarations in precomp.h 2017-04-05 13:02:29 +02:00
Christian Schneider
28f3a72899 Use multithreaded lzma2 only 2016-12-29 18:31:47 +01:00
Christian Schneider
fab8c2b488 Enum for on-the-fly compression methods 2016-07-02 18:37:31 +02:00
Christian Schneider
d1d4263ae6 Fix for cases with worse compression II
- original compressed size is tracked now
- trying combination stop has a new constraint: new compressed size must
be the same as the original compressed size
- fixed some usages of identical_bytes_decomp (instead of
best_identical_bytes_decomp) that could lead to "No matches" although
matches were found
2016-06-05 11:49:48 +02:00
Christian Schneider
f9afdbd7df One temporary file less
- Merged compare_file_mem and compare_files_penalty
- There was a temporary file between the two functions before which is
not needed anymore, comparisons are done in memory on 512 byte chunks
- Result on silesia.zip: 15% faster (30,7 s => 26,2 s)
- See issue #14
2016-06-02 07:07:05 +02:00
Christian Schneider
0d0b754e47 Use 2 temporary files less for partial bZip2 matches
- See issue #14
2016-05-30 13:54:09 +02:00
Christian Schneider
faa4776346 Use 2 temporary files less for partial matches
- Before, partial matches led to additional decompression and
recompression to determinate the precise size of the partial match
- We can remove these 2 steps by using a slightly less precise size that
is known before
- Results for silesia.zip: 20% faster (37->30 seconds), 0.2% overhead in
bZip2 compressed variant (64,629,217 -> 64,764,849 bytes)
2016-05-28 09:54:57 +02:00
Christian Schneider
e05f0e9e6e Validate MP3 frames
- Some of the validation code from packMP3 is done in Precomp to speed
up the process and reduce false positives
- Fixes issues #35 and #19
2016-04-29 16:23:40 +02:00
Christian Schneider
cce57ccdc9 Fix Base64 recursion bug
- Allocate memory for Base64 line lengths dynamically instead of using a
global variable that got overwritten in recursion
- Fixes issue #36
2016-04-29 09:23:54 +02:00
Christian Schneider
fefc6a41ea MP3 recompression ("-r") in memory for files up to 64 MB
- Helper functions renamed to fast_copy overrides
- Helper functions added to precomp.h
- Related: Issue #14
2016-04-19 06:22:48 +02:00
Christian Schneider
6e7f489439 Ignore compressed SWF version byte
Solves issue #31
2016-03-21 14:06:57 +01:00
Christian Schneider
70e29b2f77 Header files
- Moved contrib declarations from precomp.cpp in header files in contrib
directories
- Moved Precomp declarations to precomp.h
- Renamed old precomp.h to precomp_dll.h
2016-03-05 16:15:19 +01:00
Christian Schneider
2c70814152 Initial commit of Precomp 0.4.4 source code
Including readme.txt, make scripts for Windows and Linux.

Readme.txt changed to reflect new license (Apache 2.0)
2016-01-06 12:10:58 +01:00