Commit graph

172 commits

Author SHA1 Message Date
Christian Schneider
3e66fbc340 Obsolete boolean removed
Was used in old zLib code and is useless in bZip2 mode where only one compression level is tested
2019-02-22 10:38:18 +01:00
Christian Schneider
d658324ef7 Bump copyright year 2019-02-21 17:25:33 +01:00
Christian Schneider
73aefffc45 Update precomp.cpp
Replacing CopyLine with memcpy, fixes #94
2019-02-21 17:14:45 +01:00
Christian Schneider
c72b94a9b1 Fix for MP3 slowdowns
- fixes #91 and #92
2018-12-20 12:39:49 +01:00
Christian Schneider
7be858bd41 Merge preflate 0.3.5 changes
- fixes #88 and #89
2018-09-30 10:08:45 +02:00
Gavin Gao
2384fc36d8 Fix MSVC (x64)build
Add missing preflate source files
2018-09-27 18:22:52 +08:00
Christian Schneider
f5f6171574 Improve stability of multiple precomp instances
- first two digits of temporary file number is an "instance" count, determined once at start
- other digits are still used in recursion
- should fix #87
2018-09-23 11:02:45 +02:00
Christian Schneider
37dceb6b6e Fix MSVC 32-bit truncation
- MSVC builds used _chsize which only supports 32-bit file sizes and truncates files too much when processing deflate streams >4 GB
- using _chsize_s fixes this
- good test file: Raspbian Stretch, desktop version: https://www.raspberrypi.org/downloads/raspbian/
2018-09-20 08:16:39 +02:00
Christian Schneider
191ff35999 Fix -pdfbmp+ statistics
- if 8-bit image size didn't match, don't count the stream as PDF 8-bit
- fixes #27
2018-09-19 07:28:00 +02:00
Christian Schneider
05340bf9f6 -pdfbmp+ functionality restored
stopped working due to preflate changes
2018-09-19 07:11:37 +02:00
Christian Schneider
7160fd82cb Don't ignore ZIP streams with "faked" sizes
- for some ZIP files, compressed size = decompressed size = 0, although data is valid
- fixes #84
2018-09-18 11:47:03 +02:00
Christian Schneider
4f02842ae3 Fixed bZip2 recompression
Fixes #82
2018-09-17 08:19:40 +02:00
Christian Schneider
f93d95b7ae Version is 0.4.7dev
removing "experimental" from copyright message
2018-09-15 10:15:43 +02:00
Christian Schneider
b61cdc6efe Fix for FreeBSD build
this change leads to a successful build on FreeBSD 11.0-RELEASE-p16 (cmake 3.12.1, g++ 7.3.0)
2018-09-15 09:58:53 +02:00
Christian Schneider
a255854c1a Adjust CMakeLists.txt for Linux (should fix #83) 2018-09-14 06:20:27 +00:00
Deus Libri
14a80f60be Fixed memory leaks in file recursion, and a crash-bug in the GIF decoder in precomp.
The worst leak was caused by filesize64, which cost around 8k per
non-PNG deflate stream.
Also reduced memory usage when reconstructing a deflate stream:
instead of loading the whole data into memory, stream it as required.
preflate could already do that. The preflate support in precomp just
didn't use the feature yet.
2018-07-02 23:08:48 +02:00
Deus Libri
041d6b28e7 Update preflate to v0.3.4 which adds a task pool to give nice speedups
for large deflate streams.
However, preflate hogs much more memory now than anticipated. Needs to
be investigated.
2018-07-01 01:45:06 +02:00
Deus Libri
43fd8d82be Fix for multiPNG handling.
If the last IDAT block had a length of exactly 4, containing only the
deflate CRC, the PNG would be badly reconstructed from the PCF.
2018-06-24 02:44:06 +02:00
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