Commit graph

197 commits

Author SHA1 Message Date
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
Christian Schneider
3e60ff474f Ignore offsets in intense/brute mode
- Offsets where streams of type PNG, ZIP, SWF, gZip, PDF have already been analyzed and got "No matches" are skipped in intense and brute mode as they'd lead to the same result but take the same time.
2017-07-27 15:11:21 +02:00
Christian Schneider
fac05e19de Merge branch 'master' into intense-mode-speedup 2017-07-24 13:00:10 +02:00
Christian Schneider
bdee02f9c7 Compression_Types_Disable for comfort mode
- more consistent to -t+/-t-
- makes -t- recommendation easier
2017-07-24 12:59:43 +02:00
Christian Schneider
8f5c6b4709 Merge branch 'master' into intense-mode-speedup 2017-07-24 11:38:59 +02:00
Christian Schneider
39333197f3 Lower case -t- recommendation 2017-07-24 11:15:48 +02:00
Christian Schneider
1c2cf7615f -t- recommendation for decompressed_count > 0 only
- Recommandation should be displayed when recompressed count is zero, but decompressed count is higher (e.g. 0/5 PNG). This way, only disabling the streams that actually slowed down processing is recommened (0/0 streams don't slow down the process)
2017-07-24 11:13:20 +02:00
Christian Schneider
78ed8160d2 Boolean operator fix
- Same boolean operator for PDF as for all others
2017-07-24 11:03:28 +02:00
Christian Schneider
b5da5d17b6 Some corrections for -t- recommendation
- GIF is F, not G
- Order changed (MP3 last) to match Precomp syntax order for -t
2017-07-24 11:02:31 +02:00
Christian Schneider
6bfe8a154f Remove "#define COMFORT" leftover 2017-07-24 10:54:41 +02:00
guptaprince8832
d596c0f603 Speed up recommendations with -t- options 2017-07-17 22:42:49 +05:30
guptaprince8832
1a8cbd3eb3 preserve input file name 2017-07-17 21:45:14 +05:30
Christian Schneider
e003b02784 Check BTYPE
- prevents uncompressed deflate chunks and the ones with "BTYPE = 11 (reserved (error))" to be processed
- speeds up brute mode on some data
2017-07-03 08:38:28 +02:00
Christian Schneider
5cdacad8b3 "Less than 32 bytes" test in memory
- check_inf_result returns bool
- Don't show a message about it in debug mode
2017-07-02 11:43:09 +02:00
Christian Schneider
e015b1e470 Check inflate in memory first
- Use it for brute mode, too
2017-07-02 11:14:40 +02:00
Christian Schneider
66a032c0a8 Check inflate in memory first
- Before opening temporary files and using inflate, test it on the first 2 KB of the stream that are already in memory (input buffer in_buf)
- Accelerates intense mode due to reduced I/O
2017-06-30 20:49:12 +02:00
Christian Schneider
2fcd184a6e lzma progress
- don't show it when recompressing (-r)
- show it when converting to lzma (-nl)
2017-06-27 07:16:05 +02:00
Christian Schneider
2b7fc2d2ed Merge branch 'master' into progress_with_io 2017-06-27 06:54:14 +02:00
Christian Schneider
f49298ca06 Merge pull request #58 from sftt/master
- Minor bugfix for Precomp Comfort
- Memory leak in packmp3 fixed
- Updated liblzma to 5.2.3
- x64 configuration in VS
2017-06-27 06:53:03 +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
86fa069bec Fx issue #59
- Unhandled GIF_ERROR led to accessing uninitialized memory
2017-06-07 07:01:58 +02:00
Gavin Gao
9081053eba Minor bugfixes for precomf/packmp3/packjpg
- Fixed init_comfort(): missing suppress_jpg_parsing_until
- Fixed memory leak and bad huffman table check in packMP3
    0c283d8e1c
- packjpg: add extra range to 172 when (1024+6-1)/6 = 171.5
    https://github.com/packjpg/packJPG/issues/4
- add x64 to VS project with BIT64;COMFORT;
2017-05-04 11:33:35 +08:00
Christian Schneider
d9f61c65d6 Adjusted help for -n
- Making it more clear that conversion is off by default
2017-04-05 16:51:54 +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
2aab7dffa5 Preparing configurable LZMA max. memory/thread count 2017-04-05 15:30:02 +02:00
Christian Schneider
ea7af5f2fd Show LZMA block size 2017-04-05 13:44:45 +02:00
Christian Schneider
2112d8be7b Bump copyright year 2017-04-05 10:57:08 +02:00
Christian Schneider
55f78fd763 Fix garbled output with -nl
First percentage (0.00%) is shown after LZMA thread/memory usage now,
like it is in -cl mode
2017-03-28 07:21:10 +02:00
Christian Schneider
f86c9b420e Improve JPG parsing
- fixes JPG part of #52
- improves JPG parsing speed (issue #5)
2017-03-12 11:00:38 +01:00
Christian Schneider
7d4ab6554c Fix for MP3 part of #52
Incomplete MP3 frames were detected before, now they get discarded, too
2017-03-12 10:11:14 +01:00
Christian Schneider
9ddc049521 Fix for incorrectly restored multi PNGs
- Using a signed int instead of an unsigned solves the issue
- Fixes #50
2017-01-02 11:32:08 +01:00
Christian Schneider
67091fcbbd Fix for slowdown on some files
- identical_bytes and compressed_stream_size don't have to be the same
anymore, as for some files they differ although decompressed bytes match
- tolerance for penalty bytes (5*32 bytes)
2017-01-02 11:22:01 +01:00
Christian Schneider
a7a2b78feb Show lzma memory usage in MiB 2016-12-29 18:34:34 +01:00
Christian Schneider
28f3a72899 Use multithreaded lzma2 only 2016-12-29 18:31:47 +01:00
Christian Schneider
5568734be5 Use the LZMA preset that satisfies memory limits 2016-12-29 18:07:51 +01:00
Christian Schneider
52be43eaa4 Show OS and 32-/64-bit information 2016-12-28 16:52:45 +01:00
Christian Schneider
769bdc3a74 Autodetect number of threads for LZMA
- Print memory usage
- Minor changes in compress_easy_mt.cpp (indentation, comments, removing
some unnecessary code)
2016-12-28 11:14:41 +01:00
Christian Schneider
b581197c2b Renaming bz2_in/out -> otf_in/out 2016-11-09 16:39:33 +01:00
Christian Schneider
865a7c85e8 Fixed enum typo
Led to a compilation error in comfort version
2016-08-27 12:28:26 +02:00
Christian Schneider
acff85e316 Removing old commented code 2016-07-05 14:37:39 +02:00
Christian Schneider
fab8c2b488 Enum for on-the-fly compression methods 2016-07-02 18:37:31 +02:00
Christian Schneider
294fc3f128 Converting from/to liblzma
- conversions using -nl, -nx, -nm
- case cleanup (2,3,4 instead of 4,2,3)
- two switch statements replaced by if
2016-07-02 18:24:23 +02:00
Christian Schneider
8fc79d94b3 Always use liblzma
- #ifdefs removed
- Removed lzma_end call from Ctrl+C handler, cleaning up stream state
isn't necessary there.
2016-07-02 18:06:22 +02:00
Christian Schneider
a512eb30de On-the-fly liblzma compression and decompression works
- LZMA_CONCATENATED flag removed (not needed because of a single stream)
- Code adapted from liblzma decompress.cpp example
- Sleep in own_fwrite removed
2016-07-02 04:45:05 +02:00
Christian Schneider
6631a9acf8 Parantheses for clarity and against compiler warning 2016-06-26 10:41:53 +02:00
Gavin.Gao
258d484083 add otf_compression methods: lzma / xz(lzma2) / xz_MT 2016-06-19 16:53:50 +08:00