Created attachment 176333 [details] patch for update +++ This bug was initially created as a clone of Bug #208730 +++ Yep, I know that 1.8.10 is out, but don't want to update to latest version due to Makefile changes (unfortunately, I have no time to learn them yet). Changelog: Version 1.8.7 (built with libpng-1.6.25 and zlib-1.2.8) * Do not check the ADLER32 CRC while reading except during the final write pass (requires modified libpng/pngrutil.c and zlib-1.2.4 or later). This saves some CPU time, around five to ten percent, in decoding. * Do not calculate the ADLER32 CRC while writing except during the final write pass (writing raw deflate streams instead of zlib streams to the IDAT chunks; these are invalid PNGs but since all we do is count the bytes that does not matter). This saves some CPU time in encoding but it is barely perceptible. Requires zlib 1.2.4 or later and modified pngwutil.c. - 1.8.6 * Enabled ARM_NEON support. * Fixed error in handling of timer wraparound when interval exceeds one second. * Disable high resolution timers by default in Makefile. To enable them, you must enable/disable relevant CPPFLAGS and LIBS in Makefile. - 1.8.5 * Added "-benchmark n" option. It runs the main loop "n" times, and records the minimum value for each timer. * After checking for CLOCK_ID, use clock() if none is found. * Avoid some timing when verbose<0 ("-s" or "--silent") * Added PNGCRUSH_CHECK_CRC (off by default) to use libpng default CRC checking. Otherwise, CRC are only computed and checked during the first read pass and while writing. * Accept "--option" (for now, by simply skipping the first "-"). - 1.8.4 * Fixed handling of CLOCK_ID, removed some "//"-delimited comments. Revised intel_init.c to always optimize 4bpp images, because the poor optimization noted previously has been fixed. - 1.8.3 * Fixed bug introduced in 1.8.2 that causes trial 10 to be skipped when using the default heuristic method. * Fixed incorrect typecast in call to png_create_write_struct_2() (Bug report by Richard K. Lloyd). * Added intel_init.c, filter_sse2_intrinsics.c, and Makefile-sse, to enable INTEL SSE optimization. Revised intel_init.c to optionally only optimize 4bpp images, because the optimization appears to slow down reading of 3bpp images. * Added PNGCRUSH_TIMERS (nanosecond resolution using clock_gettime), to measure defiltering time in png_read_filter_row(). For now, this only works with a modified libpng, on platforms that provide "clock_gettime()". To enable all timers, define PNGCRUSH_TIMERS=11. * Revised "-q" to show a short summary of results (final size and timing) * To do: Add ZLIB_AMALGAMATED configuration; currently produces different output https://blog.forrestthewoods.com/ improving-open-source-with-amalgamation-cf293592c5f4#.g9fb2tyhs (added #ifndef NO_GZ / #endif to skip the gz* code in zlib_amalg.[ch]). * Added LIBPNG_UNIFIED configuration. - 1.8.2 * Fixed filesize reduction report when "-ow" option is used (Bug report #68). * When a single method is specified, turn -reduce off by default and skip trial 0.
Created attachment 176334 [details] stage & qa log
A commit references this bug: Author: mandree Date: Wed Nov 9 23:35:34 UTC 2016 New revision: 425818 URL: https://svnweb.freebsd.org/changeset/ports/425818 Log: Maintainer update to newer release 1.8.7. PR: 213944 Submitted by: Anton Sayetsky (maintainer) Changes: head/graphics/pngcrush/Makefile head/graphics/pngcrush/distinfo
Note that I've disabled the first SF.net address because the distfile has already been moved to the old-versions/1.8 directory. Please re-enable the other location (which I've preserved as a comment in the line below) on your submission if you're updating pngcrush all the way. Thanks. Please also tag the next submission with [MAINTAINER UPDATE].