⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 todo

📁 giflib-4.1.6.tar.gz,最新的GIF 解码库
💻
字号:
Edit utils to get rid of use of all deprecated Functions.- icon2gif has MakeExtensionCheck how the library uses MakeExtension and AddExtensionBlock.  I have thevague impression that the library currently requires a two step process:MakeExtension adds the Function type to deprecated: SavedImage->Function.Then, AddExtensionBlock must be called to add it to SavedImage->ExtensionBlock(The Function type is passed in via the SavedImage->Function so that's why wehave to do that step first.  Need to untangle those functions.)- Why do we have so many colormaps?  GifFile->SColorMap is the screen  descriptor colormap.  GifFile->Image.ColorMap ?  GifFile->SavedImages[x].ColorMap = Local colormap- Also check how we push the Extensions out to a gif file.  We should nevertouch SavedImage->Function when we write to file.  All information is saved inthe ExtensionBlock.EGifPutExtension*/DGifGetExtension* needs to be looked at.  Why is there aFirst, Next, Last, and generic version of these functions?  Does theapplication programmer really need to know all this?  Shouldn't the librarytake care of it?  Also, they should use WRITE rather than fwrite directly tooutput the data.Make sure we set pointers that we don't fill to NULL.  (gifalloc.c seemspretty clean.  But GifFile isn't allocated in gifalloc.c)I found a reported bug about libungif not handling interlaced imagescorrectly.  However, the latest library seems to work.  Need to figure outwhat change fixed it and if it fixed it correctly or in a manner that isapt to break later.Make sure tmpnam is secure in gifinto.c (Use mkstemp if possible..)Audit for sprintf => snprintf# Make sure all malloc calls check their return value.Still need to check dev2gif.c (Know there's problems there)dgif_lib.cegif_lib.cMerge the windows changes from the last cvs version.  Contact Lennie Arakiabout whether he is interested in maintaining the windows changesRun the utils through indentMake sure the backlog is really all merged and then delete things from there.Some is in my mailbox at home.  Others were on the old CVS server.  I thinkmost of the CVS backlog has been merged but I've just started ot look atthe stuff at home.Start thinking about function naming and standardizing things.  The MakeXXX,FreeXXX is a good step, but should things operate on GifFiles or the interiordata structures?  What about the functions in the rest of the library?Should I be able to (MakeGifFileType(), FreeGifFileType(GifFile *) just likeMakeMapObject?)Start thinking about namespacing all our code!  This will break so many thingsin simple ways.  Need to deprecate so we can do this in 5.0Release 4.1.3sync giflib=======Theoretical release 5.0Move utilities into a separate package.  - Move GIF_ERROR and GIF_MESSAGE from gif_lib.h into getarg.  - Move qprintf into getarg   - Rename getarg utilsupport.a and move to the util directory.Now that we have sourceforge hosting, look into putting documentation and awebsite onto sourceforge.  Don't know how much stuff I want to sync into this,though, as I keep hoping gif's will take their last gasp and die.  (Why do weneed gif now that we have png and mng?)======Besides fixing bugs, what's really needed is for someone to work out how tocalculate a colormap for writing gifs from rgb sources.  Right now, an rgbsource that has only two colors (b/w) is being converted into an 8 bit gif....Which is horrendously wasteful without compression.Any volunteers?=======The Present Extension code is pretty hacky.  It looks like giflib's ability todo Extension code was added on at a later time and also was not implementedentirely in conformance with the gif89a spec.  I've hacked it further to makeit conform to the spec, but it would benefit greatly from a complete rewrite.If there is ever a version-5.0 of this library (with API level changes), thisshould definitely be one of the areas that gets worked on.=======Documentation needs updating to reflect additions to the API.  This would bestbe done with auto-extraction from the SOURCES....=======[UPDATE at bottom]Here's a change to the library code that has been proposed:  Pulling knownextensions (comment blocks, etc) out of the Extensions array and putting themin actual places within the GifType structure so application programmers don'thave to search through the Extension array for them.I'm not sure how I want to implemement this yet -- Actually removing them fromthe extension array would break the API compatibility with libungif.  Makingcopies would waste resources needlessly.  Making convenience links with theidea of deprecating the access of the extension block directly for standardfeatures would be okay, but creates extra work in the long run -- really weneed to put the convenience links into the current Extension array.We have to decide where in the structure each extension belongs, generalizethe AddExtensionBlock function to be able to add the extensionblock to anyarea of the structure, rework the gif writing code to place the structureswhere they belong, rework the code writing to the Extension Array so that itcan handle links as well as blocks.And on the other hand, it could turn out that putting extensions into the mainstructure is not intuitive to everyone.  Extensions are "extensions" andpeople may want to look for them grouped together.... I suppose this couldeither mean leaving everything in the extension array, or creating a newextension field that has the extensions dangling off of it (comment, gifanimstuff, unknown, etc.)  This is okay except that it'd be best to have realcopies of the extension in the fields instead of links (so that we could makearrays rather than arrays of pointers.)[UPDATE:1998 3 Dec]After reading through the gif89a specification, I'm not sure this is all thatgreat.  It seems that each image in a gif stream needs to have separateextension blocks.  This means that an animated gif will have a GraphicsExtension Block for each Image in the animation.  Linking this up to theGifFileType is wrong.  Making a link in each SaveFile is correct, but willtake space that won't be needed when that particular extension doesn't appearin this file....Unless someone wants to correct me here, I don't think I'm going to implementthis.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -