Age | Commit message (Collapse) | Author | Files | Lines |
|
Use png_set_option(PNG_IGNORE_ADLER32) to control ADLER32 handling.
Changed LD=gcc to LD=$(CC) in Makefile and Makefile-nolib
PkgSrc:
Removed patch-aa as build and installation are done from the main Makefile.
|
|
* Changed ADLER32 checksum handling to only use inflateValidate()
during IDAT chunk handling; it broke iCCP chunk handling.
|
|
Fixed "nolib" build (bug report by Hanspeter Niederstrasser).
Make sure we use system-png.h, and not the local file. It is now
possible to build either the regular pngcrush or the "nolib"
pngcrush in the complete pngcrush source directory (use
"make clean" before rebuilding!)
Fixed timing when using "clock()". Sometimes an additional second
was added when the timer crossed a one-second boundary, since
version 1.8.5.
Upgrade libpng to version 1.6.26beta06 and zlib to 1.2.8.1.
Use zlib-1.2.8.1 new "inflateValidate()" function to avoid checking
ADLER32 checksums. Version 1.8.7 did not work when the "-fix"
option was used.
|
|
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
|
|
Improved reporting of invalid chunk names. Does not try to put
non-printable characters in STDERR; displays hex numbers instead.
Fixed include path for utime.h on MSVC (Louis McLaughlin).
Eliminated "FAR" memory support (it was removed from libpng at version
1.6.0).
Disabled the "-already_crushed" option which does not really work well.
|
|
Fixed off-by-one error in calculation of plte_len.
|
|
Updated libpng to version 1.6.12.
|
|
Reverted libpng to version 1.6.10 due to a misplaced statement in png.c
Fixed "-zmem" option (only "-zm" would work since version 1.7.62).
|
|
* Restored calls to png_set_crc_action() which had been removed from
version 1.7.72 for some testing and inadvertently not restored.
* Changed "fix" internal variable name to "salvage" (still set with "-fix")
* Added code to fix/salvage PNG with "bad adaptive filter value" error.
* Avoid calculating CRC during compression trials except for the last trial,
when the output is actually written.
* Fixed a bug with reducing 16-bit images to 8-bit using "-reduce" option.
|
|
* Built the Windows binaries using -DTOO_FAR=32767; neglected to do this
in versions 1.7.42 through 1.7.70, which caused the Windows binaries
to produce different (usually a few bytes larger) results than Linux.
|
|
Updated libpng to version 1.6.8.
|
|
|
|
* Check for NULL return from malloc().
* Undefine CLOCKS_PER_SECOND "1000" found in some version of MinGW.
* Replaced most "atoi(argv[++i])" with "pngcrush_get_long" which does
"BUMP_I; strtol(argv[i],ptr,10)" and added pngcrush_check_long macro
to detect malformed or missing parameters (debian bug 716149).
* Added global_things_have_changed=1 when reading -bkgd.
* The "-bit_depth N" option did not work reliably and has been removed.
|
|
Fixed handling of "-text" and "-ztext" options for text input. They had been
reduced to "-t" and "-z" with an incorrect argument (3 instead of 2) in
version 1.7.62.
|
|
Revised pngcrush_examine_pixels_fn() to fix some incorrect reductions.
|
|
Add "int dowildcard=-1;" in an attempt to get wildcard arguments working
in the cross-compiled MinGW executables.
|
|
* Do not enable reduce_palette by default for "-reduce", "-new", or "-old".
It still is failing for some files.
|
|
Only use pngcrush_debug_malloc() and pngcrush_debug_free() if the result
is going to be shown.
Added PNG_PASS_ROWS, PNG_UNUSED, and other macro definitions, when building
with libpng-1.4.x and older libpng versions.
Multiplied rowbytes by 8/bit_depth when using the system library because
we do not call png_read_transform_info(). This prevents a crash when
reading sub-8-bit input files.
|
|
* Removed plte_len stuff from the "To do" list because it is done.
* Shorten the indexed-PNG tRNS chunk length if it has more entries than the PLTE chunk.
|
|
Added license info for cexcept.h, libpng, and zlib.
Added consideration of "zopfli" compression to the "To do" list.
Fixed a typo that caused a cHRM chunk to be "found" if an iCCP chunk
were present.
Reset best_byte_count before trial loop.
Revise global png_set_keep_unknown_chunks() calls to avoid a libpng16
warning.
Reset "intent" to "specified_intent" before trial loop.
Reset "plte_len" to "specified_plte_len" before trial loop.
Initialize length of each trial to 0x7fffffff so any untried method
is not the "best method".
|
|
* Removed completed items from the "To do" list.
* Ignore the argument of the "plte_len" argument and just set the
"reduce_palette" flag.
|
|
|
|
Do not do the heuristic trials of the first 10 methods when -brute is
specified, because it did not save time as I hoped.
Fixed a mistake in 1.7.45 and 1.7.46 that caused the output file to
not be written.
Version 1.7.46 (built with libpng-1.5.13 and zlib-1.2.7)
Moved the new level 0 methods to the end of the trial list (methods 137-148)
Version 1.7.45 (built with libpng-1.5.13 and zlib-1.2.7)
Added method 0 (uncompressed). "-m 0" now simply turns on method 0.
Added "-try10" option that has the same effect that "-m 0" previously did,
namely to try only the first ten methods.
Inserted new methods 17 through 21 with zlib level 0.
Do the heuristic trials of the first 10 methods when -brute is specified,
to get quickly to a small solution, so we can bail out of most of the
remaining trials early. Previously these 10 methods were skipped during
a -brute run.
Removed the "-reduce" line from the help screen when PNGCRUSH_COUNT_COLORS
is disabled.
|
|
Version 1.7.43 (built with libpng-1.5.13 and zlib-1.2.7)
Added "remove(inname)" before "rename(outname, inname)" when using the "-ow"
option on CYGWIN/MinGW because "rename()" does not work if the target file
exists.
Use the bundled "zlib.h" when PNGCRUSH_H is defined, otherwise use the
system .
Version 1.7.42 (built with libpng-1.5.13 and zlib-1.2.7)
Use malloc() and free() instead of png_malloc_default() and
png_free_default(). This will be required to run with libpng-1.7.x.
Revised the PNG_ABORT definition in pngcrush.h to work with libpng-1.7.x.
Revised zutil.h to avoid redefining ptrdiff_t on MinGW/CYGWIN platforms.
|
|
* Reverted to version 1.7.38. Versions 1.7.39 and 40 failed to open an
output file.
|
|
|
|
* Bail out of a trial if byte count exceeds best byte count so far.
* Added -bail and -nobail options. Use -nobail to get a complete report
of filesizes.
* Added -blacken option, to enable changing the color samples of any
fully-transparent pixels to zero in PNG files with color-type 4 or 6,
potentially improving their compressibility.
|
|
Reverted pngcrush.c back to 1.7.35 and fixed the bug with PLTE handling.
Version 1.7.36:
Reverted pngcrush.c to version 1.7.34 because pngcrush is failing with
some paletted PNGs.
Separated CFLAGS and CPPFLAGS in the makefile (with "-I" and "-DZ_SOLO"
in CPPFLAGS)
|
|
* Removed FOPEN of fpout except for the last trial. The open files caused
"pngcrush -brute -e _ext.png *.png" to fail on the 10th file (about the
1024th compression trial) due to being unable to open the output file.
|
|
* Compute and report sum of critical chunk lengths IHDR, PLTE, IDAT, and IEND,
plus the 8-byte PNG signature instead of just the total IDAT data length.
Simplify finding the lengths from the trial compressions, by replacing
the write function with one that simply counts the bytes that would have
been written to a trial PNG, instead of actually writing a PNG, reading it
back, and counting the IDAT bytes. The savings, while measurable, are
not very significant -- The "-brute" and default pngcrush runs that I
tried are between one and five percent faster. Most of the time is
expended in zlib compression of the IDATs, which is not affected by
the change.
* Removed comments about the system library having to be libpng14 or earlier.
This restriction was fixed in version 1.7.20.
|
|
* Ignore all ancillary chunks except during the final trial. This can be
significantly faster when large ancillary chunks such as iCCP are present.
Changes 1.7.32:
* Fixed bug introduced in 1.7.30: Do not call png_set_check_for_invalid_index()
when nosave != 0 (otherwise pngcrush crashes with the "-n" option).
|
|
* Dropped *.tar.bz2 from distribution.
* Added a comma that was missing from one of the "usage" strings (error
introduced in version 1.7.29).
Changes 1.7.30:
* Only run the new (in libpng-1.5.10) test of palette indexes during the
first trial.
|
|
* Set "things_have_changed" flag when adding text chunks, so the "-force"
option is no longer necessary when adding text to an already-compressed
file.
* Direct usage message and error messages to stderr instead of stdout. If
anyone is still using DOS they may have to change the "if 0" at line
990 to "if 1".
* Added "pngcrush -n -v files.png" to the usage message.
|
|
* Write proper copyright year for zlib, depending upon ZLIB_VERNUM
Changes 1.7.27:
* Increased row_buf malloc to row_bytes+64 instead of row_bytes+16, to
match the size of big_row_buf in pngrutil.c (it is 48 in libpng14, 15, 16,
and 64 in libpng10, 12. Otherwise there is a double-free crash when the
row_buf is destroyed.
Changes 1.7.26:
* Increased the text_text buffer from 2048 to 10*2048 (Ralph Giles), and
changed an incorrect test for keyword length "< 180" to "< 80". The
text_text buffer was inadvertently reduced from 20480 to 2048 in
pngcrush-1.7.9.
* Added -DZ_SOLO to CFLAGS, needed to compile zlib-1.2.6.
* Changed user limits to width and height max 500000, malloc max 2MB,
cache max 500.
* Added -nolimits option which sets the user limits to the default
unlimited values.
|
|
done in png package).
|
|
* built with libpng-1.5.9 and zlib-1.2.5
|
|
* Do not append a slash to the directory name if it already has one.
Changes 1.7.23:
* Ignore any attempt to use "-ow" with the "-d" or "-e" options, with warning.
* Include zlib.h if ZLIB_H is not defined (instead of checking the libpng
version; see entry below for pngcrush-1.7.14), and include string.h
if _STRING_H_ is not defined (because libpng-1.6 does not include string.h)
* Define SLASH = backslash on Windows platforms so the "-d" option will work.
|
|
This release adds the "-ow" option to overwrite the input file with the
compressed file. If an output filename is given on the command line, it will be
used as a temporary file and removed after compression. If not, "pngout.png" is
used as a temporary file
|
|
* Defined TOO_FAR=32767 in Makefile (instead of in pngcrush.h)
|
|
* Removed the call to png_read_transform_info() when the system libpng
is being used, so it can be built with a system libpng.
Changes 1.7.19:
* pngcrush-1.7.18 failed to read interlaced PNGs. Reverted the change
from calling png_read_transform_info() to png_read_update_info().
Since png_read_transform_info() is not exported we again cannot build
with the system libpng15.
Changes 1.7.18:
* This version will work with either a "system" libpng14 or libpng15, or with
the embedded libpng15. The deprecated usage of libpng png_struct members
and unexported functions has been removed.
* Revised the format of the time report (all on one line so you can get
a nice compact report by piping the output to "grep coding").
|
|
* Changed "#if !defined(PNG_NO_STDIO)" to "#ifdef PNG_STDIO_SUPPORTED"
as recommended in the libpng documentation.
* Added PNG_UINT_32_NAME macro and used it to simplify chunk_type integer
definitions.
|
|
* Only report best method==0 if pngcrush cannot match the input filesize.
Otherwise, if there is no improvement, report the first matching method.
|
|
|
|
* Force bit_depth to 1, 2, or 4 when -plte_len is <=2, <=4, or <=16 and
the -bit_depth option is not present, to avoid writing invalid palette
indexes.
|
|
* Built with libpng-1.5.1beta06 and zlib-1.2.5
* Removed WIN32_WCE support (libpng has dropped it already)
* Include zlib.h and define png_memcpy, etc., and revise the
png_get_iCCP() and png_set_iCCP() calls to be able to build
with bundled libpng-1.5.x. Pngcrush cannot be built yet with
a system libpng-1.5.x.
|
|
|
|
(built with libpng-1.4.5 and zlib-1.2.5)
|
|
Built with libpng-1.4.4 and zlib-1.2.5.
|
|
(built with libpng-1.4.2 and zlib-1.2.5)
|
|
Also add some patches to remove use of deprecated symbols and fix other
problems when looking for or compiling against libpng-1.4.x.
|