A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).

GIF: Difference between revisions

From WHATWG Wiki
Jump to navigation Jump to search
(Created page with "Animated GIFs need a spec that, in particular, specifies how to handle timings (not all browsers honor all values, so we should specify what needs to be honored exactly) == R...")
 
(→‎Specifications: Add MathType; enumerate fractint application authentication codes)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Animated GIFs need a spec that, in particular, specifies how to handle timings (not all browsers honor all values, so we should specify what needs to be honored exactly)
Animated GIFs need a spec that, in particular, specifies how to handle timings (not all browsers honor all values, so we should specify what needs to be honored exactly)
== Implementations ==
=== Gecko ===
* http://mxr.mozilla.org/mozilla-central/source/image/decoders/nsGIFDecoder2.h
* http://mxr.mozilla.org/mozilla-central/source/image/decoders/GIF2.h
* http://mxr.mozilla.org/mozilla-central/source/image/decoders/nsGIFDecoder2.cpp
=== WebKit ===
* http://trac.webkit.org/browser/trunk/Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.h
* http://trac.webkit.org/browser/trunk/Source/WebCore/platform/image-decoders/gif/GIFImageReader.h
* http://trac.webkit.org/browser/trunk/Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
* http://trac.webkit.org/browser/trunk/Source/WebCore/platform/image-decoders/gif/GIFImageReader.cpp
* http://trac.webkit.org/browser/trunk/Source/WebCore/platform/image-decoders/ImageDecoder.cpp
=== Blink ===
* https://chromium.googlesource.com/chromium/blink/+/master/Source/core/platform/image-decoders/gif/GIFImageDecoder.h
* https://chromium.googlesource.com/chromium/blink/+/master/Source/core/platform/image-decoders/gif/GIFImageReader.h
* https://chromium.googlesource.com/chromium/blink/+/master/Source/core/platform/image-decoders/gif/GIFImageDecoder.cpp
* https://chromium.googlesource.com/chromium/blink/+/master/Source/core/platform/image-decoders/gif/GIFImageReader.cpp
* https://chromium.googlesource.com/chromium/blink/+/master/Source/core/platform/image-decoders/ImageDecoder.cpp
=== Other ===
* http://sourceforge.net/p/giflib/code/ci/master/tree/ (giflib)
* https://github.com/jnordberg/gif.js (gif.js)
* https://github.com/deanm/omggif (omggif)
* https://github.com/avik-das/giferly (giferly)
* http://code.google.com/p/gifdotnet/source/browse/ (gifdotnet)


== References ==
== References ==
=== Specifications ===


* GIF87a: [http://web.archive.org/web/20100929230301/http://www.etsimo.uniovi.es/gifanim/gif87a.txt Text] (Stanford) / [http://www.w3.org/Graphics/GIF/spec-gif87.txt Text] (W3C)
* GIF87a: [http://web.archive.org/web/20100929230301/http://www.etsimo.uniovi.es/gifanim/gif87a.txt Text] (Stanford) / [http://www.w3.org/Graphics/GIF/spec-gif87.txt Text] (W3C)
* GIF89a: [http://www.w3.org/Graphics/GIF/spec-gif89a.txt Text] / [http://odur.let.rug.nl/~kleiweg/gif/GIF89a.html HTML]
* GIF89a: [http://www.w3.org/Graphics/GIF/spec-gif89a.txt Text] / [https://web.archive.org/web/20070715193723/http://odur.let.rug.nl/~kleiweg/gif/GIF89a.html HTML]
* GIF Application Extensions:
** <code>NETSCAPE</code> <code>2.0</code>
*** [https://web.archive.org/web/20140830100320/http://odur.let.rug.nl/~kleiweg/gif/netscape.html GIF Application Extension: NETSCAPE2.0]
*** [http://www.vurdalakov.net/misc/gif/netscape-looping-application-extension Netscape Looping Application Extension]
*** [http://www.vurdalakov.net/misc/gif/netscape-buffering-application-extension Netscape Buffering Application Extension]
** <code>ANIMEXTS</code> <code>1.0</code>
*** [http://www.vurdalakov.net/misc/gif/animexts-looping-application-extension AnimExts Looping Application Extension]
** <code>ICCRGBG1</code> <code>012</code>
*** [http://www.color.org/icc1V42.pdf Specification ICC.1:2004-10 (Profile version 4.2.0.0) – Image technology colour management: Architecture, profile format, and data structure] (section B.6)
** <code>XMP Data</code> <code>XMP</code>
*** [http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMP%20SDK%20Release%20cc-2014-12/XMPSpecificationPart3.pdf XMP Specification, Part 3: Storage in Files] (section 1.1.2)
** <code>fractint</code> <code>001</code> / <code>fractint</code> <code>002</code> / <code>fractint</code> <code>003</code> / <code>fractint</code> <code>004</code> / <code>fractint</code> <code>005</code> / <code>fractint</code> <code>006</code> / <code>fractint</code> <code>007</code>
*** [http://fractint.net/fractsvn/trunk/fractint/common/encoder.c fractint encoder source code]
*** [http://fractint.net/fractsvn/trunk/fractint/common/loadfile.c fractint decoder source code], with notes and backwards compatibility for older versions of the fractint extension blocks. All of their extension blocks have names of the form <code>fractint<var>nnn</var></code>, where <code><var>nnn</var></code> is a 3 digit block number.
** <code>MathType</code> <code>001</code> / <code>MathType</code> <code>002</code> / <code>MathType</code> <code>003</code>
*** [http://www.inr.ac.ru/~blackbox/MathType/SDK/docs/baseline_gif.htm MathType baseline information]
*** [http://www.dessci.com/en/support/mathtype/tsn/tsn147.htm MathType: GIFs do not retain their DPI properties] - descriptions and sample images could be used to reverse engineer format
 
=== Further details ===
 
* [[Wikipedia:GIF]]
* [http://fileformats.archiveteam.org/wiki/GIF GIF File Format]
* [http://www.matthewflickinger.com/lab/whatsinagif/ What's in a GIF]
* [http://www.matthewflickinger.com/lab/whatsinagif/ What's in a GIF]
* [http://odur.let.rug.nl/~kleiweg/gif/netscape.html GIF Application Extension: NETSCAPE2.0]
* [http://commandlinefanatic.com/cgi-bin/showarticle.cgi?article=art011 Command Line Fanatic: Inside the GIF file format]
* [http://www.theimage.com/animation/toc/toc.html Gifology: Understanding GIF Files & GIF Animation]
* [http://www.theimage.com/animation/toc/toc.html Gifology: Understanding GIF Files & GIF Animation]
* [http://web.archive.org/web/20100929231133/http://www.etsimo.uniovi.es/gifanim/gifabout.htm All About GIF89a]
* [http://web.archive.org/web/20100929231133/http://www.etsimo.uniovi.es/gifanim/gifabout.htm All About GIF89a]
=== Test images ===
* ImageTestSuite
** [https://github.com/Wormnest/imagetestsuite/blob/wiki/GIFTestSuite.md Documentation]
** [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/imagetestsuite/imagetestsuite-gif-1.00.tar.gz Images (Archive)]
** [https://github.com/Wormnest/imagetestsuite/tree/master/gif Images (git)]
[[Category:Spec coordination]]

Latest revision as of 20:04, 20 November 2017

Animated GIFs need a spec that, in particular, specifies how to handle timings (not all browsers honor all values, so we should specify what needs to be honored exactly)

Implementations

Gecko

WebKit

Blink

Other

References

Specifications

Further details

Test images