Commit graph

176 commits

Author SHA1 Message Date
Christian Schneider
9704aa35f2 Fix format string warning 2019-03-07 10:11:18 +01:00
Christian Schneider
6640d50575 Starting v0.4.8 development 2019-02-22 15:28:12 +01:00
Christian Schneider
31b693d843 Version 0.4.7 release 2019-02-22 15:12:14 +01:00
Christian Schneider
138c107543 Discard insufficient partial bZip2 matches
- Use the ratio that was used before for partial zLib matches
- Related: #95
2019-02-22 10:48:32 +01:00
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