1*324bb76bSAndroid Build Coastguard Worker GIFLIB NEWS 2*324bb76bSAndroid Build Coastguard Worker 3*324bb76bSAndroid Build Coastguard WorkerRepository head 4*324bb76bSAndroid Build Coastguard Worker=============== 5*324bb76bSAndroid Build Coastguard Worker 6*324bb76bSAndroid Build Coastguard WorkerThis is a point release intended to clear up a couple of CVEs and 7*324bb76bSAndroid Build Coastguard Workerapply point fixes that have been accumulating since 5.2.1 There are a 8*324bb76bSAndroid Build Coastguard Workerfew unresolved (but minor) memory leaks related to design issues in 9*324bb76bSAndroid Build Coastguard Workerthe API that still need to be resolved. 10*324bb76bSAndroid Build Coastguard Worker 11*324bb76bSAndroid Build Coastguard WorkerCode Fixes 12*324bb76bSAndroid Build Coastguard Worker---------- 13*324bb76bSAndroid Build Coastguard Worker 14*324bb76bSAndroid Build Coastguard Worker* Fixes for CVE-2023-48161, CVE-2022-28506, 15*324bb76bSAndroid Build Coastguard Worker 16*324bb76bSAndroid Build Coastguard Worker* Address SF issue #138 Documentation for obsolete utilities still installed 17*324bb76bSAndroid Build Coastguard Worker 18*324bb76bSAndroid Build Coastguard Worker* Address SF issue #139: Typo in "LZW image data" page ("110_2 = 4_10") 19*324bb76bSAndroid Build Coastguard Worker 20*324bb76bSAndroid Build Coastguard Worker* Address SF issue #140: Typo in "LZW image data" page ("LWZ") 21*324bb76bSAndroid Build Coastguard Worker 22*324bb76bSAndroid Build Coastguard Worker* Address SF issue #141: Typo in "Bits and bytes" page ("filed") 23*324bb76bSAndroid Build Coastguard Worker 24*324bb76bSAndroid Build Coastguard Worker* Note as already fixed SF issue #143: cannot compile under mingw 25*324bb76bSAndroid Build Coastguard Worker 26*324bb76bSAndroid Build Coastguard Worker* Address SF issue #144: giflib-5.2.1 cannot be build on windows and other platforms using c89 27*324bb76bSAndroid Build Coastguard Worker 28*324bb76bSAndroid Build Coastguard Worker* Address SF issue #145: Remove manual pages installation for binaries that are not installed too 29*324bb76bSAndroid Build Coastguard Worker 30*324bb76bSAndroid Build Coastguard Worker* Address SF issue #146: [PATCH] Limit installed man pages to binaries, move giflib to section 7 31*324bb76bSAndroid Build Coastguard Worker 32*324bb76bSAndroid Build Coastguard Worker* Address SF issue #147 [PATCH] Fixes to doc/whatsinagif/ content 33*324bb76bSAndroid Build Coastguard Worker 34*324bb76bSAndroid Build Coastguard Worker* Address SF issue #148: heap Out of Bound Read in gif2rgb.c:298 DumpScreen2RGB 35*324bb76bSAndroid Build Coastguard Worker 36*324bb76bSAndroid Build Coastguard Worker* Declared no-info on SF issue #150: There is a denial of service vulnerability in GIFLIB 5.2.1 37*324bb76bSAndroid Build Coastguard Worker 38*324bb76bSAndroid Build Coastguard Worker* Declared Won't-fix on SF issue 149: Out of source builds no longer possible 39*324bb76bSAndroid Build Coastguard Worker 40*324bb76bSAndroid Build Coastguard Worker* Address SF issue #151: A heap-buffer-overflow in gif2rgb.c:294:45 41*324bb76bSAndroid Build Coastguard Worker 42*324bb76bSAndroid Build Coastguard Worker* Address SF issue #152: Fix some typos on the html documentation and man pages 43*324bb76bSAndroid Build Coastguard Worker 44*324bb76bSAndroid Build Coastguard Worker* Address SF issue #153: Fix segmentation faults due to non correct checking for args 45*324bb76bSAndroid Build Coastguard Worker 46*324bb76bSAndroid Build Coastguard Worker* Address SF issue #154: Recover the giffilter manual page 47*324bb76bSAndroid Build Coastguard Worker 48*324bb76bSAndroid Build Coastguard Worker* Address SF issue #155: Add gifsponge docs 49*324bb76bSAndroid Build Coastguard Worker 50*324bb76bSAndroid Build Coastguard Worker* Address SF issue #157: An OutofMemory-Exception or Memory Leak in gif2rgb 51*324bb76bSAndroid Build Coastguard Worker 52*324bb76bSAndroid Build Coastguard Worker* Address SF issue #158: There is a null pointer problem in gif2rgb 53*324bb76bSAndroid Build Coastguard Worker 54*324bb76bSAndroid Build Coastguard Worker* Address SF issue #159 A heap-buffer-overflow in GIFLIB5.2.1 DumpScreen2RGB() in gif2rgb.c:298:45 55*324bb76bSAndroid Build Coastguard Worker 56*324bb76bSAndroid Build Coastguard Worker* Address SF issue #163: detected memory leaks in openbsd_reallocarray giflib/openbsd-reallocarray.c 57*324bb76bSAndroid Build Coastguard Worker 58*324bb76bSAndroid Build Coastguard Worker* Address SF issue #164: detected memory leaks in GifMakeMapObject giflib/gifalloc.c 59*324bb76bSAndroid Build Coastguard Worker 60*324bb76bSAndroid Build Coastguard Worker* Address SF issue #166: a read zero page leads segment fault in getarg.c and memory leaks in gif2rgb.c and gifmalloc.c 61*324bb76bSAndroid Build Coastguard Worker 62*324bb76bSAndroid Build Coastguard Worker* Address SF issue #167: Heap-Buffer Overflow during Image Saving in DumpScreen2RGB Function at Line 321 of gif2rgb.c 63*324bb76bSAndroid Build Coastguard Worker 64*324bb76bSAndroid Build Coastguard WorkerVersion 5.2.1 65*324bb76bSAndroid Build Coastguard Worker============== 66*324bb76bSAndroid Build Coastguard Worker 67*324bb76bSAndroid Build Coastguard WorkerThis is the "Maybe I shouldn't have done a release while in surgical recovery" release. 68*324bb76bSAndroid Build Coastguard Worker 69*324bb76bSAndroid Build Coastguard Worker* In gifbuild.c, avoid a core dump on no color map. 70*324bb76bSAndroid Build Coastguard Worker 71*324bb76bSAndroid Build Coastguard Worker* Restore inadvertently removed library version numbers in Makefile. 72*324bb76bSAndroid Build Coastguard Worker 73*324bb76bSAndroid Build Coastguard WorkerVersion 5.2.0 74*324bb76bSAndroid Build Coastguard Worker============= 75*324bb76bSAndroid Build Coastguard Worker 76*324bb76bSAndroid Build Coastguard WorkerThe undocumented and deprecated GifQuantizeBuffer() entry point 77*324bb76bSAndroid Build Coastguard Workerhas been moved to the util library to reduce libgif size and attack 78*324bb76bSAndroid Build Coastguard Workersurface. Applications needing this function are couraged to link the 79*324bb76bSAndroid Build Coastguard Workerutil library or make their own copy. 80*324bb76bSAndroid Build Coastguard Worker 81*324bb76bSAndroid Build Coastguard WorkerThe following obsolete utility programs are no longer installed: 82*324bb76bSAndroid Build Coastguard Workergifecho, giffilter, gifinto, gifsponge. These were either installed in 83*324bb76bSAndroid Build Coastguard Workererror or have been obsolesced by modern image-transformation tools 84*324bb76bSAndroid Build Coastguard Workerlike ImageMagick convert. They may be removed entirely in a future 85*324bb76bSAndroid Build Coastguard Workerrelease. 86*324bb76bSAndroid Build Coastguard Worker 87*324bb76bSAndroid Build Coastguard Worker* Address SourceForge issue #136: Stack-buffer-overflow in gifcolor.c:84 88*324bb76bSAndroid Build Coastguard Worker 89*324bb76bSAndroid Build Coastguard Worker* Address SF bug #134: Giflib fails to slurp significant number of gifs 90*324bb76bSAndroid Build Coastguard Worker 91*324bb76bSAndroid Build Coastguard Worker* Apply SPDX convention for license tagging. 92*324bb76bSAndroid Build Coastguard Worker 93*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.9 94*324bb76bSAndroid Build Coastguard Worker============= 95*324bb76bSAndroid Build Coastguard Worker 96*324bb76bSAndroid Build Coastguard WorkerThe documentation directory now includes an HTMlified version of the 97*324bb76bSAndroid Build Coastguard WorkerGIF89 standard, and a more detailed description of how LZW compression 98*324bb76bSAndroid Build Coastguard Workeris applied to GIFs. 99*324bb76bSAndroid Build Coastguard Worker 100*324bb76bSAndroid Build Coastguard Worker* Address SF bug #129: The latest version of giflib cannot be build on windows. 101*324bb76bSAndroid Build Coastguard Worker 102*324bb76bSAndroid Build Coastguard Worker* Address SF bug #126: Cannot compile giflib using c89 103*324bb76bSAndroid Build Coastguard Worker 104*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.8 105*324bb76bSAndroid Build Coastguard Worker============= 106*324bb76bSAndroid Build Coastguard Worker 107*324bb76bSAndroid Build Coastguard Worker* Address SF bug #119: MemorySanitizer: FPE on unknown address. This is CVE-2019-15133 108*324bb76bSAndroid Build Coastguard Worker 109*324bb76bSAndroid Build Coastguard Worker* Address SF bug #125: 5.1.7: xmlto is still required for tarball 110*324bb76bSAndroid Build Coastguard Worker 111*324bb76bSAndroid Build Coastguard Worker* Address SF bug #124: 5.1.7: ar invocation is not crosscompile compatible 112*324bb76bSAndroid Build Coastguard Worker 113*324bb76bSAndroid Build Coastguard Worker* Address SF bug #122: 5.1.7 installs manpages to wrong directory 114*324bb76bSAndroid Build Coastguard Worker 115*324bb76bSAndroid Build Coastguard Worker* Address SF bug #121: make: getversion: Command not found 116*324bb76bSAndroid Build Coastguard Worker 117*324bb76bSAndroid Build Coastguard Worker* Address SF bug #120: 5.1.7 does not build a proper library - no 118*324bb76bSAndroid Build Coastguard Worker 119*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.7 120*324bb76bSAndroid Build Coastguard Worker============= 121*324bb76bSAndroid Build Coastguard Worker 122*324bb76bSAndroid Build Coastguard WorkerCorrect a minor packaging error (superfluous symlinks) in the 5.1.6 tarballs. 123*324bb76bSAndroid Build Coastguard Worker 124*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.6 125*324bb76bSAndroid Build Coastguard Worker============= 126*324bb76bSAndroid Build Coastguard Worker 127*324bb76bSAndroid Build Coastguard WorkerBuild Fixes 128*324bb76bSAndroid Build Coastguard Worker----------- 129*324bb76bSAndroid Build Coastguard Worker 130*324bb76bSAndroid Build Coastguard WorkerFix library installation in the Makefile. 131*324bb76bSAndroid Build Coastguard Worker 132*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.5 133*324bb76bSAndroid Build Coastguard Worker============= 134*324bb76bSAndroid Build Coastguard Worker 135*324bb76bSAndroid Build Coastguard WorkerCode Fixes 136*324bb76bSAndroid Build Coastguard Worker---------- 137*324bb76bSAndroid Build Coastguard Worker 138*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #114: Null dereferences in main() of gifclrmp 139*324bb76bSAndroid Build Coastguard Worker 140*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #113: Heap Buffer Overflow-2 in function DGifDecompressLine() 141*324bb76bSAndroid Build Coastguard Worker in cgif.c. This had been assigned CVE-2018-11490. 142*324bb76bSAndroid Build Coastguard Worker 143*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #111: segmentation fault in PrintCodeBlock 144*324bb76bSAndroid Build Coastguard Worker 145*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #109: Segmentation fault of giftool reading a crafted file 146*324bb76bSAndroid Build Coastguard Worker 147*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #107: Floating point exception in giftext utility 148*324bb76bSAndroid Build Coastguard Worker 149*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #105: heap buffer overflow in DumpScreen2RGB in gif2rgb.c:317 150*324bb76bSAndroid Build Coastguard Worker 151*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #104: Ineffective bounds check in DGifSlurp 152*324bb76bSAndroid Build Coastguard Worker 153*324bb76bSAndroid Build Coastguard Worker^ Fix SF bug #103: GIFLIB 5.1.4: DGifSlurp fails on empty comment 154*324bb76bSAndroid Build Coastguard Worker 155*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #87: Heap buffer overflow in 5.1.2 (gif2rgb). 156*324bb76bSAndroid Build Coastguard Worker 157*324bb76bSAndroid Build Coastguard WorkerBuild Fixes 158*324bb76bSAndroid Build Coastguard Worker----------- 159*324bb76bSAndroid Build Coastguard Worker 160*324bb76bSAndroid Build Coastguard WorkerThe horrible old autoconf build system has been removed with extreme prejudice. 161*324bb76bSAndroid Build Coastguard WorkerYou now build this simply by running "make" from the top-level directory. 162*324bb76bSAndroid Build Coastguard Worker 163*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.4 164*324bb76bSAndroid Build Coastguard Worker============= 165*324bb76bSAndroid Build Coastguard Worker 166*324bb76bSAndroid Build Coastguard WorkerCode Fixes 167*324bb76bSAndroid Build Coastguard Worker---------- 168*324bb76bSAndroid Build Coastguard Worker 169*324bb76bSAndroid Build Coastguard Worker* Fix SF bug #94: giflib 5 loves to fail to load images... a LOT. 170*324bb76bSAndroid Build Coastguard Worker 171*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #92: Fix buffer overread in gifbuild. 172*324bb76bSAndroid Build Coastguard Worker 173*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #93: Add bounds check in gifbuild netscape2.0 path 174*324bb76bSAndroid Build Coastguard Worker 175*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #89: Fix buffer overread in gifbuild. 176*324bb76bSAndroid Build Coastguard Worker 177*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.3 178*324bb76bSAndroid Build Coastguard Worker============= 179*324bb76bSAndroid Build Coastguard Worker 180*324bb76bSAndroid Build Coastguard WorkerAs of this version the library and code has been seriously abused by fuzzers, 181*324bb76bSAndroid Build Coastguard Workersmoking out crash bugs (now fixed) induced by various kinds of severely 182*324bb76bSAndroid Build Coastguard Workermalformed GIF. 183*324bb76bSAndroid Build Coastguard Worker 184*324bb76bSAndroid Build Coastguard WorkerCode Fixes 185*324bb76bSAndroid Build Coastguard Worker---------- 186*324bb76bSAndroid Build Coastguard Worker 187*324bb76bSAndroid Build Coastguard Worker* Prevent malloc randomess from causing the header output routine to emit 188*324bb76bSAndroid Build Coastguard Worker a GIF89 version string even when no GIF89 features are present. Only 189*324bb76bSAndroid Build Coastguard Worker breaks tests, not production code, but it's odd this wasn't caught sooner. 190*324bb76bSAndroid Build Coastguard Worker 191*324bb76bSAndroid Build Coastguard Worker* Prevent malloc randomess from producing sporadic failures by causing 192*324bb76bSAndroid Build Coastguard Worker sanity checks added in 5.1.2 to misfire. 193*324bb76bSAndroid Build Coastguard Worker 194*324bb76bSAndroid Build Coastguard Worker* Bulletproof gif2rgb against 0-height images. Addressed SF bug #78: 195*324bb76bSAndroid Build Coastguard Worker Heap overflow in gif2rgb with images of size 0, also SF bug #82. 196*324bb76bSAndroid Build Coastguard Worker 197*324bb76bSAndroid Build Coastguard Worker* Remove unnecessary duplicate EGifClose() in gifcolor.c. Fixes SF bug #83 198*324bb76bSAndroid Build Coastguard Worker introduced in 5.1.2. 199*324bb76bSAndroid Build Coastguard Worker 200*324bb76bSAndroid Build Coastguard Worker* Fix SF Bug #84: incorrect return of DGifSlurp(). 201*324bb76bSAndroid Build Coastguard Worker 202*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.2 203*324bb76bSAndroid Build Coastguard Worker============= 204*324bb76bSAndroid Build Coastguard Worker 205*324bb76bSAndroid Build Coastguard WorkerCode Fixes 206*324bb76bSAndroid Build Coastguard Worker---------- 207*324bb76bSAndroid Build Coastguard Worker 208*324bb76bSAndroid Build Coastguard Worker* Code hardening using reallocarray() from OpenBSD. 209*324bb76bSAndroid Build Coastguard Worker 210*324bb76bSAndroid Build Coastguard Worker* Sanity check in giffilter catches files with malformed extension records 211*324bb76bSAndroid Build Coastguard Worker Fixes SourceForge bug #63: malformed gif causes segfault in giffilter. 212*324bb76bSAndroid Build Coastguard Worker 213*324bb76bSAndroid Build Coastguard Worker* Inexpensive sanity check in DGifSlurp() catches malformed files with 214*324bb76bSAndroid Build Coastguard Worker no image descriptor. Fixes SourceForge bug #64: malformed gif causes 215*324bb76bSAndroid Build Coastguard Worker crash in giftool. 216*324bb76bSAndroid Build Coastguard Worker 217*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #66: GifDrawBoxedText8x8() modifying constant input 218*324bb76bSAndroid Build Coastguard Worker parameter. 219*324bb76bSAndroid Build Coastguard Worker 220*324bb76bSAndroid Build Coastguard Worker* Bail out of GIF read on invalid pixel width. Addresses Savannah bug 221*324bb76bSAndroid Build Coastguard Worker #67: invalid shift in dgif_lib.c 222*324bb76bSAndroid Build Coastguard Worker 223*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #69: #69 Malformed: Gif file with no extension 224*324bb76bSAndroid Build Coastguard Worker block after a GRAPHICS_EXT_FUNC_CODE extension causes segfault (in 225*324bb76bSAndroid Build Coastguard Worker giftext). 226*324bb76bSAndroid Build Coastguard Worker 227*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #71: Buffer overwrite when giffixing a malformed gif. 228*324bb76bSAndroid Build Coastguard Worker 229*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #73: Null pointer deference in gifclrmap (only 230*324bb76bSAndroid Build Coastguard Worker reachable with malformed GIF). 231*324bb76bSAndroid Build Coastguard Worker 232*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #74: Double free in gifsponge under 5.1.1, 233*324bb76bSAndroid Build Coastguard Worker for any valid gif image. 234*324bb76bSAndroid Build Coastguard Worker 235*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #75: GAGetArgs overflows due to uncounted use of va_arg. 236*324bb76bSAndroid Build Coastguard Worker 237*324bb76bSAndroid Build Coastguard Worker* Sanity check in giffix catches some malformed files. Addresses 238*324bb76bSAndroid Build Coastguard Worker SourceForge bug #77: dgif_lib.c: extension processing error 239*324bb76bSAndroid Build Coastguard Worker 240*324bb76bSAndroid Build Coastguard Worker 241*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.1 242*324bb76bSAndroid Build Coastguard Worker============= 243*324bb76bSAndroid Build Coastguard Worker 244*324bb76bSAndroid Build Coastguard WorkerCode Fixes 245*324bb76bSAndroid Build Coastguard Worker---------- 246*324bb76bSAndroid Build Coastguard Worker 247*324bb76bSAndroid Build Coastguard Worker* Numerous minor fixes in getarg.c. Affects only the utilities, not the 248*324bb76bSAndroid Build Coastguard Worker core library. 249*324bb76bSAndroid Build Coastguard Worker 250*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #59: DGifOpen can segfault if DGifGetScreenDesc fails. 251*324bb76bSAndroid Build Coastguard Worker 252*324bb76bSAndroid Build Coastguard Worker* SourceForge patch #20: In gifalloc, fix usage of realloc() in case of failure. 253*324bb76bSAndroid Build Coastguard Worker 254*324bb76bSAndroid Build Coastguard Worker* Fix SourceForge bug #61 Leak in gifsponge. 255*324bb76bSAndroid Build Coastguard Worker 256*324bb76bSAndroid Build Coastguard WorkerBuild Fixes 257*324bb76bSAndroid Build Coastguard Worker---------- 258*324bb76bSAndroid Build Coastguard Worker 259*324bb76bSAndroid Build Coastguard Worker* glibtoolize port fix for OS X. 260*324bb76bSAndroid Build Coastguard Worker 261*324bb76bSAndroid Build Coastguard WorkerVersion 5.1.0 262*324bb76bSAndroid Build Coastguard Worker============= 263*324bb76bSAndroid Build Coastguard Worker 264*324bb76bSAndroid Build Coastguard WorkerChanges to the API require a library major-version bump. 265*324bb76bSAndroid Build Coastguard Worker 266*324bb76bSAndroid Build Coastguard WorkerCode Fixes 267*324bb76bSAndroid Build Coastguard Worker---------- 268*324bb76bSAndroid Build Coastguard Worker 269*324bb76bSAndroid Build Coastguard Worker* A small change to the API: DGifClose() and EGifClose() now take a 270*324bb76bSAndroid Build Coastguard Worker pointer-to-int second argument (like the corresponding openers) 271*324bb76bSAndroid Build Coastguard Worker where a diagnostic code will be deposited when they return 272*324bb76bSAndroid Build Coastguard Worker GIF_ERROR. This replaces the old behavior in which the GifFile 273*324bb76bSAndroid Build Coastguard Worker structure was left unfreed so the Error member in it could be filled 274*324bb76bSAndroid Build Coastguard Worker and remain available. The change was was required because it's 275*324bb76bSAndroid Build Coastguard Worker not always possible to free the struct afterwards. Case in point is 276*324bb76bSAndroid Build Coastguard Worker a C# wrapper for giflib (or any language/environment where you can't 277*324bb76bSAndroid Build Coastguard Worker just free objects allocated in a foreign shared library.) 278*324bb76bSAndroid Build Coastguard Worker 279*324bb76bSAndroid Build Coastguard Worker* Minor fix for SF bug #56; BitsPerPixel may be left as uninitialized 280*324bb76bSAndroid Build Coastguard Worker value when reading (truncated) gif. 281*324bb76bSAndroid Build Coastguard Worker 282*324bb76bSAndroid Build Coastguard Worker* Applied SF patch #17: Use a fallback on Windows where mkstemp is not 283*324bb76bSAndroid Build Coastguard Worker available. 284*324bb76bSAndroid Build Coastguard Worker 285*324bb76bSAndroid Build Coastguard Worker* Applied SF patch #15: Code hardening, preventing spurious 286*324bb76bSAndroid Build Coastguard Worker defective-image messages. 287*324bb76bSAndroid Build Coastguard Worker 288*324bb76bSAndroid Build Coastguard WorkerRetirements 289*324bb76bSAndroid Build Coastguard Worker----------- 290*324bb76bSAndroid Build Coastguard Worker 291*324bb76bSAndroid Build Coastguard Worker* Removed gif2raw from utils. Its blithe assumption that the EGA16 292*324bb76bSAndroid Build Coastguard Worker palette is a reliable default is now about 20 years obsolete. Format 293*324bb76bSAndroid Build Coastguard Worker conversion is better done with convert(1) from the ImageMagick suite, 294*324bb76bSAndroid Build Coastguard Worker anyway. 295*324bb76bSAndroid Build Coastguard Worker 296*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.6 297*324bb76bSAndroid Build Coastguard Worker============= 298*324bb76bSAndroid Build Coastguard Worker 299*324bb76bSAndroid Build Coastguard WorkerMinor fix for a rare memory leak (SF bug #55). 300*324bb76bSAndroid Build Coastguard Worker 301*324bb76bSAndroid Build Coastguard WorkerMinGW port fixes. 302*324bb76bSAndroid Build Coastguard Worker 303*324bb76bSAndroid Build Coastguard WorkerRepair the internal quantization function used in gif2rgb so it's 304*324bb76bSAndroid Build Coastguard Workerless vulnerable to cross-platform skew due to qsort() being unstable. 305*324bb76bSAndroid Build Coastguard WorkerThis shouldn't affect production use, it's just a cross-platform 306*324bb76bSAndroid Build Coastguard Workerissue for regression testing 307*324bb76bSAndroid Build Coastguard Worker 308*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.5 309*324bb76bSAndroid Build Coastguard Worker============= 310*324bb76bSAndroid Build Coastguard Worker 311*324bb76bSAndroid Build Coastguard WorkerSet the error return properly when a screen descriptor read fails. 312*324bb76bSAndroid Build Coastguard WorkerFixes for some minor API documentation bugs. Some internal manual 313*324bb76bSAndroid Build Coastguard Workerpages are not to be installed. 314*324bb76bSAndroid Build Coastguard Worker 315*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.4 316*324bb76bSAndroid Build Coastguard Worker============= 317*324bb76bSAndroid Build Coastguard Worker 318*324bb76bSAndroid Build Coastguard WorkerFix for a rare misrendering bug when a GIF overruns the decompression-code 319*324bb76bSAndroid Build Coastguard Workertable. The image on which this was spotted was a relatively long-running 320*324bb76bSAndroid Build Coastguard Workeranimated GIF; still images of ordinary size should have been immune. 321*324bb76bSAndroid Build Coastguard Worker 322*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.3 323*324bb76bSAndroid Build Coastguard Worker============= 324*324bb76bSAndroid Build Coastguard Worker 325*324bb76bSAndroid Build Coastguard WorkerFix a build-system glitch so it will install manpages. 326*324bb76bSAndroid Build Coastguard Worker 327*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.2 328*324bb76bSAndroid Build Coastguard Worker============= 329*324bb76bSAndroid Build Coastguard Worker 330*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish 331*324bb76bSAndroid Build Coastguard Worker------------------------ 332*324bb76bSAndroid Build Coastguard Worker* Partial build is now possible on systems without xmlto. 333*324bb76bSAndroid Build Coastguard Worker 334*324bb76bSAndroid Build Coastguard WorkerCode Fixes 335*324bb76bSAndroid Build Coastguard Worker---------- 336*324bb76bSAndroid Build Coastguard Worker* Change unused return of EGifSetGifVersion() to void. 337*324bb76bSAndroid Build Coastguard Worker* Buffer overrun prevention in gifinto. 338*324bb76bSAndroid Build Coastguard Worker 339*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.1 340*324bb76bSAndroid Build Coastguard Worker============= 341*324bb76bSAndroid Build Coastguard Worker 342*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish 343*324bb76bSAndroid Build Coastguard Worker------------------------ 344*324bb76bSAndroid Build Coastguard Worker* There is now an installable manual page for the GIFLIB utility kit. 345*324bb76bSAndroid Build Coastguard Worker 346*324bb76bSAndroid Build Coastguard WorkerRetirements 347*324bb76bSAndroid Build Coastguard Worker----------- 348*324bb76bSAndroid Build Coastguard Worker* gifinter is gone. Use "convert -interlace line" from the ImageMagick suite. 349*324bb76bSAndroid Build Coastguard Worker 350*324bb76bSAndroid Build Coastguard WorkerCode Fixes 351*324bb76bSAndroid Build Coastguard Worker---------- 352*324bb76bSAndroid Build Coastguard Worker* In 5.0.0 the private gif89 bit wasn't being guaranteed cleared at 353*324bb76bSAndroid Build Coastguard Worker the beginning of EGifGetGifVersion(); this occasionally led to an 354*324bb76bSAndroid Build Coastguard Worker incorrect version prefix being issued dependent on the state of 355*324bb76bSAndroid Build Coastguard Worker malloced memory. 356*324bb76bSAndroid Build Coastguard Worker* An EGifSetGifVersion() function taking a GifFile argument has been 357*324bb76bSAndroid Build Coastguard Worker added for use with the low-level sequential API. This change requires 358*324bb76bSAndroid Build Coastguard Worker a bump of the library revision number. 359*324bb76bSAndroid Build Coastguard Worker 360*324bb76bSAndroid Build Coastguard WorkerVersion 5.0.0 361*324bb76bSAndroid Build Coastguard Worker============= 362*324bb76bSAndroid Build Coastguard Worker 363*324bb76bSAndroid Build Coastguard WorkerChanges to the API require a library major-version bump. Certain 364*324bb76bSAndroid Build Coastguard Workerinitialization functions have acquired an integer address argument for 365*324bb76bSAndroid Build Coastguard Workerpassing back an error code, in order to avoid thread-unsafe static 366*324bb76bSAndroid Build Coastguard Workerstorage. Application code using extension blocks will require minor 367*324bb76bSAndroid Build Coastguard Workerchanges. A few functions have been renamed. 368*324bb76bSAndroid Build Coastguard Worker 369*324bb76bSAndroid Build Coastguard WorkerCode Fixes 370*324bb76bSAndroid Build Coastguard Worker---------- 371*324bb76bSAndroid Build Coastguard Worker* Fixes applied for CVE-2005-2974 and CVE-2005-3350 372*324bb76bSAndroid Build Coastguard Worker This closes Debian bug #337972. 373*324bb76bSAndroid Build Coastguard Worker 374*324bb76bSAndroid Build Coastguard WorkerNew API Features 375*324bb76bSAndroid Build Coastguard Worker---------------- 376*324bb76bSAndroid Build Coastguard Worker 377*324bb76bSAndroid Build Coastguard WorkerThread Safety 378*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~~~ 379*324bb76bSAndroid Build Coastguard WorkerThe library is now completely re-entrant and thread-safe. 380*324bb76bSAndroid Build Coastguard Worker 381*324bb76bSAndroid Build Coastguard Worker* Library error handling no longer uses a static cell to store the last 382*324bb76bSAndroid Build Coastguard Worker error code registered; that made the library thread-unsafe. For functions 383*324bb76bSAndroid Build Coastguard Worker other than GIF file openers, the code is now put in an Error member of 384*324bb76bSAndroid Build Coastguard Worker the GifFileType structure. The GifError() and GifLastError() functions 385*324bb76bSAndroid Build Coastguard Worker that referenced that static cell are gone, and the GifErrorString() 386*324bb76bSAndroid Build Coastguard Worker function introduced in the 4.2 release now takes an explicit error code 387*324bb76bSAndroid Build Coastguard Worker argument. 388*324bb76bSAndroid Build Coastguard Worker* GIF file openers - DGifOpenFileName(), DGifOpenFileHandle(), DGifOpen(), 389*324bb76bSAndroid Build Coastguard Worker EGifOpenFileName(), EGifOpenFileHandle(), and EGifOpen() - all now take 390*324bb76bSAndroid Build Coastguard Worker a final integer address argument. If non-null, this is used to pass 391*324bb76bSAndroid Build Coastguard Worker back an error code when the function returns NULL. 392*324bb76bSAndroid Build Coastguard Worker 393*324bb76bSAndroid Build Coastguard WorkerExtensions 394*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~ 395*324bb76bSAndroid Build Coastguard WorkerThe ExtensionBlock API has been repaired, solving some problems with GIF89 396*324bb76bSAndroid Build Coastguard Workerextension handling in earlier versions. 397*324bb76bSAndroid Build Coastguard Worker 398*324bb76bSAndroid Build Coastguard Worker* DGifSlurp() and EGifSpew() now preserve trailing extension blocks with 399*324bb76bSAndroid Build Coastguard Worker no following image file. 400*324bb76bSAndroid Build Coastguard Worker* Three documented functions - EGifPutExtensionFirst(), EGifPutExtensionNext(), 401*324bb76bSAndroid Build Coastguard Worker and EGifPutExtensionLast() - have been relaced by new functions 402*324bb76bSAndroid Build Coastguard Worker EGifPutExtensionLeader(), EGifPutExtensionBlock(), and 403*324bb76bSAndroid Build Coastguard Worker EGifPutExtensionTrailer(). See the Compatibility section of 404*324bb76bSAndroid Build Coastguard Worker the library API documentation for details. 405*324bb76bSAndroid Build Coastguard Worker* New functions DGifSavedExtensionToGCB() and EGifGCBToSavedExtension() 406*324bb76bSAndroid Build Coastguard Worker make it easy to read and edit GIF89 graphics control blocks in saved images. 407*324bb76bSAndroid Build Coastguard Worker 408*324bb76bSAndroid Build Coastguard WorkerNamespacing 409*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~ 410*324bb76bSAndroid Build Coastguard WorkerAll functions exported by giflib now have DGif, EGif, or Gif as a name prefix. 411*324bb76bSAndroid Build Coastguard Worker 412*324bb76bSAndroid Build Coastguard Worker* Three documented functions - MakeMapObject(), FreeMapObject(), and 413*324bb76bSAndroid Build Coastguard Worker UnionColorMap() - have been renamed to GifMakeMapObject(), 414*324bb76bSAndroid Build Coastguard Worker GifFreeMapObject(), and GifUnionColorMap() respectively. 415*324bb76bSAndroid Build Coastguard Worker* The library Draw* functions are now prefixed GifDraw*, and the 416*324bb76bSAndroid Build Coastguard Worker text-drawing ones are suffixed with "8x8". This fixes a conflict 417*324bb76bSAndroid Build Coastguard Worker with the Windows API and leaves the door open for more general text-drawing 418*324bb76bSAndroid Build Coastguard Worker functions with different font sizes. 419*324bb76bSAndroid Build Coastguard Worker 420*324bb76bSAndroid Build Coastguard WorkerOther changes 421*324bb76bSAndroid Build Coastguard Worker~~~~~~~~~~~~~ 422*324bb76bSAndroid Build Coastguard Worker* DGifSlurp() and EGifSpew() now read and write interlaced images properly. 423*324bb76bSAndroid Build Coastguard Worker* The amazingly obscure colormap sort flag and pixel aspect ratio 424*324bb76bSAndroid Build Coastguard Worker features of GIF are now read and preserved, for whatever good that 425*324bb76bSAndroid Build Coastguard Worker may do. 426*324bb76bSAndroid Build Coastguard Worker* Six undocumented functions have been renamed; five of these take additional 427*324bb76bSAndroid Build Coastguard Worker or slightly different argument types. See the Compatibility section of 428*324bb76bSAndroid Build Coastguard Worker the library API documentation for details. 429*324bb76bSAndroid Build Coastguard Worker* There's now an EGifGetGifVersion() that computes the version EGifSpew() 430*324bb76bSAndroid Build Coastguard Worker will write. 431*324bb76bSAndroid Build Coastguard Worker* QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer() 432*324bb76bSAndroid Build Coastguard Worker - turns out some important applications (notably mplayer) were using it. 433*324bb76bSAndroid Build Coastguard Worker* TRUE and FALSE macros are gone, also VoidPtr. No more namespace pollution. 434*324bb76bSAndroid Build Coastguard Worker* Various arguments have been made const where possible. 435*324bb76bSAndroid Build Coastguard Worker 436*324bb76bSAndroid Build Coastguard WorkerRetirements 437*324bb76bSAndroid Build Coastguard Worker----------- 438*324bb76bSAndroid Build Coastguard Worker* The (undocumented) gifinfo utility is gone. Use giftool -f instead. 439*324bb76bSAndroid Build Coastguard Worker* The gifburst utility is gone. Everybody has image viewers that 440*324bb76bSAndroid Build Coastguard Worker can pan now, and removing it gets rid of a dependency on Perl. 441*324bb76bSAndroid Build Coastguard Worker* gifcompose is gone. It was a decent idea when I wrote it in 1989, 442*324bb76bSAndroid Build Coastguard Worker but I did the same thing better and cleaner a decade later with 443*324bb76bSAndroid Build Coastguard Worker PILdriver in the PIL package. Removing it gets rid of a dependency 444*324bb76bSAndroid Build Coastguard Worker on shell. 445*324bb76bSAndroid Build Coastguard Worker* gif2x11 gifasm, gifcomb, gifflip, gifovly, gifpos, gifresize, and gifrotate 446*324bb76bSAndroid Build Coastguard Worker are all gone. The ImageMagick display(1)/convert(1) utilities and PILdriver 447*324bb76bSAndroid Build Coastguard Worker do these things better and in a format-independent way. 448*324bb76bSAndroid Build Coastguard Worker* Lennie Araki's Windows C++ wrapper is gone. It's eight years old, 449*324bb76bSAndroid Build Coastguard Worker unmaintained, he has dropped out of sight, and a better one needs to 450*324bb76bSAndroid Build Coastguard Worker be written to use the high-level GIFLIB API and GIF89 graphics 451*324bb76bSAndroid Build Coastguard Worker control extension support. We'll carry such a wrapper when we have 452*324bb76bSAndroid Build Coastguard Worker a maintainer for it. 453*324bb76bSAndroid Build Coastguard Worker* EGifSetVersion(), introduced in 4.2, is gone. The library always 454*324bb76bSAndroid Build Coastguard Worker writes GIF87 or GIF89 as required by the data. This change helps 455*324bb76bSAndroid Build Coastguard Worker with thread safety. 456*324bb76bSAndroid Build Coastguard Worker 457*324bb76bSAndroid Build Coastguard WorkerUtilities 458*324bb76bSAndroid Build Coastguard Worker--------- 459*324bb76bSAndroid Build Coastguard Worker* Several utilities have been renamed to (a) fix last-century's habit 460*324bb76bSAndroid Build Coastguard Worker of arbitarily smashing vowels out of names to make them just one or two 461*324bb76bSAndroid Build Coastguard Worker characters shorter, (b) ensure that every utility in this set has 'gif' 462*324bb76bSAndroid Build Coastguard Worker as a name prefix. Here's the list: 463*324bb76bSAndroid Build Coastguard Worker 464*324bb76bSAndroid Build Coastguard Worker giffiltr -> giffilter 465*324bb76bSAndroid Build Coastguard Worker gifspnge -> gifsponge 466*324bb76bSAndroid Build Coastguard Worker icon2gif -> gifbuild 467*324bb76bSAndroid Build Coastguard Worker text2gif -> gifecho 468*324bb76bSAndroid Build Coastguard Worker raw2gif -> gif2raw 469*324bb76bSAndroid Build Coastguard Worker 470*324bb76bSAndroid Build Coastguard Worker* To go with its new name, gif2raw now dumps raw pixels from a GIF if the 471*324bb76bSAndroid Build Coastguard Worker (previously required) size option is missing. 472*324bb76bSAndroid Build Coastguard Worker* Standalone rgb2gif is gone; the same capability is now a mode of gif2rgb. 473*324bb76bSAndroid Build Coastguard Worker* giftext displays the parsed contents of GIF89 graphics control blocks. 474*324bb76bSAndroid Build Coastguard Worker* gifbuild handles GIF89 graphics control blocks and Netscape animation 475*324bb76bSAndroid Build Coastguard Worker loop blocks; it can can display and update either. 476*324bb76bSAndroid Build Coastguard Worker* gifrotate and other filter utilities now preserve extension blocks, 477*324bb76bSAndroid Build Coastguard Worker including the graphics control information for transparency and delay time. 478*324bb76bSAndroid Build Coastguard Worker* A new utility, giftool, supports a wide variety of filtering operations 479*324bb76bSAndroid Build Coastguard Worker on GIFs, including: setting background and transparency colors, changing 480*324bb76bSAndroid Build Coastguard Worker interlacing, setting image delays, setting the user-input flag, and setting 481*324bb76bSAndroid Build Coastguard Worker the aspect-ratio byte. It can sequence multiple operations. 482*324bb76bSAndroid Build Coastguard Worker* The test-pattern generators gifbg, gifcolor, gihisto and gifwedge and the 483*324bb76bSAndroid Build Coastguard Worker code templates giffilter and gifsponge are no longer installed by default. 484*324bb76bSAndroid Build Coastguard Worker 485*324bb76bSAndroid Build Coastguard WorkerDocumentation and polish 486*324bb76bSAndroid Build Coastguard Worker------------------------ 487*324bb76bSAndroid Build Coastguard Worker* The history.txt and build.txt and files from 4.2.0 now have .asc extensions 488*324bb76bSAndroid Build Coastguard Worker to indicate that they use asciidoc markup, contrasting with the txt 489*324bb76bSAndroid Build Coastguard Worker standards files from CompuServe. 490*324bb76bSAndroid Build Coastguard Worker* The documentation now includes "What's In A GIF", a very detailed narrative 491*324bb76bSAndroid Build Coastguard Worker description of the file format. 492*324bb76bSAndroid Build Coastguard Worker* The -A option of gifasm (for inserting a loop control block) is documented. 493*324bb76bSAndroid Build Coastguard Worker* The documentation directory includes a copy of the original GIF87 494*324bb76bSAndroid Build Coastguard Worker specification as well as GIF89's. 495*324bb76bSAndroid Build Coastguard Worker* The project now has a logo. 496*324bb76bSAndroid Build Coastguard Worker 497*324bb76bSAndroid Build Coastguard WorkerVersion 4.2.0 498*324bb76bSAndroid Build Coastguard Worker============= 499*324bb76bSAndroid Build Coastguard Worker 500*324bb76bSAndroid Build Coastguard WorkerNow maintained by ESR again after handoff by Toshio Kuratomi. 501*324bb76bSAndroid Build Coastguard Worker 502*324bb76bSAndroid Build Coastguard WorkerCode Fixes 503*324bb76bSAndroid Build Coastguard Worker---------- 504*324bb76bSAndroid Build Coastguard Worker* Code updated internally to C99 to enable more correctness checks by 505*324bb76bSAndroid Build Coastguard Worker the compiler. Compiles under GCC 4.6.1 without errors or warnings. 506*324bb76bSAndroid Build Coastguard Worker* A rare resource leak in the colormap-object maker was found with 507*324bb76bSAndroid Build Coastguard Worker Coverity and fixed. 508*324bb76bSAndroid Build Coastguard Worker* The code now audits clean under Coverity and cppcheck. 509*324bb76bSAndroid Build Coastguard Worker* splint cleanup begun, there's a lot of work still to do on this. 510*324bb76bSAndroid Build Coastguard Worker 511*324bb76bSAndroid Build Coastguard WorkerNew API Features 512*324bb76bSAndroid Build Coastguard Worker---------------- 513*324bb76bSAndroid Build Coastguard Worker* The default GIF version to write is now computed at write time from 514*324bb76bSAndroid Build Coastguard Worker the types of an image's extension blocks, but can be overridden with 515*324bb76bSAndroid Build Coastguard Worker EGifSetGifVersion(). 516*324bb76bSAndroid Build Coastguard Worker* EGifSpew() is now thread-safe. 517*324bb76bSAndroid Build Coastguard Worker* Two new functions, GifError() and GifErrorString(), 518*324bb76bSAndroid Build Coastguard Worker return the error state in a form that can be used by programs. 519*324bb76bSAndroid Build Coastguard Worker* Two library functions - EGifOpenFileName() and EGifPutImageDesc() - 520*324bb76bSAndroid Build Coastguard Worker now have bool rather than int flag arguments. Since bool is a 521*324bb76bSAndroid Build Coastguard Worker typedef of int and TRUE/FALSE have been redefined to true/false, 522*324bb76bSAndroid Build Coastguard Worker both source and object compatibility with older library versions 523*324bb76bSAndroid Build Coastguard Worker should be preserved. 524*324bb76bSAndroid Build Coastguard Worker* GAGetArgs(), used only in the utilities, now returns bool rather 525*324bb76bSAndroid Build Coastguard Worker than int. 526*324bb76bSAndroid Build Coastguard Worker* The undocumented GIF_LIB_VERSION symbol is gone from the library header. 527*324bb76bSAndroid Build Coastguard Worker It has been replaced with three documented symbols: GIFLIB_MAJOR, 528*324bb76bSAndroid Build Coastguard Worker GIFLIB_MINOR, and GIFLIB_RELEASE. 529*324bb76bSAndroid Build Coastguard Worker 530*324bb76bSAndroid Build Coastguard WorkerRetirements 531*324bb76bSAndroid Build Coastguard Worker----------- 532*324bb76bSAndroid Build Coastguard Worker* The gif2epsn and gif2iris utilities are gone. They were full of 533*324bb76bSAndroid Build Coastguard Worker platform dependencies for platforms long dead. There are enough 534*324bb76bSAndroid Build Coastguard Worker platform-independent GIF viewers in the world that these weren't 535*324bb76bSAndroid Build Coastguard Worker adding any value. Removing these gets rid of a dependency on GL. 536*324bb76bSAndroid Build Coastguard Worker* The rle2gif, gif2rle, and gif2ps utilities are also gone. There are enough 537*324bb76bSAndroid Build Coastguard Worker multiformat image converters in the world that these weren't adding 538*324bb76bSAndroid Build Coastguard Worker any value either. Removing them reduces the codebase's dependencies. 539*324bb76bSAndroid Build Coastguard Worker* The undocumented DumpScreen2Gif() is gone from the library. The 540*324bb76bSAndroid Build Coastguard Worker only non-obsolete capture mode it supported was through X, and that 541*324bb76bSAndroid Build Coastguard Worker probably hasn't been used in years and is replaceable by any number 542*324bb76bSAndroid Build Coastguard Worker of capture utilities. Dropping this code makes the library's 543*324bb76bSAndroid Build Coastguard Worker portability issues go away. 544*324bb76bSAndroid Build Coastguard Worker* QuantizeBuffer(), GifQprintf(), PrintGifError(), GIF_ERROR() 545*324bb76bSAndroid Build Coastguard Worker and GIF_MESSAGE() have been removed from the core library. 546*324bb76bSAndroid Build Coastguard Worker They were used only by the utilities. QuantizeBuffer() has been 547*324bb76bSAndroid Build Coastguard Worker inlined where it was used and the latter three are now part of the 548*324bb76bSAndroid Build Coastguard Worker utility support library. 549*324bb76bSAndroid Build Coastguard Worker* The Game Boy Advanced test code is gone. The platform was discontinued 550*324bb76bSAndroid Build Coastguard Worker in 2008; more to the point, nobody ever documented the code's assumptions 551*324bb76bSAndroid Build Coastguard Worker or expected results. 552*324bb76bSAndroid Build Coastguard Worker* The Changelog file is now retained for archival purposes only, and because 553*324bb76bSAndroid Build Coastguard Worker autotools throws a hissy fit if there isn't one. The single point of 554*324bb76bSAndroid Build Coastguard Worker truth about changes and the reasons for them is the repository history. 555*324bb76bSAndroid Build Coastguard Worker 556*324bb76bSAndroid Build Coastguard WorkerBehavior changes 557*324bb76bSAndroid Build Coastguard Worker---------------- 558*324bb76bSAndroid Build Coastguard Worker* The -q option of the utilities is replaced by an opposite -v (verbose) 559*324bb76bSAndroid Build Coastguard Worker option; the default is now quiet for all platforms. Defaulting to chattiness 560*324bb76bSAndroid Build Coastguard Worker on MSDOS made sense in a world of slow text consoles, but not today. 561*324bb76bSAndroid Build Coastguard Worker 562*324bb76bSAndroid Build Coastguard WorkerTesting 563*324bb76bSAndroid Build Coastguard Worker------- 564*324bb76bSAndroid Build Coastguard Worker* There is now a proper regression-test suite; run 'make' in tests/. 565*324bb76bSAndroid Build Coastguard Worker The old test-unx script is now tests/visual-check and can be run 566*324bb76bSAndroid Build Coastguard Worker occasionally for a check with the Mark One Eyeball. 567*324bb76bSAndroid Build Coastguard Worker 568*324bb76bSAndroid Build Coastguard WorkerDocumentation 569*324bb76bSAndroid Build Coastguard Worker------------- 570*324bb76bSAndroid Build Coastguard Worker* Build instructions now live in build.txt 571*324bb76bSAndroid Build Coastguard Worker* An overview of the giflib API now lives in api.txt. 572*324bb76bSAndroid Build Coastguard Worker* Documentation is now in DocBook-XML, so either HTML or man pages can 573*324bb76bSAndroid Build Coastguard Worker be generated from it. 574*324bb76bSAndroid Build Coastguard Worker 575*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.6 576*324bb76bSAndroid Build Coastguard Worker============= 577*324bb76bSAndroid Build Coastguard WorkerBrown paper bag release. Fix a problem with header inclusion that could 578*324bb76bSAndroid Build Coastguard Workerprevent the library from building on some platforms. 579*324bb76bSAndroid Build Coastguard Worker 580*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.5 581*324bb76bSAndroid Build Coastguard Worker============= 582*324bb76bSAndroid Build Coastguard WorkerThis version has some important fixes for segfaults when working with corrupt 583*324bb76bSAndroid Build Coastguard Workerfiles. All users are strongly encouraged to upgrade. 584*324bb76bSAndroid Build Coastguard Worker 585*324bb76bSAndroid Build Coastguard WorkerCode Fixes 586*324bb76bSAndroid Build Coastguard Worker---------- 587*324bb76bSAndroid Build Coastguard Worker* Fix segfault in utilities due to referencing ColorMaps in GifFiles that had 588*324bb76bSAndroid Build Coastguard Worker no ColorMap present. 589*324bb76bSAndroid Build Coastguard Worker* Fix gif2x11 to work on 24 bit displays. 590*324bb76bSAndroid Build Coastguard Worker* Fix for giftext segfault when the GifFile does not store a global colormap. 591*324bb76bSAndroid Build Coastguard Worker* Checks to fail gracefully when an image contains improper LZ codes. 592*324bb76bSAndroid Build Coastguard Worker* Close file handles on failure in DGifOpenFileHandle() 593*324bb76bSAndroid Build Coastguard Worker* Checks to operate on files in binary mode on WIN32 as well as MSDOS. 594*324bb76bSAndroid Build Coastguard Worker 595*324bb76bSAndroid Build Coastguard WorkerBuilding 596*324bb76bSAndroid Build Coastguard Worker-------- 597*324bb76bSAndroid Build Coastguard Worker* Add checks to make building on Win32 easier. 598*324bb76bSAndroid Build Coastguard Worker* Allow turning off gl_s, rle, and X11 support from the configure command line. 599*324bb76bSAndroid Build Coastguard Worker* Fix for finding a 32 bit integer type on some platforms. 600*324bb76bSAndroid Build Coastguard Worker* Only enable -Wall if we're using gcc. 601*324bb76bSAndroid Build Coastguard Worker 602*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.4 603*324bb76bSAndroid Build Coastguard Worker============= 604*324bb76bSAndroid Build Coastguard WorkerThis version fixes some bugs with deallocating ColorMaps. Fix building on 605*324bb76bSAndroid Build Coastguard Workerseveral platforms. Fix x86_64 builds to not hang the encoder. 606*324bb76bSAndroid Build Coastguard Worker 607*324bb76bSAndroid Build Coastguard Worker* Fix several areas in decoding where we removed a ColorMap from our GifFile 608*324bb76bSAndroid Build Coastguard Worker but didn't set the pointer to NULL. This could lead to double free's of 609*324bb76bSAndroid Build Coastguard Worker the ColorMap. 610*324bb76bSAndroid Build Coastguard Worker* Fix a bug in dev2gif.c where we redefined some gl types incorrectly. 611*324bb76bSAndroid Build Coastguard Worker* Fix a bug in the gif LZW encoder that was triggered on modern 64 bit 612*324bb76bSAndroid Build Coastguard Worker platforms. 613*324bb76bSAndroid Build Coastguard Worker* Fix building on Windows. Note -- there has been one API changing event for 614*324bb76bSAndroid Build Coastguard Worker Windows (renaming DrawText to DrawGifText.) This should have conflicted with 615*324bb76bSAndroid Build Coastguard Worker Windows API and therefore caused the builds to fail previously. If you had 616*324bb76bSAndroid Build Coastguard Worker it working with DrawText before, apologies, you'll need to change to 617*324bb76bSAndroid Build Coastguard Worker DrawGifText in your code. This only affects Windows. 618*324bb76bSAndroid Build Coastguard Worker* Add support for building on The Game Boy Advance. Note: Due to the GBA's 619*324bb76bSAndroid Build Coastguard Worker limited memory, the API for the GBA uses short's in many places where the 620*324bb76bSAndroid Build Coastguard Worker other platforms use ints. This shouldn't affect anyone unless you've 621*324bb76bSAndroid Build Coastguard Worker been able to get an older version of the code to run on GBA and want to 622*324bb76bSAndroid Build Coastguard Worker start using this version instead. A recompile of your dependent code 623*324bb76bSAndroid Build Coastguard Worker will be necessary in this case. 624*324bb76bSAndroid Build Coastguard Worker 625*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.3 626*324bb76bSAndroid Build Coastguard Worker============= 627*324bb76bSAndroid Build Coastguard WorkerThis version fixes some bugs in the Extension writing code in 628*324bb76bSAndroid Build Coastguard WorkerEGifPutExtensionFirst, Next, and Last. Using these functions, it is possible 629*324bb76bSAndroid Build Coastguard Workerto output extensions that contain multiple subblocks. Additionally, library 630*324bb76bSAndroid Build Coastguard Workercode has been updated to use these functions, making it safe to output 631*324bb76bSAndroid Build Coastguard Workerlong Comments, and multi-block extensions read in from another file. 632*324bb76bSAndroid Build Coastguard Worker 633*324bb76bSAndroid Build Coastguard Worker* giflib is now hosted on sourceforge with libungif: 634*324bb76bSAndroid Build Coastguard Worker http://sourceforge.net/projects/libungif 635*324bb76bSAndroid Build Coastguard Worker* Make the EGifPutExtension{First,Next,Last} family of functions use WRITE 636*324bb76bSAndroid Build Coastguard Worker so user defined WRITE methods will output them correctly. 637*324bb76bSAndroid Build Coastguard Worker* Modify EGifSpew and EGifPutComment to use EGifPutExtension{First,Next,Last} 638*324bb76bSAndroid Build Coastguard Worker so we won't output broken GIFs when dealing with GIFs with multiple 639*324bb76bSAndroid Build Coastguard Worker subblocks. 640*324bb76bSAndroid Build Coastguard Worker* More -Wall fixes revealed while testing on Solaris and FreeBSD. 641*324bb76bSAndroid Build Coastguard Worker* Updated the gif_lib.html documentation to not use EGifPutExtension when 642*324bb76bSAndroid Build Coastguard Worker dealing with multiple subblocks. Use EGifPutExtension{First,Next,Last} 643*324bb76bSAndroid Build Coastguard Worker instead. 644*324bb76bSAndroid Build Coastguard Worker* Some Windows code from the old CVS repository now available in the windows 645*324bb76bSAndroid Build Coastguard Worker subdirectory. I don't have a Windows environment to test and maintain this 646*324bb76bSAndroid Build Coastguard Worker but maybe someone out there will find it useful. Caveat hacker. 647*324bb76bSAndroid Build Coastguard Worker 648*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.2 649*324bb76bSAndroid Build Coastguard Worker============= 650*324bb76bSAndroid Build Coastguard Worker* Numerous bug fixes from people on the old libungif mailing list. 651*324bb76bSAndroid Build Coastguard Worker* GIF_ERROR and GIF_MESSAGE are on the deprecation list as they are also 652*324bb76bSAndroid Build Coastguard Worker utility helper functions rather than essential to the functioning of the 653*324bb76bSAndroid Build Coastguard Worker library. 654*324bb76bSAndroid Build Coastguard Worker* Complete deprecation list is now in the README file 655*324bb76bSAndroid Build Coastguard Worker* Audited the sources with gcc -Wall. Everything detectable has now been fixed. 656*324bb76bSAndroid Build Coastguard Worker* Ran the library code through indent. 657*324bb76bSAndroid Build Coastguard Worker 658*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.1 659*324bb76bSAndroid Build Coastguard Worker============= 660*324bb76bSAndroid Build Coastguard Worker* Merge in many bug fixes that were sent in while I was hiking the 661*324bb76bSAndroid Build Coastguard Worker Appalachian Trail. 662*324bb76bSAndroid Build Coastguard Worker* The qprintf methods of the library are now deprecated. Do not use 663*324bb76bSAndroid Build Coastguard Worker GifQuietPrint or GifQprintf. These should have been pushed out into the 664*324bb76bSAndroid Build Coastguard Worker utility helper library instead of sitting around in the library proper at 665*324bb76bSAndroid Build Coastguard Worker the same time as the getarg functions were moved out. Getting rid of these 666*324bb76bSAndroid Build Coastguard Worker will let us get rid of our dependence on stdarg.h/varargs.h (Which a Gif 667*324bb76bSAndroid Build Coastguard Worker reading library has no business requiring.) 668*324bb76bSAndroid Build Coastguard Worker 669*324bb76bSAndroid Build Coastguard WorkerVersion 4.1.0 670*324bb76bSAndroid Build Coastguard Worker============= 671*324bb76bSAndroid Build Coastguard Worker* Several minor memory leaks in error conditions have been plugged. 672*324bb76bSAndroid Build Coastguard Worker* New Function EGifOpen(void *userData, OutputFunc writeFunc) allows user 673*324bb76bSAndroid Build Coastguard Worker specified gif writing functions. 674*324bb76bSAndroid Build Coastguard Worker* Old copyright notices in a few source files have been updated. All library 675*324bb76bSAndroid Build Coastguard Worker copyrights should now reflect the copyright notice in the COPYING file. 676*324bb76bSAndroid Build Coastguard Worker 677*324bb76bSAndroid Build Coastguard WorkerVersion 4.0.0 -- giflib 678*324bb76bSAndroid Build Coastguard Worker======================= 679*324bb76bSAndroid Build Coastguard WorkerThis version of the giflib library merges Eric Raymond's giflib-3.0 release 680*324bb76bSAndroid Build Coastguard Workerwith the libungif-4.0 release to give people a binary compatible choice 681*324bb76bSAndroid Build Coastguard Workerbetween the two libraries and gives me the chance to add bugfixes to giflib 682*324bb76bSAndroid Build Coastguard Workerthat have been incorporated in libungif. 683*324bb76bSAndroid Build Coastguard Worker 684*324bb76bSAndroid Build Coastguard WorkerPLEASE READ THE FILE PATENT_PROBLEMS BEFORE USING THIS LIBRARY! 685*324bb76bSAndroid Build Coastguard Worker 686*324bb76bSAndroid Build Coastguard WorkerVersion 4.0.0 687*324bb76bSAndroid Build Coastguard Worker============= 688*324bb76bSAndroid Build Coastguard WorkerMajor fixes have been made to the code that handles Extensions. 689*324bb76bSAndroid Build Coastguard WorkerUnfortunately, this causes binary incompatibility with giflib-3.0 and 690*324bb76bSAndroid Build Coastguard Workerlibungif-3.x. However, the API is still intact. I am, however, deprecating 691*324bb76bSAndroid Build Coastguard Workerthe use of saveImage[x].Function. Use 692*324bb76bSAndroid Build Coastguard WorkersaveImage[x].ExtensionBlocks[y].Function instead. 693*324bb76bSAndroid Build Coastguard Worker 694*324bb76bSAndroid Build Coastguard WorkerVersion 3.1.1 695*324bb76bSAndroid Build Coastguard Worker============= 696*324bb76bSAndroid Build Coastguard Worker The following bugs which caused SegFaults have been fixed: 697*324bb76bSAndroid Build Coastguard Worker * When reading gif files with extensions, DGifSlurp would violate memory. 698*324bb76bSAndroid Build Coastguard Worker * When closing a gif that had a local colormap, DGifCloseFile would attempt 699*324bb76bSAndroid Build Coastguard Worker to free the colormap twice. 700*324bb76bSAndroid Build Coastguard Worker * Fix a potential memory leak in DGifSlurp. 701*324bb76bSAndroid Build Coastguard Worker * New function DGifOpen to allow specifying a user definable gif reading 702*324bb76bSAndroid Build Coastguard Worker function. 703*324bb76bSAndroid Build Coastguard Worker 704*324bb76bSAndroid Build Coastguard WorkerVersion 3.1.0 705*324bb76bSAndroid Build Coastguard Worker============= 706*324bb76bSAndroid Build Coastguard Worker * Add a new function: 707*324bb76bSAndroid Build Coastguard Worker GifFileType *DGifOpen(void * userData, InputFunc readFunc) 708*324bb76bSAndroid Build Coastguard Worker to read the gif image from a user defined input function. 709*324bb76bSAndroid Build Coastguard Worker * A few bugfixes. 710*324bb76bSAndroid Build Coastguard Worker 711*324bb76bSAndroid Build Coastguard WorkerVersion 3.0 712*324bb76bSAndroid Build Coastguard Worker=========== 713*324bb76bSAndroid Build Coastguard Worker 714*324bb76bSAndroid Build Coastguard WorkerChanges from Eric Raymond's libgif 715*324bb76bSAndroid Build Coastguard Worker---------------------------------- 716*324bb76bSAndroid Build Coastguard Worker* A new gif encoder that makes uncompressed gifs rather than standard, 717*324bb76bSAndroid Build Coastguard Worker LZW-compressed gifs. This is actually the major motivating factor behind 718*324bb76bSAndroid Build Coastguard Worker libungif; to provide third-party distributors a means to provide a gif 719*324bb76bSAndroid Build Coastguard Worker library without the patented LZW encoder. 720*324bb76bSAndroid Build Coastguard Worker* A new configure script to make compilation of the library on multiple 721*324bb76bSAndroid Build Coastguard Worker platforms easier. The package should now build shared libraries on all 722*324bb76bSAndroid Build Coastguard Worker platforms supported by GNU libtool. 723*324bb76bSAndroid Build Coastguard Worker* Removed the getarg functions from libgif. These were not part of the 724*324bb76bSAndroid Build Coastguard Worker public API and only used by the tools in the utils directory so I separated 725*324bb76bSAndroid Build Coastguard Worker them from the rest of the library. 726*324bb76bSAndroid Build Coastguard Worker* Fixed a few bugs in the tools in the utils directory. 727*324bb76bSAndroid Build Coastguard Worker 728*324bb76bSAndroid Build Coastguard WorkerVersion 3.0 729*324bb76bSAndroid Build Coastguard Worker=========== 730*324bb76bSAndroid Build Coastguard Worker 731*324bb76bSAndroid Build Coastguard WorkerNew features 732*324bb76bSAndroid Build Coastguard Worker------------ 733*324bb76bSAndroid Build Coastguard Worker* Incorporated Sirtaj Kang's changes to make both static and shared libs. 734*324bb76bSAndroid Build Coastguard Worker* All the utility and library docs are HTML now. 735*324bb76bSAndroid Build Coastguard Worker* The library and relevant utilities are now fully GIF89-aware. 736*324bb76bSAndroid Build Coastguard Worker* Functions for drawing text and boxes on saved images are documented. 737*324bb76bSAndroid Build Coastguard Worker* The distribution is now issued under a simple X-Consortium-style license. 738*324bb76bSAndroid Build Coastguard Worker* Can now generate package RPMs and LSM automatically. 739*324bb76bSAndroid Build Coastguard Worker* Home page with Web-acessible documentation at http://www.ccil.org/~esr/giflib 740*324bb76bSAndroid Build Coastguard Worker 741*324bb76bSAndroid Build Coastguard WorkerBug fixes 742*324bb76bSAndroid Build Coastguard Worker--------- 743*324bb76bSAndroid Build Coastguard Worker* Fix giftext to not core dump on a null extension record. 744*324bb76bSAndroid Build Coastguard Worker* Incorporate Philip VanBaren's change to prevent a core dump in gifasm. 745*324bb76bSAndroid Build Coastguard Worker 746*324bb76bSAndroid Build Coastguard WorkerVersion 2.3 747*324bb76bSAndroid Build Coastguard Worker=========== 748*324bb76bSAndroid Build Coastguard Worker* Fixed a core-dump bug in gifcomb revealed by ELF environment in Linux 1.2.13. 749*324bb76bSAndroid Build Coastguard Worker 750*324bb76bSAndroid Build Coastguard WorkerVersion 2.2b 751*324bb76bSAndroid Build Coastguard Worker============ 752*324bb76bSAndroid Build Coastguard Worker* Added gifburst tool. 753*324bb76bSAndroid Build Coastguard Worker 754*324bb76bSAndroid Build Coastguard WorkerVersion 2.2 755*324bb76bSAndroid Build Coastguard Worker=========== 756*324bb76bSAndroid Build Coastguard Worker* Linux is supported. 757*324bb76bSAndroid Build Coastguard Worker 758*324bb76bSAndroid Build Coastguard WorkerVersion 2.1 759*324bb76bSAndroid Build Coastguard Worker=========== 760*324bb76bSAndroid Build Coastguard Worker* Added the gifovly tool, which supports making a composite from several GIF 761*324bb76bSAndroid Build Coastguard Worker images. 762*324bb76bSAndroid Build Coastguard Worker* Used gifovly to implement a full-fledged pasteup program in shell. It's 763*324bb76bSAndroid Build Coastguard Worker called gifcompose and lives in the util directory. 764*324bb76bSAndroid Build Coastguard Worker* Added a copy of the GIF89 standard to the doc directory (gif89.txt); 765*324bb76bSAndroid Build Coastguard Worker also a description of the preferred compression method (lzgif.txt). 766*324bb76bSAndroid Build Coastguard Worker 767*324bb76bSAndroid Build Coastguard WorkerVersion 2.0 768*324bb76bSAndroid Build Coastguard Worker=========== 769*324bb76bSAndroid Build Coastguard Worker With this version, development was taken over from Gershon Elber by Eric 770*324bb76bSAndroid Build Coastguard WorkerS. Raymond <[email protected]>. Note that I, esr, have pretty much 771*324bb76bSAndroid Build Coastguard Workeradhered to Gershon's coding style, even though it's quite baroque and DOS- 772*324bb76bSAndroid Build Coastguard Workerheaded by my standards. 773*324bb76bSAndroid Build Coastguard Worker 774*324bb76bSAndroid Build Coastguard WorkerLibrary Improvements 775*324bb76bSAndroid Build Coastguard Worker-------------------- 776*324bb76bSAndroid Build Coastguard Worker* New DGifSlurp() and EGifSpew() library entry points allow all GIF-bashing 777*324bb76bSAndroid Build Coastguard Worker to be done in core on machines with sufficient memory. Writing code to 778*324bb76bSAndroid Build Coastguard Worker slice'n'dice multiple GIFs in non-sequential ways is now much easier (send 779*324bb76bSAndroid Build Coastguard Worker kudos and brickbats to esr, small unmarked bills preferred). 780*324bb76bSAndroid Build Coastguard Worker* The interface has changed somewhat. Members in the GifFileType structure 781*324bb76bSAndroid Build Coastguard Worker have been renamed and regrouped. This was required for support of the 782*324bb76bSAndroid Build Coastguard Worker SavedImages member (which enables the new functions mentioned in 1). Also, 783*324bb76bSAndroid Build Coastguard Worker there is a new data type for allocated color maps and routines to handle 784*324bb76bSAndroid Build Coastguard Worker it conveniently. 785*324bb76bSAndroid Build Coastguard Worker* Some minor bugs have been fixed. Most notably, the DGif code now correctly 786*324bb76bSAndroid Build Coastguard Worker handles the possibility of more than one code block per extension record, 787*324bb76bSAndroid Build Coastguard Worker as per the GIF spec. It's not clear, however, that anyone ever has or 788*324bb76bSAndroid Build Coastguard Worker ever will use this feature for anything... 789*324bb76bSAndroid Build Coastguard Worker 790*324bb76bSAndroid Build Coastguard WorkerNew Tools and Options 791*324bb76bSAndroid Build Coastguard Worker--------------------- 792*324bb76bSAndroid Build Coastguard Worker* A brand new, ultra-spiffy tool `icon2gif' is included. It assembles named 793*324bb76bSAndroid Build Coastguard Worker GIFs with editable text color map & icon raster representations to produce 794*324bb76bSAndroid Build Coastguard Worker multi-image GIFs usable as graphical resource files. It can also dump most 795*324bb76bSAndroid Build Coastguard Worker GIFs in the same text-only form it parses. This makes it easy to edit GIFs 796*324bb76bSAndroid Build Coastguard Worker even if you don't have a graphics editor. 797*324bb76bSAndroid Build Coastguard Worker* The gifclip utility supports a new `-c' (complement) option that allows you 798*324bb76bSAndroid Build Coastguard Worker to perform an `inverse clip', removing horizontal or vertical bands from an 799*324bb76bSAndroid Build Coastguard Worker image. 800*324bb76bSAndroid Build Coastguard Worker* The gifclrmp utility supports a new `-t' switch for shuffling color index 801*324bb76bSAndroid Build Coastguard Worker values. 802*324bb76bSAndroid Build Coastguard Worker* A new tool `gifcolor' generates test pattern from colormap input. 803*324bb76bSAndroid Build Coastguard Worker 804*324bb76bSAndroid Build Coastguard WorkerNew Documentation and Examples 805*324bb76bSAndroid Build Coastguard Worker------------------------------ 806*324bb76bSAndroid Build Coastguard Worker* The documentation has been overhauled completely and translated out of the 807*324bb76bSAndroid Build Coastguard Worker dialect spoken by the estimable Mr. Elber into something like standard 808*324bb76bSAndroid Build Coastguard Worker English :-). 809*324bb76bSAndroid Build Coastguard Worker* Two source code files gifspnge.c and giffiltr.c have been added to the 810*324bb76bSAndroid Build Coastguard Worker util directory. These are GIF copiers that exercise the I/O routines, 811*324bb76bSAndroid Build Coastguard Worker provided as skeletons for your applications. Read the comments in them 812*324bb76bSAndroid Build Coastguard Worker for more info. 813*324bb76bSAndroid Build Coastguard Worker* The util Makefile for UNIX has been improved. It now uses the cc/gcc -s 814*324bb76bSAndroid Build Coastguard Worker option rather than strip(1). There are now separate install productions, 815*324bb76bSAndroid Build Coastguard Worker so you can test new versions in util before installation for production 816*324bb76bSAndroid Build Coastguard Worker (the top-level make script still does an install). 817*324bb76bSAndroid Build Coastguard Worker 818*324bb76bSAndroid Build Coastguard WorkerVersion 1.2 819*324bb76bSAndroid Build Coastguard Worker=========== 820*324bb76bSAndroid Build Coastguard Worker* GIFFIX - a new tool to attempt and fix broken GIF images. Currently fix 821*324bb76bSAndroid Build Coastguard Worker images that has EOF prematurely by padding with the darkest color. 822*324bb76bSAndroid Build Coastguard Worker* Make GIF2BGI display as much as it can considering the mem. avail. 823*324bb76bSAndroid Build Coastguard Worker* Add -q flag to all tools for quite running scan line number mode. 824*324bb76bSAndroid Build Coastguard Worker* Fix a (minor!?) bug in the GIF decoder when encountering code 4095. 825*324bb76bSAndroid Build Coastguard Worker* New tools (RGB2GIF and GIF2RGB) to convert GIF to/from 24 bits RGB images. 826*324bb76bSAndroid Build Coastguard Worker* New tool GIFROTAT to rotate a gif image by an arbitrary angle. 827*324bb76bSAndroid Build Coastguard Worker* GifRSize was updated to resize by an arbitrary factor. 828*324bb76bSAndroid Build Coastguard Worker 829*324bb76bSAndroid Build Coastguard WorkerVersion 1.1 830*324bb76bSAndroid Build Coastguard Worker=========== 831*324bb76bSAndroid Build Coastguard Worker* GIF2BGI - a new utility to display GIF images using Borland's BGI drivers 832*324bb76bSAndroid Build Coastguard Worker (if you have one...) 833*324bb76bSAndroid Build Coastguard Worker* TEXT2GIF - Converts plain text into GIF images. 834*324bb76bSAndroid Build Coastguard Worker* GIF2IRIS - SGI4D display program for GIF images. 835*324bb76bSAndroid Build Coastguard Worker* GIF_LIB naming convension has been modified to make sure it has unique 836*324bb76bSAndroid Build Coastguard Worker names (see gif_lib.h). 837*324bb76bSAndroid Build Coastguard Worker* Support for SGI4D gl and X11 window grabbing has been added to the 838*324bb76bSAndroid Build Coastguard Worker library. SGI4D input is quantizied into 8 bits. 839*324bb76bSAndroid Build Coastguard Worker Also support for EGA/VGA devices has been added as well. 840*324bb76bSAndroid Build Coastguard Worker see Dev2gif.c module. 841*324bb76bSAndroid Build Coastguard Worker* Support for the new gif89a format has been added. 842*324bb76bSAndroid Build Coastguard Worker 843*324bb76bSAndroid Build Coastguard Worker 844*324bb76bSAndroid Build Coastguard Worker 845