Gifsicle changes | |
1.95 19.Feb.2024
1.94 23.Jun.2023
1.93 30.Jun.2021
Fix problems with colormapless GIFs. 1.92 18.Apr.2019
Remove an assertion failure possible with ‘--conserve-memory’ + ‘--colors’ + ‘--careful’. 1.91 5.Jan.2018
1.90 14.Aug.2017
1.89 11.Jul.2017
Add thread support for resizing. ‘-j[NTHREADS]’ tells gifsicle to use up to NTHREADS threads to resize an input image. There are several caveats---multiple threads can be only used on unoptimized images. Thanks to Github user @wilkesybear. Quashed several crashes and undefined behaviors. Thanks to Github users including @pornel, @strazzere, and @b0b0505. Minor bug fixes. 1.88 1.Jul.2015
Add --no-ignore-errors option. 1.87 9.Dec.2014
Fix --crop issue with must-be-preserved frames that are out of the crop window. 1.86 14.Oct.2014
1.85 14.Oct.2014
Add --no-extensions (with the s) and document those options more. Fix bug in interaction of --resize and --rotate reported by Michał Ziemba. 1.84 29.Jun.2014
1.83 21.Apr.2014
Update Windows build. 1.82 27.Mar.2014
1.81 24.Mar.2014
1.80 18.Mar.2014
1.79 17.Mar.2014
Add new resize sampling methods ‘mix’, ‘box’, ‘catrom’, ‘mitchell’, ‘lanczos2’, and ‘lanczos3’, selectable by ‘--resize-method’. The ‘catrom’ filter often gives good results; the slightly faster ‘mix’ method (a bilinear interpolator) is now the default. These new sampling methods consider all of the image’s input colors when shrinking the image, producing better, less noisy output for most images. Add ‘--resize-colors’, which allows Gifsicle to enlarge the palette when resizing images. This is particularly important when shrinking images with small colormaps---e.g., shrinking a black-and-white image should probably introduce shades of gray. Support extensions such as XMP4 in which extension packet boundaries matter. Reported by ‘ata4’. Many bug fixes, especially to cropping. Thanks to Tumblr and to Bryan Stillwell, Tal Lev-Ami, "Marco," and others. 1.78 9.Dec.2013
1.77 26.Nov.2013
Add ordered dithering modes, which avoid animation artifacts. The default ordered dithering mode (‘--dither=ordered’) is a novel mode that combines some of the visual advantages of error diffusion with the artifact avoidance of ordered dithering. Add halftone dithering (‘--dither=halftone’). gifview: Improved cache memory management for better animations. Collect memory for old frames based on an explicit --memory-limit (default 40MB). gifview: Add ‘--fallback-delay’ option, to specify a fallback delay for frames with delay 0. Thanks to Sung Pae. 1.76 20.Nov.2013
1.75 18.Nov.2013
Improve ‘-O2’: again, don’t refuse to optimize images with local color tables. Reported by Bryan Stillwell. Greatly improve ‘--dither’ speed. 1.74 16.Nov.2013
1.73 15.Nov.2013
1.72 9.Nov.2013
1.71 15.Jun.2013
Report error when ‘-I’ is combined with ‘-b’. Reported by Frank Dana. Frame selections also apply in batch mode. Reported by LOU Yu Hong Leo. 1.70 31.Jan.2013
1.69 31.Jan.2013
1.68 24.Nov.2012
1.67 5.May.2012
gifview: Add --min-delay option. 1.66 2.Apr.2012
1.65 2.Apr.2012
Improve -O3 a bit (although for some images, the new -O3 is bigger than the old). 1.64 22.Nov.2011
1.63 17.Jul.2011
1.62 4.Apr.2011
1.61 25.Feb.2011
gifsicle: Correct some optimizer bugs introduced in 1.59 that could lead to visually different output. gifdiff: Add -w/--ignore-redundancy option. gifview: Correct crash bug. gifsicle/gifdiff: Correct occasionally odd error messages. 1.60 12.Apr.2010
1.59 11.Mar.2010
1.58 14.Jan.2010
1.57 11.Nov.2009
1.56 18.Oct.2009
gifview: Make --disposal=background behavior look like Firefox. 1.55 3.Apr.2009
1.54 3.Apr.2009
1.53 19.Mar.2009
1.52 18.May.2008
1.51 12.May.2008
1.50 7.May.2008
1.49 2.May.2008
1.48 16.Mar.2007
1.47 10.Mar.2007
1.46 9.Jan.2007
1.45 30.Dec.2006
gifview: Add ‘--title’ option, based on patch supplied by Andres Tello Abrego. 1.44 3.Oct.2005
1.43 8.Sep.2005
1.42 8.Jan.2005
1.41 19.Aug.2004
1.40 28.Aug.2003
Include Makefile.bcc, from Stephen Schnipsel. 1.39 11.Jul.2003
1.38 26.Jun.2003
1.37 11.Feb.2003
Rearrange source tree. 1.36 17.Nov.2002
1.35 14.Aug.2002
1.34 13.Aug.2002
1.33 1.Aug.2002
More warning fixes. 1.32 5.Jul.2002
More fixes for spurious background warnings. 1.31 17.Jun.2002
Changed background behavior. Hopefully the only user-visible effect will be fewer spurious warnings. Fixed a bug that could corrupt output when optimizing images with ‘-O2’ that had more than 256 colors. 1.30 27.Jul.2001
1.29 22.May.2001
1.28 13.May.2001
Added explicit ‘--conserve-memory’ option. 1.27 10.May.2001
1.26 22.Apr.2001
Try to conserve memory in gifsicle when working with huge images (> 20 megabytes of uncompressed data). May make gifsicle slower if you actually had enough memory to deal with the uncompressed data. 1.25 13.Feb.2001
1.24 11.Feb.2001
Added ‘--resize-width’ and ‘--resize-height’ options. Why is it that Frenchmen are always telling me to delete the Clp_Parser immediately before calling exit()? Don’t they realize that exit() frees application memory just as well as free()? Are things different in France? More French, perhaps? 1.23 12.Dec.2000
1.22 23.Nov.2000
1.21 9.Sep.2000
1.20 23.Jun.2000
Gifdiff will work on very large images (better memory usage). 1.19 25.Apr.2000
1.18 3.Apr.2000
Gifview treats frame selection more sensibly. A frame selection just tells it which frame to start on. Added a message to the manual page warning people to quote the ‘#’ character in frame selections. The interactive bash shell, for example, interprets it as a comment. 1.17 15.Mar.2000
Changed behavior of ‘--no-logical-screen’. Now gifsicle will include all visible GIFs when calculating the size of the logical screen. Got rid of spurious redundant-option warnings. 1.16.1 10.Sep.1999
1.16 31.Aug.1999
Fixed memory corruption bug in quantization. Found and fixed by Steven Marthouse <comments@vrml3d.com>. 1.15 20.Aug.1999
Fixed serious quantization bug introduced in 1.14: when reducing the number of colors, gifsicle would ignore a random portion of the colors in the old colormap. Optimization bug fix: two adjacent identical frames will no longer crash the optimizer. Bug introduced in 1.14. That’s two for two: two "speed improvements" in 1.14, two bugs introduced! Bug fix: Exploding the standard input results in files named ‘#stdin#.NNN’, as the documentation claims, not ‘<stdin>.NNN’. Optimization improvement: the optimizer reorders colormaps in a slightly smarter way, which can result in smaller compression. If a position option like ‘-p 0,5’ is followed by a multi-frame GIF (without frame specifications), then the position option places the animation as a whole, not each of its individual frames. An unrecognized nonnumeric frame specification is now treated as a file name, so you can say ‘gifsicle #stdin#.000’, for example. Gifview improvements: Now even images with local color tables can be "unoptimized" or animated. ‘--replace’ now preserves the replaced frame’s disposal as well as its delay. ‘gifsicle -I -’ reports "<stdin>" as the input file name. 1.14.2 16.Aug.1999
1.14.1 9.Aug.1999
Steven Marthouse <comments@vrml3d.com> helped fix ‘Makefile.w32’ to enable wildcards in filenames under Windows. Requested by Mark Olesen <mark_olesen@hotmail.com>. 1.14 2.Aug.1999
Bug fix/optimization improvement: Some images would include a transparent index that was not a valid color (it was larger than the colormap). Gifsicle formerly ignored these transparent indices. It doesn’t any longer; furthermore, it will generate those kinds of transparent index, which can mean smaller colormaps and smaller GIFs. Speed improvements in optimization and colormap quantization. Added ‘--no-warnings’ (‘-w’) option to inhibit warning messages. Suggested by Andrea Beiser <abb9@columbia.edu>. ‘--info’ output can now be sent to a file with ‘-o’, just as with any other kind of output. More specific error messages on invalid GIFs. 1.13 16.Jun.1999
‘gifsicle --explode’ now generates filenames of the form ‘file.000 .. file.100’ rather than ‘file.0 .. file.100’, so you can use shell globbing like ‘file.*’ and automatically get the right order. Added ‘--background’ option to gifview, so you can set the color used for transparent pixels. Suggested by Art Blair <apblair@students.wisc.edu>. Gifdiff is built by default on Unix. 1.12 25.Mar.1999
Added ‘--install-colormap’ to gifview. Suggested by Yair Lenga <yair.lenga@ssmb.com>. Gifsicle now exits with status 1 if there were any errors, status 0 otherwise. Before, it exited with status 1 only if there was a fatal error, or nothing was successfully output. The new behavior seems more useful. Problem reported by David Kelly <dkelly@nebula.tbe.com>. 1.11.2 10.Mar.1999
1.11.1 24.Jan.1999
1.11 22.Jan.1999
Made ‘--resize’ work better on animations (no more off-by-one errors). Fixed bug in ‘--use-colormap’: If transparency was added to the new colormap, the transparent color index could later be used (incorrectly) as a real image color. This was particularly common if the image was dithered. ‘--dither’ now tries to mitigate "jumping dither" animation artifacts (where adjacent frames in an animation have different dithering patterns, so the animation shifts). It does an OK job. Improvements to ‘--color-method=blend-diversity’. 1.10 6.Jan.1999
No other changes from 1.10b1: Emil said it worked on Windows. 1.10b1 31.Dec.1998
Changes to Windows port from Emil Mikulic <darkmoon@connexus.net.au>. 1.9.2 28.Dec.1998
Moved to config.h-based configuration to simplify GIF library and Windows port. Some CLP improvements. 1.9.1 16.Dec.1998
Cropping an image now automatically recalculates the output logical screen, rather than retaining the logical screen of the uncropped image. Improvement to colormap modification behavior: If it looks like a color reserved for transparency will be necessary, gifsicle will reserve a slot for it. This will reduce the likelihood that you ask for a colormap of size 64, say, and get one of size 128 (because gifsicle added a slot for transparency). 1.9 14.Dec.1998
1.9b3 10.Dec.1998
Fixed a serious bug in optimize.c introduced in 1.9b1: Optimizing GIFs which required local color tables could crash the program due to a buffer overrun. (I was adding the background to the output colormap without making sure there was room for it.) Fixed an optimizer bug which could result in incorrect animations: background disposal was not handled correctly. The optimizer now generates ‘--disposal=none’ instead of ‘--disposal=asis’ in certain situations, which can result in smaller animations. Suggestion by Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>. GIF library changes: cleaner, somewhat faster GIF reading code inspired by Patrick J. Naughton <naughton@wind.sun.com>, whose code is distributed with XV. 1.9b2 9.Dec.1998
1.9b1 5.Dec.1998
Made ‘--change-color PIXELINDEX color’ work, and ‘--change-color color PIXELINDEX’ illegal. Many behavior fixes relating to background and transparency. Gifsicle would tend to create GIFs which looked as expected, but lost information internally; for example, a color value which was only used for transparency would be changed to black, no matter what the input color was. In some cases, gifsicle simply reports a warning now where it ignored information before. Problems reported by Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>. Better error messages are now given on redundant, ambiguous, or useless command-line options. Options that affect GIFs on output (such as ‘--output’, ‘--optimize’) now behave more like other options: you should put them before the files they affect. (You may still put them at the end of the argument list if they should affect the last output file.) This should only affect people who used batch or explode mode in complex ways. Gifsicle will not write a GIF to stdout if it’s connected to a terminal. 1.8 3.Dec.1998
Fixed ‘--transform-colormap’ bug: commands like "thing 2" (ending in an integer) will work now. Small fixes (in a gifsicle pipeline, error messages won’t be interleaved). 1.7.1 2.Dec.1998
Added colormap canonicalization: If you pipe a GIF through ‘gifsicle -O’ or ‘-O2’, the output colormaps will be arranged in a predictable order. Feature suggested by Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>. 1.7 28.Nov.1998
Added ‘--transform-colormap’, which allows you to plug programs into gifsicle that arbitrarily change GIF files’ colormaps. All ‘--change-color’ options now happen simultaneously, so you can safely swap two colors with ‘--change-color C1 C2 --change-color C2 C1’. Colormap modifications are slightly more powerful (they don’t reserve a color for transparency if they don’t need one, and if a subset of the modified colormap is used, only that subset is output). Fixed ‘--use-colormap’ bug: the last color in a used colormap would be ignored (it was reserved for transparency). Symptom: if you put a partially transparent image into the Web-safe palette, the result would never contain white. When changing to a grayscale colormap, gifsicle now uses luminance difference to find the closest color. This gives better results for ‘--use-colormap=gray’ and the like. Added Introduction and Concept Index sections to the gifsicle manpage. The gifsicle package now uses automake. 1.6 23.Nov.1998
1.5 27.Sep.1998
Changes to support Win32 port thanks to Emil Mikulic <darkmoon@connexus.net.au>. Makefiles: Added ‘make uninstall’ target, enabled ‘./configure”s program name transformations, made VPATH builds possible. 1.4.1 16.Sep.1998
1.4 12.Sep.1998
1.3.4 7.Sep.1998
Fixed bug in gifview ‘--geometry’ option processing: ‘--geometry -0-0’ wasn’t recognized. 1.3.2 5.Sep.1998
1.3.1 4.Sep.1998
1.3 3.Sep.1998
Fixed rare bug in GIF writing code: the last pixel in a frame could previously become corrupted. 1.3b1 2.Aug.1998
Specific changes: - The optimizer can handle any input file, even one with local colormaps or more than 256 colors. If there are more than 256 colors, an optimal subset is placed in the global colormap. - The global colormap is reordered so that some images can use a small initial portion of it, which lets them compress smaller. - Bug fix: Images relying on background disposal are optimized correctly. - ‘-O2’ never does worse than ‘-O1’. - Made the ‘-O2’ heuristic better. Some other small changes and improvements here and there. - The optimizer has been pretty extensively tested using gifdiff. New program: gifdiff compares two GIFs for identical appearance. It is not built unless you give the ‘--enable-gifdiff’ option to ‘./configure’. It’s probably not useful unless you’re testing a GIF optimizer. Robustness fixes in GIF library. 1.2.1 8.Jun.1998
‘--transparent’ didn’t work. It does now. Added ‘--background’ option. Fixed background processing so that an input background is reflected in the output GIF. Re-fixed small bug with the interaction between per-frame options and frame selections. 1.2 28.May.1998
Fixed bad bug in merge: If a global colormap from the source needed to be dumped into a local colormap in the destination, the pixel map was wrong, resulting in bad colors in the destination. Fixed memory leaks. Changed memory usage pattern in gifsicle to release source image memory as soon as possible, resulting in a better memory profile. Both programs now keep images in compressed form for better performance. Fixed bugs in gifread.c that corrupted memory when uncompressing some bad images. Added debugging malloc library (‘./configure --enable-dmalloc’ to use it). Added ‘--no-delay’ and ‘--no-disposal’ options, which should have been there all along. ‘--crop’ will not generate an image with 0 width or height, even if a frame is cropped out of existence. Other performance improvements. 1.2b6 25.May.1998
GIF comments are now printed out more carefully in ‘--info’: binary characters appear as backslash escapes. (Literal backslashes are printed as ‘\\’.) New ‘--extension-info/--xinfo’ option. Removed spurious warning about local colormaps when a ‘--colors’ option is in effect. Replacing a named frame with another image now keeps the name by default. Many changes to gifview. Added ‘--animate’, ‘--display’, ‘--geometry’, ‘--name’, ‘--help’ options, keystrokes, multiple GIFs on the command line, and a manual page. 1.2b5 12.May.1998
Further improvements in optimizer; specifically, ‘-O2’ works better now -- it uses actual image data to look for an unused pixel value when there’s no transparency specified. 1.2b4 12.May.1998
1.2b3 11.May.1998
Greatly improved ‘--optimize”s performance on some images by changing the way frames were switched to ‘--disposal=background’. Problem noticed by David Hedbor <david@hedbor.org> Documentation improvements. Unrecognized extensions are now passed through without change. The ‘--no-extensions’ option (currently undocumented) removes all unrecognized extensions. Bug fix in gifview: frame selections now prevent display of entire GIF. 1.2b2 9.May.1998
Changed heuristic for diversity algorithm: never blend if there are 3 colors or less Some optimizations to Floyd-Steinberg code 1.2b1 8.May.1998
Renamed ‘--color-change’ to ‘--change-color’. 1.1.2
Added negative frame numbers. ‘#-N’ no longer means ‘#0-N’; it means the ‘N’th frame from the end (where ‘#-1’ is the last frame). You can use negative frame numbers in ranges as well (e.g., ‘#-5--1’). 1.1.1 22.Nov.1997
1.1 20.Nov.1997
Changed usage behavior on bad command lines. 1.0 21.Jun.1997
Slight behavior change: Now, if you replace a frame (say frame #2), its delay value will be preserved in the replacement frame, unless you give an explicit delay. (Before, the replacement frame’s delay would be used, which was probably 0.) 0.91 15.Jun.1997
Added ‘-S’ as synonym for ‘--logical-screen’. 0.9 12.Jun.1997
| |