-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwiki-gif.html
1506 lines (1500 loc) · 174 KB
/
wiki-gif.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>Graphics Interchange Format - Wikipedia, the free encyclopedia</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="generator" content="MediaWiki 1.23wmf19" />
<link rel="alternate" href="android-app://org.wikipedia/http/en.m.wikipedia.org/wiki/Graphics_Interchange_Format" />
<link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Graphics_Interchange_Format&action=edit" />
<link rel="edit" title="Edit this page" href="/w/index.php?title=Graphics_Interchange_Format&action=edit" />
<link rel="apple-touch-icon" href="//bits.wikimedia.org/apple-touch/wikipedia.png" />
<link rel="shortcut icon" href="//bits.wikimedia.org/favicon/wikipedia.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (en)" />
<link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd" />
<link rel="copyright" href="//creativecommons.org/licenses/by-sa/3.0/" />
<link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom" />
<link rel="canonical" href="http://en.wikipedia.org/wiki/Graphics_Interchange_Format" />
<link rel="stylesheet" href="//bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&lang=en&modules=ext.gadget.DRN-wizard%2CReferenceTooltips%2Ccharinsert%2Cteahouse%7Cext.rtlcite%2Cwikihiero%7Cext.uls.nojs%7Cext.visualEditor.viewPageTarget.noscript%7Cmediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.ui.button%7Cskins.common.interface%7Cskins.vector.styles&only=styles&skin=vector&*" />
<meta name="ResourceLoaderDynamicStyles" content="" />
<link rel="stylesheet" href="//bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&lang=en&modules=site&only=styles&skin=vector&*" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
/* cache key: enwiki:resourceloader:filter:minify-css:7:3904d24a08aa08f6a68dc338f9be277e */</style>
<script src="//bits.wikimedia.org/en.wikipedia.org/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=vector&*"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Graphics_Interchange_Format","wgTitle":"Graphics Interchange Format","wgCurRevisionId":602330951,"wgRevisionId":602330951,"wgArticleId":12702,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Use dmy dates from August 2012","All articles with unsourced statements","Articles with unsourced statements from February 2007","Articles with unsourced statements from December 2013","Commons category with local link same as on Wikidata","Graphics file formats","CompuServe"],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Graphics_Interchange_Format","wgIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"GIF","wgWikiEditorEnabledModules":{"toolbar":true,"dialogs":true,"hidesig":true,"templateEditor":false,"templates":false,"preview":false,"previewDialog":false,"publish":false,"toc":false},"wgBetaFeaturesFeatures":[],"wgVisualEditor":{"isPageWatched":false,"magnifyClipIconURL":"//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png","pageLanguageCode":"en","pageLanguageDir":"ltr","svgMaxSize":2048},"wikilove-recipient":"","wikilove-anon":0,"wgGuidedTourHelpGuiderUrl":"Help:Guided tours/guider","wgFlowTermsOfUseEdit":"By saving changes, you agree to our \u003Ca class=\"external text\" href=\"//wikimediafoundation.org/wiki/Terms_of_use\"\u003ETerms of Use\u003C/a\u003E and agree to irrevocably release your text under the \u003Ca rel=\"nofollow\" class=\"external text\" href=\"//creativecommons.org/licenses/by-sa/3.0\"\u003ECC BY-SA 3.0 License\u003C/a\u003E and \u003Ca class=\"external text\" href=\"//en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License\"\u003EGFDL\u003C/a\u003E","wgULSAcceptLanguageList":["en-us","en"],"wgULSCurrentAutonym":"English","wgFlaggedRevsParams":{"tags":{"status":{"levels":1,"quality":2,"pristine":3}}},"wgStableRevisionId":null,"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}","wgNoticeProject":"wikipedia","wgWikibaseItemId":"Q2192"});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function(){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":0,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"showhiddencats":false,"shownumberswatching":1,"showtoolbar":1,"skin":"vector","stubthreshold":0,"thumbsize":4,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":0,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,
"wllimit":250,"useeditwarning":1,"prefershttps":1,"flaggedrevssimpleui":1,"flaggedrevsstable":0,"flaggedrevseditdiffs":true,"flaggedrevsviewdiffs":false,"usebetatoolbar":1,"usebetatoolbar-cgd":1,"visualeditor-enable":0,"visualeditor-enable-experimental":0,"visualeditor-betatempdisable":0,"wikilove-enabled":1,"echo-subscriptions-web-page-review":true,"echo-subscriptions-email-page-review":false,"ep_showtoplink":false,"ep_bulkdelorgs":false,"ep_bulkdelcourses":true,"ep_showdyk":true,"echo-subscriptions-web-education-program":true,"echo-subscriptions-email-education-program":false,"echo-notify-show-link":true,"echo-show-alert":true,"echo-email-frequency":0,"echo-email-format":"html","echo-subscriptions-email-system":true,"echo-subscriptions-web-system":true,"echo-subscriptions-email-other":false,"echo-subscriptions-web-other":true,"echo-subscriptions-email-edit-user-talk":false,"echo-subscriptions-web-edit-user-talk":true,"echo-subscriptions-email-reverted":false,
"echo-subscriptions-web-reverted":true,"echo-subscriptions-email-article-linked":false,"echo-subscriptions-web-article-linked":false,"echo-subscriptions-email-mention":false,"echo-subscriptions-web-mention":true,"echo-subscriptions-web-edit-thank":true,"echo-subscriptions-email-edit-thank":false,"echo-subscriptions-web-flow-discussion":true,"echo-subscriptions-email-flow-discussion":false,"gettingstarted-task-toolbar-show-intro":true,"uls-preferences":"","language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"searchNs100":false,"searchNs101":false,"searchNs108":false,
"searchNs109":false,"searchNs118":false,"searchNs119":false,"searchNs446":false,"searchNs447":false,"searchNs710":false,"searchNs711":false,"searchNs828":false,"searchNs829":false,"gadget-teahouse":1,"gadget-ReferenceTooltips":1,"gadget-DRN-wizard":1,"gadget-charinsert":1,"gadget-mySandbox":1,"variant":"en"});},{},{});mw.loader.implement("user.tokens",function(){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});},{},{});
/* cache key: enwiki:resourceloader:filter:minify-js:7:868e43d07ede2616d2d1dc3507cd8145 */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax","ext.centralauth.centralautologin","skins.vector.compactPersonalBar.defaultTracking","ext.visualEditor.viewPageTarget.init","ext.uls.init","ext.uls.interface","wikibase.client.init","ext.centralNotice.bannerController","skins.vector.js"]);
}</script>
<link rel="dns-prefetch" href="//meta.wikimedia.org" /><!--[if lt IE 7]><style type="text/css">body{behavior:url("/w/static-1.23wmf19/skins/vector/csshover.min.htc")}</style><![endif]--></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-Graphics_Interchange_Format skin-vector action-view vector-animateLayout">
<div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div id="mw-js-message" style="display:none;"></div>
<div id="siteNotice"><!-- CentralNotice --></div>
<h1 id="firstHeading" class="firstHeading" lang="en"><span dir="auto">Graphics Interchange Format</span></h1>
<div id="bodyContent">
<div id="siteSub">From Wikipedia, the free encyclopedia</div>
<div id="contentSub"> (Redirected from <a href="/w/index.php?title=GIF&redirect=no" title="GIF">GIF</a>)</div>
<div id="jump-to-nav" class="mw-jump">
Jump to: <a href="#mw-navigation">navigation</a>, <a href="#p-search">search</a>
</div>
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="dablink">"GIF" redirects here. For other uses, see <a href="/wiki/GIF_(disambiguation)" title="GIF (disambiguation)">GIF (disambiguation)</a>.</div>
<table class="infobox" cellspacing="3" style="border-spacing:3px;width:22em;">
<caption>.GIF (Graphics Interchange Format)</caption>
<tr>
<td colspan="2" style="text-align:center;"><a href="/wiki/File:Rotating_earth_(large).gif" class="image"><img alt="Rotating earth (large).gif" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Rotating_earth_%28large%29.gif/200px-Rotating_earth_%28large%29.gif" width="200" height="200" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Rotating_earth_%28large%29.gif/300px-Rotating_earth_%28large%29.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif 2x" /></a></td>
</tr>
<tr>
<th scope="row" style="text-align:left;"><a href="/wiki/Filename_extension" title="Filename extension">Filename extension</a></th>
<td><code><tt>.gif</tt></code></td>
</tr>
<tr>
<th scope="row" style="text-align:left;"><a href="/wiki/Internet_media_type" title="Internet media type">Internet media type</a></th>
<td><code><tt>image/gif</tt></code></td>
</tr>
<tr>
<th scope="row" style="text-align:left;"><a href="/wiki/Type_code" title="Type code">Type code</a></th>
<td><tt>GIF</tt><br />
<tt>GIFf</tt></td>
</tr>
<tr>
<th scope="row" style="text-align:left;"><a href="/wiki/Uniform_Type_Identifier" title="Uniform Type Identifier">Uniform Type Identifier</a></th>
<td>com.compuserve.gif</td>
</tr>
<tr>
<th scope="row" style="text-align:left;"><a href="/wiki/File_format#Magic_number" title="File format">Magic number</a></th>
<td><code>GIF87a</code>/<code>GIF89a</code></td>
</tr>
<tr>
<th scope="row" style="text-align:left;">Developed by</th>
<td><a href="/wiki/CompuServe" title="CompuServe">CompuServe</a></td>
</tr>
<tr>
<th scope="row" style="text-align:left;">Type of format</th>
<td><a href="/wiki/Lossless_data_compression" title="Lossless data compression" class="mw-redirect">lossless</a> <a href="/wiki/Raster_graphics" title="Raster graphics">bitmap</a> <a href="/wiki/Graphics_file_format" title="Graphics file format" class="mw-redirect">image format</a></td>
</tr>
</table>
<p>The <b>Graphics Interchange Format</b> (better known by its acronym <b>GIF</b>; <span class="nowrap"><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ˈ/ primary stress follows" style="border-bottom:1px dotted">ˈ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/dʒ/ 'j' in 'jam'" style="border-bottom:1px dotted">dʒ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ɪ/ short 'i' in 'bid'" style="border-bottom:1px dotted">ɪ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'f' in 'find'" style="border-bottom:1px dotted">f</span></a></span><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span></span> or <span class="nowrap"><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ˈ/ primary stress follows" style="border-bottom:1px dotted">ˈ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'g' in 'guy'" style="border-bottom:1px dotted">ɡ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ɪ/ short 'i' in 'bid'" style="border-bottom:1px dotted">ɪ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'f' in 'find'" style="border-bottom:1px dotted">f</span></a></span><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span></span>) is a <a href="/wiki/Raster_graphics" title="Raster graphics">bitmap</a> <a href="/wiki/Image_file_formats" title="Image file formats">image format</a> that was introduced by <a href="/wiki/CompuServe" title="CompuServe">CompuServe</a> in 1987<sup id="cite_ref-87aSpec_1-0" class="reference"><a href="#cite_note-87aSpec-1"><span>[</span>1<span>]</span></a></sup> and has since come into widespread usage on the <a href="/wiki/World_Wide_Web" title="World Wide Web">World Wide Web</a> due to its wide support and portability.</p>
<p>The format supports up to <a href="/wiki/8-bit_color" title="8-bit color">8 bits per pixel</a> for each image, allowing a single image to reference its own palette of up to 256 different colors chosen from the <a href="/wiki/24-bit_color" title="24-bit color" class="mw-redirect">24-bit</a> RGB color space. It also supports <a href="/wiki/Animation" title="Animation">animations</a> and allows a separate palette of up to 256 colors for each frame. These palette limitations make the GIF format unsuitable for reproducing color photographs and other images with continuous color, but it is well-suited for simpler images such as graphics or logos with solid areas of color.</p>
<p>GIF images are compressed using the <a href="/wiki/Lempel-Ziv-Welch" title="Lempel-Ziv-Welch" class="mw-redirect">Lempel-Ziv-Welch</a> (LZW) <a href="/wiki/Lossless_data_compression" title="Lossless data compression" class="mw-redirect">lossless data compression</a> technique to reduce the file size without degrading the visual quality. This compression technique was patented in 1985. Controversy over the licensing agreement between the <a href="/wiki/Software_patent" title="Software patent">software patent</a> holder, <a href="/wiki/Unisys" title="Unisys">Unisys</a>, and CompuServe in 1994 spurred the development of the <a href="/wiki/Portable_Network_Graphics" title="Portable Network Graphics">Portable Network Graphics</a> (PNG) standard. All the relevant patents have now expired.</p>
<p></p>
<div id="toc" class="toc">
<div id="toctitle">
<h2>Contents</h2>
</div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#History"><span class="tocnumber">1</span> <span class="toctext">History</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="#Pronunciation"><span class="tocnumber">2</span> <span class="toctext">Pronunciation</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="#Usage"><span class="tocnumber">3</span> <span class="toctext">Usage</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="#File_format"><span class="tocnumber">4</span> <span class="toctext">File format</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="#Palettes"><span class="tocnumber">5</span> <span class="toctext">Palettes</span></a>
<ul>
<li class="toclevel-2 tocsection-6"><a href="#True_color"><span class="tocnumber">5.1</span> <span class="toctext">True color</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-7"><a href="#Example_GIF_file"><span class="tocnumber">6</span> <span class="toctext">Example GIF file</span></a>
<ul>
<li class="toclevel-2 tocsection-8"><a href="#Image_coding"><span class="tocnumber">6.1</span> <span class="toctext">Image coding</span></a></li>
<li class="toclevel-2 tocsection-9"><a href="#Image_decoding"><span class="tocnumber">6.2</span> <span class="toctext">Image decoding</span></a></li>
<li class="toclevel-2 tocsection-10"><a href="#LZW_code_lengths"><span class="tocnumber">6.3</span> <span class="toctext">LZW code lengths</span></a></li>
<li class="toclevel-2 tocsection-11"><a href="#Uncompressed_GIF"><span class="tocnumber">6.4</span> <span class="toctext">Uncompressed GIF</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-12"><a href="#Compression_example"><span class="tocnumber">7</span> <span class="toctext">Compression example</span></a></li>
<li class="toclevel-1 tocsection-13"><a href="#Interlacing"><span class="tocnumber">8</span> <span class="toctext">Interlacing</span></a></li>
<li class="toclevel-1 tocsection-14"><a href="#Animated_GIF"><span class="tocnumber">9</span> <span class="toctext">Animated GIF</span></a></li>
<li class="toclevel-1 tocsection-15"><a href="#Unisys_and_LZW_patent_enforcement"><span class="tocnumber">10</span> <span class="toctext">Unisys and LZW patent enforcement</span></a></li>
<li class="toclevel-1 tocsection-16"><a href="#Alternatives"><span class="tocnumber">11</span> <span class="toctext">Alternatives</span></a>
<ul>
<li class="toclevel-2 tocsection-17"><a href="#PNG"><span class="tocnumber">11.1</span> <span class="toctext">PNG</span></a></li>
<li class="toclevel-2 tocsection-18"><a href="#Animation_formats"><span class="tocnumber">11.2</span> <span class="toctext">Animation formats</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-19"><a href="#See_also"><span class="tocnumber">12</span> <span class="toctext">See also</span></a></li>
<li class="toclevel-1 tocsection-20"><a href="#References"><span class="tocnumber">13</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-21"><a href="#External_links"><span class="tocnumber">14</span> <span class="toctext">External links</span></a></li>
</ul>
</div>
<p></p>
<h2><span class="mw-headline" id="History">History</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=1" title="Edit section: History">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p><a href="/wiki/CompuServe" title="CompuServe">CompuServe</a> introduced the GIF format in 1987 to provide a color image format for their file downloading areas, replacing their earlier <a href="/wiki/Run-length_encoding" title="Run-length encoding">run-length encoding</a> (RLE) format, which was black and white only. GIF became popular because it used LZW <a href="/wiki/Data_compression" title="Data compression">data compression</a>, which was more efficient than the run-length encoding that formats such as <a href="/wiki/PCX" title="PCX">PCX</a> and <a href="/wiki/MacPaint" title="MacPaint">MacPaint</a> used, and fairly large images could therefore be downloaded in a reasonably short time, even with very slow <a href="/wiki/Modem" title="Modem">modems</a>.</p>
<p>The original version of the GIF format was called <b>87a</b>.<sup id="cite_ref-87aSpec_1-1" class="reference"><a href="#cite_note-87aSpec-1"><span>[</span>1<span>]</span></a></sup> In 1989, CompuServe devised an enhanced version, called <b>89a</b>,<sup id="cite_ref-89aSpec_2-0" class="reference"><a href="#cite_note-89aSpec-2"><span>[</span>2<span>]</span></a></sup> which added support for animation delays (multiple images in a stream were already supported in 87a), transparent background colors, and storage of application-specific metadata. The 89a specification also supports incorporating text labels as text (not embedding them in the graphical data), but as there is little control over display fonts, this feature is not widely used. The two versions can be distinguished by looking at the first six <a href="/wiki/Byte" title="Byte">bytes</a> of the file (the "<a href="/wiki/Magic_number_(programming)" title="Magic number (programming)">magic number</a>" or "signature"), which, when interpreted as <a href="/wiki/ASCII" title="ASCII">ASCII</a>, read "GIF87a" and "GIF89a", respectively.</p>
<p>GIF was one of the first two image formats commonly used on Web sites, the other being the black and white <a href="/wiki/XBM" title="XBM" class="mw-redirect">XBM</a>.<sup class="Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2007)">citation needed</span></a></i>]</sup></p>
<p>The feature of storing multiple images in one file, accompanied by control data, is used extensively on the Web to produce simple <a href="/wiki/Computer_animation" title="Computer animation">animations</a>. The optional interlacing feature, which stores image scan lines out of order in such a fashion that even a partially downloaded image was somewhat recognizable, also helped GIF's popularity,<sup class="Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2007)">citation needed</span></a></i>]</sup> as a user could abort the download if it was not what was required.</p>
<p>In 2012, the word "GIF" was officially recognized as a verb as well as a noun, meaning "to create a GIF file". The United States wing of the <a href="/wiki/Oxford_University_Press" title="Oxford University Press">Oxford University Press</a> voted it their word of the year, saying that GIFs have evolved into "a tool with serious applications including research and journalism".<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span>[</span>3<span>]</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span>[</span>4<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Pronunciation">Pronunciation</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=2" title="Edit section: Pronunciation">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:White_House_Tumblr_launch_image.jpg" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/9/93/White_House_Tumblr_launch_image.jpg/220px-White_House_Tumblr_launch_image.jpg" width="220" height="282" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/93/White_House_Tumblr_launch_image.jpg/330px-White_House_Tumblr_launch_image.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/93/White_House_Tumblr_launch_image.jpg/440px-White_House_Tumblr_launch_image.jpg 2x" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:White_House_Tumblr_launch_image.jpg" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
A humorous image announcing the launch of a <a href="/wiki/Executive_Office_of_the_President_of_the_United_States" title="Executive Office of the President of the United States">White House</a> <a href="/wiki/Tumblr" title="Tumblr">Tumblr</a> suggests pronouncing GIF with a hard "G".</div>
</div>
</div>
<p>The creators of the format pronounced GIF as "Jif" with a soft "<a href="/wiki/G" title="G">G</a>" <span class="nowrap"><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ˈ/ primary stress follows" style="border-bottom:1px dotted">ˈ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/dʒ/ 'j' in 'jam'" style="border-bottom:1px dotted">dʒ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ɪ/ short 'i' in 'bid'" style="border-bottom:1px dotted">ɪ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'f' in 'find'" style="border-bottom:1px dotted">f</span></a></span><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span></span> as in "gin". <a href="/wiki/Steve_Wilhite" title="Steve Wilhite">Steve Wilhite</a> says that the intended pronunciation deliberately echoes the American peanut butter brand, <a href="/wiki/Jif_(peanut_butter)" title="Jif (peanut butter)">Jif</a>, and CompuServe employees would often say "Choosy developers choose GIF", spoofing this brand's television commercials.<sup id="cite_ref-olsen_5-0" class="reference"><a href="#cite_note-olsen-5"><span>[</span>5<span>]</span></a></sup></p>
<p>An alternative pronunciation with a hard "G" (<span class="nowrap"><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ˈ/ primary stress follows" style="border-bottom:1px dotted">ˈ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'g' in 'guy'" style="border-bottom:1px dotted">ɡ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="/ɪ/ short 'i' in 'bid'" style="border-bottom:1px dotted">ɪ</span></a></span><span class="IPA nopopups"><a href="/wiki/Help:IPA_for_English#Key" title="Help:IPA for English"><span title="'f' in 'find'" style="border-bottom:1px dotted">f</span></a></span><span title="Representation in the International Phonetic Alphabet (IPA)" class="IPA"><a href="/wiki/Help:IPA_for_English" title="Help:IPA for English">/</a></span></span> as in "graphics") is in widespread usage.<sup id="cite_ref-BBC20130522_6-0" class="reference"><a href="#cite_note-BBC20130522-6"><span>[</span>6<span>]</span></a></sup> The <i><a href="/wiki/American_Heritage_Dictionary" title="American Heritage Dictionary" class="mw-redirect">American Heritage Dictionary</a></i><sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span>[</span>7<span>]</span></a></sup> cites both, acknowledging "jif" as the primary pronunciation, while the <i>Cambridge Dictionary of American English</i><sup id="cite_ref-cambridgedict_8-0" class="reference"><a href="#cite_note-cambridgedict-8"><span>[</span>8<span>]</span></a></sup> offers only the "gif" pronunciation. <i><a href="/wiki/Merriam-Webster%27s_Collegiate_Dictionary" title="Merriam-Webster's Collegiate Dictionary" class="mw-redirect">Merriam-Webster's Collegiate Dictionary</a></i><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span>[</span>9<span>]</span></a></sup> cites both pronunciations, but places "gif" in the default position ("\ˈgif, ˈjif\").</p>
<p>The disagreement over the pronunciation has led to heated <a href="/wiki/Flame_war" title="Flame war" class="mw-redirect">Internet debate</a>. On the occasion of receiving a lifetime achievement award at the 2013 <a href="/wiki/Webby_Award" title="Webby Award">Webby Award</a> ceremony, Wilhite rejected the alternative pronunciation,<sup id="cite_ref-BBC20130522_6-1" class="reference"><a href="#cite_note-BBC20130522-6"><span>[</span>6<span>]</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span>[</span>10<span>]</span></a></sup><sup id="cite_ref-LAT20131204_11-0" class="reference"><a href="#cite_note-LAT20131204-11"><span>[</span>11<span>]</span></a></sup> and his speech led to 17,000 posts on <a href="/wiki/Twitter" title="Twitter">Twitter</a> and 50 news articles.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span>[</span>12<span>]</span></a></sup> The <a href="/wiki/White_House" title="White House">White House</a> and TV program <a href="/wiki/Jeopardy!" title="Jeopardy!">Jeopardy!</a> also waded into the debate during 2013.</p>
<h2><span class="mw-headline" id="Usage">Usage</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=3" title="Edit section: Usage">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<ul>
<li>GIFs are suitable for sharp-edged line art (such as logos) with a limited number of colors. This takes advantage of the format's lossless compression, which favors flat areas of uniform color with well defined edges.</li>
<li>GIFs can be used to store low-color <a href="/wiki/Sprite_(computer_graphics)" title="Sprite (computer graphics)">sprite</a> data for games.</li>
<li>GIFs can be used for small animations and low-resolution film clips.</li>
<li>Since a single GIF image palette is limited to 256 colors, it is not usually used as a format for <a href="/wiki/Digital_photography" title="Digital photography">digital photography</a>. Digital photographers use image file formats capable of reproducing a greater range of colors, such as <a href="/wiki/Tagged_Image_File_Format" title="Tagged Image File Format">TIFF</a>, <a href="/wiki/Raw_image_format" title="Raw image format">RAW</a> or <a href="/wiki/JPEG" title="JPEG">JPEG</a>.<br style="clear:both;" /></li>
</ul>
<h2><span class="mw-headline" id="File_format">File format</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=4" title="Edit section: File format">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:Empty_GIF_hex.png" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Empty_GIF_hex.png/220px-Empty_GIF_hex.png" width="220" height="106" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Empty_GIF_hex.png/330px-Empty_GIF_hex.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Empty_GIF_hex.png/440px-Empty_GIF_hex.png 2x" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Empty_GIF_hex.png" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
<a href="/wiki/File:Empty.gif" title="File:Empty.gif">File:Empty.gif</a> in a <a href="/wiki/Hex_editor" title="Hex editor">hex editor</a></div>
</div>
</div>
<p>Conceptually, a GIF file describes a fixed-sized graphical area (the "logical screen") populated with zero or more "images". Many GIF files have a single image that fills the entire logical screen. Others divide the logical screen into separate sub-images. The images may also function as animation frames in an animated GIF file, but again these need not fill the entire logical screen.</p>
<p>GIF files start with a fixed-length header ("GIF87a" or "GIF89a") giving the version, followed by a fixed-length Logical Screen Descriptor giving the size and other characteristics of the logical screen. The screen descriptor may also specify the presence and size of a Global Color Table, which follows next if present.</p>
<p>Thereafter, the file is divided into segments, each introduced by a 1-byte sentinel:</p>
<ul>
<li>An image (introduced by 0x2C, a comma <tt>','</tt>)</li>
<li>An extension block (introduced by 0x21, an exclamation point <tt>'!'</tt>)</li>
<li>The trailer (a single byte of value 0x3B, a semi-colon <tt>';'</tt>), which should be the last byte of the file.</li>
</ul>
<p>An image starts with a fixed-length Image Descriptor, which may specify the presence and size of a Local Color Table (which follows next if present). The image data follows: one byte giving the bit width of the unencoded symbols (which must be at least 2 bits wide, even for bi-color images), followed by a linked list of sub-blocks containing the LZW-encoded data.</p>
<p>Extension blocks (blocks that "extend" the 87a definition via a mechanism already defined in the 87a spec) consist of the sentinel, an additional byte specifying the type of extension, and a linked list of sub-blocks with the extension data. Extension blocks that modify an image (like the Graphic Control Extension that specifies the optional animation delay time and optional transparent background color) must immediately precede the segment with the image they refer to.</p>
<p>The linked lists used by the image data and the extension blocks consist of series of sub-blocks, each sub-block beginning with a byte giving the number of subsequent data bytes in the sub-block (1 to 255). The series of sub-blocks is terminated by an empty sub-block (a 0 byte).</p>
<p>This structure allows the file to be parsed even if not all parts are understood. A GIF marked 87a may contain extension blocks; the intent is that a decoder can read and display the file without the features covered in extensions it does not understand.</p>
<p>The full detail of the file format is covered in the GIF specification.<sup id="cite_ref-89aSpec_2-1" class="reference"><a href="#cite_note-89aSpec-2"><span>[</span>2<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Palettes">Palettes</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=5" title="Edit section: Palettes">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="thumb tright">
<div class="thumbinner" style="width:222px;"><a href="/wiki/File:Sunflower_as_gif_websafe.gif" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Sunflower_as_gif_websafe.gif/220px-Sunflower_as_gif_websafe.gif" width="220" height="261" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/a/a0/Sunflower_as_gif_websafe.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/a/a0/Sunflower_as_gif_websafe.gif 2x" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Sunflower_as_gif_websafe.gif" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
An example of a GIF image saved with a 'web-safe' palette and dithered using the <a href="/wiki/Floyd%E2%80%93Steinberg_dithering" title="Floyd–Steinberg dithering">Floyd–Steinberg</a> method. Due to the reduced number of colors in the image, there are obvious display issues.</div>
</div>
</div>
<p>GIF is palette-based: the colors used in an image (a frame) in the file have their <a href="/wiki/RGB" title="RGB" class="mw-redirect">RGB</a> values defined in a <a href="/wiki/Palette_(computing)" title="Palette (computing)">palette table</a> that can hold up to 256 entries, and the data for the image refer to the colors by their indices (0–255) in the palette table. The color definitions in the palette can be drawn from a color space of millions of shades (2<sup>24</sup> shades, 8 bits for each primary), but the maximum number of colors a frame can use is 256. This limitation seemed reasonable when GIF was developed because few people could afford the hardware to display more colors simultaneously. Simple graphics, line drawings, cartoons, and grey-scale photographs typically need fewer than 256 colors.</p>
<p>As a further refinement, each frame can designate one index as a "transparent background color": any pixel assigned this index takes on the color of the pixel in the same position from the background, which may have been determined by a previous frame of animation.</p>
<p>Many techniques, collectively called <a href="/wiki/Dithering" title="Dithering" class="mw-redirect">dithering</a>, have been developed to approximate a wider range of colors with a small color palette by using pixels of two or more colors to approximate in-between colors. These techniques sacrifice spatial resolution to approximate deeper color resolution. While not part of the GIF specification, dithering can of course be used in images subsequently encoded as GIF images. This is often not an ideal solution for GIF images, both because the loss of spatial resolution typically makes an image look fuzzy on the screen, and because the dithering patterns often interfere with the compressibility of the image data, working against GIF's main purpose.</p>
<p>In the early days of graphical web browsers, graphics cards with 8-bit buffers (allowing only 256 colors) were common and it was fairly common to make GIF images using the <a href="/wiki/Web-safe_colors" title="Web-safe colors" class="mw-redirect">websafe palette</a>.<sup class="Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2007)">citation needed</span></a></i>]</sup> This ensured predictable display, but severely limited the choice of colors. Now that 32-bit graphics cards, which support 24-bit color, are the norm, palettes can be populated with the optimum colors for individual images.</p>
<p>A small color table may suffice for small images, and keeping the color table small allows the file to be downloaded faster. Both the 87a and 89a specifications allow color tables of 2<sup><i>n</i></sup> colors for any <i>n</i> from 1 through 8. Most graphics applications will read and display GIF images with any of these table sizes; but some do not support all sizes when <i>creating</i> images. Tables of 2, 16, and 256 colors are widely supported.</p>
<h3><span class="mw-headline" id="True_color">True color</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=6" title="Edit section: True color">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<div class="thumb tright">
<div class="thumbinner" style="width:212px;"><a href="/wiki/File:SmallFullColourGIF.gif" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/a/aa/SmallFullColourGIF.gif" width="210" height="210" class="thumbimage" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:SmallFullColourGIF.gif" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
An animated GIF illustrating a technique for displaying more than the typical limit of 256 colors</div>
</div>
</div>
<p>Although the GIF format is almost never used for <a href="/wiki/True_Color" title="True Color" class="mw-redirect">True Color</a> images, it is possible to do so.<sup id="cite_ref-aminet_13-0" class="reference"><a href="#cite_note-aminet-13"><span>[</span>13<span>]</span></a></sup><sup id="cite_ref-philhoward_14-0" class="reference"><a href="#cite_note-philhoward-14"><span>[</span>14<span>]</span></a></sup> A GIF image can include multiple image blocks, each of which can have its own 256-color palette, and the blocks can be tiled to create a complete image. Alternatively, the GIF89a specification introduced the idea of a "transparent" color where each image block can include its own palette of 255 visible colors plus one transparent color. A complete image can be created by layering image blocks with the visible portion of each layer showing through the transparent portions of the layers above.</p>
<p>To render a full-color image as a GIF, the original image must be broken down into smaller regions having no more than 255 or 256 different colors. Each of these regions is then stored as a separate image block with its own local palette and when the image blocks are displayed together (either by tiling or by layering partially transparent image blocks) the complete, full-color image appears. For example, breaking an image into tiles of 16 by 16 pixels (256 pixels in total) ensures that no tile has more than the local palette limit of 256 colors, although larger tiles may be used and similar colors merged resulting in some loss of color information.<sup id="cite_ref-aminet_13-1" class="reference"><a href="#cite_note-aminet-13"><span>[</span>13<span>]</span></a></sup></p>
<p>Since each image block requires its own local color table, a GIF file having lots of image blocks can be very large, limiting the usefulness of full-color GIFs.<sup id="cite_ref-philhoward_14-1" class="reference"><a href="#cite_note-philhoward-14"><span>[</span>14<span>]</span></a></sup> Additionally, not all GIF rendering programs handle tiled or layered images correctly. Many rendering programs interpret tiles or layers as animation frames and display them in sequence as an endless animation<sup id="cite_ref-aminet_13-2" class="reference"><a href="#cite_note-aminet-13"><span>[</span>13<span>]</span></a></sup> with most web browsers automatically displaying the frames with a delay time of 0.1 seconds.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span>[</span>15<span>]</span></a></sup><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span>[</span>16<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Example_GIF_file">Example GIF file</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=7" title="Edit section: Example GIF file">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="thumb tleft">
<div class="thumbinner" style="width:34px;"><a href="/wiki/File:GifSample.gif" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/1/19/GifSample.gif" width="32" height="52" class="thumbimage" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:GifSample.gif" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
Sample image (enlarged), actual size 3 pixels wide by 5 high</div>
</div>
</div>
<div class="thumb tright">
<div class="thumbinner" style="width:180px;"><a href="/wiki/File:GIFPAL.png" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/GIFPAL.png/178px-GIFPAL.png" width="178" height="178" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/GIFPAL.png/267px-GIFPAL.png 1.5x, //upload.wikimedia.org/wikipedia/commons/4/43/GIFPAL.png 2x" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:GIFPAL.png" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
Bytes D<sub>h</sub> to 30C<sub>h</sub> in the example define a palette of 256 colors.</div>
</div>
</div>
<div style="clear:left;"></div>
<p><a href="/wiki/Paint_(software)" title="Paint (software)">Microsoft's Paint program</a> saves a small black and white image as the following GIF file. Paint does not make optimal use of the GIF format; due to the unnecessarily large color table (storing a full 256 colors instead of the used 2) and symbol width, this GIF file is not an efficient representation of the 15-pixel image (illustrated enlarged above).</p>
<p>Although the Graphics Control Extension block declares color index 16 (hexadecimal 10) to be transparent, that index is not used in the image. The only color indexes appearing in the image data are decimal 40 and 255, which the Global Color Table maps to black and white, respectively.</p>
<p>Note that the hex numbers in the following tables are in <a href="/wiki/Endianness" title="Endianness">little-endian</a> byte order, as the format specification prescribes.</p>
<div style="clear:both;"></div>
<pre>
byte# hexadecimal text or
(hex) value Meaning
0: 47 49 46
38 39 61 GIF89a Header
Logical Screen Descriptor
6: 03 00 3 - logical screen width in pixels
8: 05 00 5 - logical screen height in pixels
A: F7 - GCT follows for 256 colors with resolution 3 x 8 bits/primary
B: 00 0 - background color #0
C: 00 - default pixel aspect ratio
R G B Global Color Table
D: 00 00 00 0 0 0 - color #0 black
10: 80 00 00 128 0 0 - color #1
: :
85: 00 00 00 0 0 0 - color #40 black
: :
30A: FF FF FF 255 255 255 - color #255 white
30D: 21 F9 Graphic Control Extension
30F: 04 4 - 4 bytes of GCE data follow
310: 01 - there is a transparent background color
311: 00 00 - delay for animation: not used
313: 10 16 - color #16 is transparent
314: 00 - end of GCE block
315: 2C Image Descriptor
316: 00 00 00 00 (0,0) - NW corner position of image in logical screen
31A: 03 00 05 00 (3,5) - image width and height in pixels
31E: 00 - no local color table
31F: 08 8 Start of image - LZW minimum code size
320: 0B 11 - 11 bytes of LZW encoded image data follow
321: 00 51 FC 1B 28 70 A0 C1 83 01 01
32C: 00 - end of image data
32D: 3B GIF file terminator
</pre>
<h3><span class="mw-headline" id="Image_coding">Image coding</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=8" title="Edit section: Image coding">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>The image pixel data, scanned horizontally from top left, are converted by <a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">LZW encoding</a> to codes that are then mapped into bytes for storing in the file. The pixel codes typically don't match the 8-bit size of the bytes, so the codes are packed into bytes by a "little-Endian" scheme: the least significant bit of the first code is stored in the least significant bit of the first byte, higher order bits of the code into higher order bits of the byte, spilling over into the low order bits of the next byte as necessary. Each subsequent code is stored starting at the least significant bit not already used.</p>
<p>This byte stream is stored in the file as a series of "sub-blocks". Each sub-block has a maximum length 255 bytes and is prefixed with a byte indicating the number of data bytes in the sub-block. The series of sub-blocks is terminated by an empty sub-block (a single 0 byte, indicating a sub-block with 0 data bytes).</p>
<p>For the sample image above the reversible mapping between 9-bit codes and bytes is shown below.</p>
<table style="font-family:monospace; margin-left:2em" cellpadding="0" cellspacing="0">
<tr>
<td>9-bit code<br />
(hex)</td>
<td style="text-align:center; vertical-align:top;">Binary</td>
<td>Bytes<br />
(hex)</td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:red">00000000</span></td>
<td style="text-align:right;">00</td>
</tr>
<tr>
<td><span style="color:red">100</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:blue">0101000</span>|<span style="color:red">1</span></td>
<td style="text-align:right;">51</td>
</tr>
<tr>
<td><span style="color:blue">028</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:red">111111</span>|<span style="color:blue">00</span></td>
<td style="text-align:right;">FC</td>
</tr>
<tr>
<td><span style="color:red">0FF</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:blue">00011</span>|<span style="color:red">011</span></td>
<td style="text-align:right;">1B</td>
</tr>
<tr>
<td><span style="color:blue">103</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:red">0010</span>|<span style="color:blue">1000</span></td>
<td style="text-align:right;">28</td>
</tr>
<tr>
<td><span style="color:red">102</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:blue">011</span>|<span style="color:red">10000</span></td>
<td style="text-align:right;">70</td>
</tr>
<tr>
<td><span style="color:blue">103</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:red">10</span>|<span style="color:blue">100000</span></td>
<td style="text-align:right;">A0</td>
</tr>
<tr>
<td><span style="color:red">106</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:blue">1</span>|<span style="color:red">1000001</span></td>
<td style="text-align:right;">C1</td>
</tr>
<tr>
<td><span style="color:blue">107</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:blue">10000011</span></td>
<td style="text-align:right;">83</td>
</tr>
<tr>
<td></td>
<td style="text-align:right;"><span style="color:red">00000001</span></td>
<td style="text-align:right;">01</td>
</tr>
<tr>
<td><span style="color:red">101</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td style="text-align:right;">0000000|<span style="color:red">1</span></td>
<td style="text-align:right;">01</td>
</tr>
</table>
<p>A slight compression is evident: pixel colors defined initially by 15 bytes are exactly represented by 12 code bytes including control codes. The encoding process that produces the 9-bit codes is shown below. A local string accumulates pixel color numbers from the palette, with no output action as long as the local string can be found in a code table. There is special treatment of the first two pixels that arrive before the table grows from its initial size by additions of strings. After each output code, the local string is initialized to the latest pixel color (that could not be included in the output code).</p>
<pre>
Table 9-bit
string --> code code Action
#0 | 000h Initialize root table of 9-bit codes
palette | :
colors | :
#255 | 0FFh
clr | 100h
end | 101h
| 100h Clear
Pixel Local |
color Palette string |
BLACK #40 28 | 028h 1st pixel always to output
WHITE #255 FF | String found in table
28 FF | 102h Always add 1st string to table
FF | Initialize local string
WHITE #255 FF FF | String not found in table
| 0FFh - output code for previous string
FF FF | 103h - add latest string to table
FF | - initialize local string
WHITE #255 FF FF | String found in table
BLACK #40 FF FF 28 | String not found in table
| 103h - output code for previous string
FF FF 28 | 104h - add latest string to table
28 | - initialize local string
WHITE #255 28 FF | String found in table
WHITE #255 28 FF FF | String not found in table
| 102h - output code for previous string
28 FF FF | 105h - add latest string to table
FF | - initialize local string
WHITE #255 FF FF | String found in table
WHITE #255 FF FF FF | String not found in table
| 103h - output code for previous string
FF FF FF | 106h - add latest string to table
FF | - initialize local string
WHITE #255 FF FF | String found in table
WHITE #255 FF FF FF | String found in table
WHITE #255 FF FF FF FF | String not found in table
| 106h - output code for previous string
FF FF FF FF| 107h - add latest string to table
FF | - initialize local string
WHITE #255 FF FF | String found in table
WHITE #255 FF FF FF | String found in table
WHITE #255 FF FF FF FF | String found in table
No more pixels
107h - output code for last string
101h End
</pre>
<p>For clarity the table is shown above as being built of strings of increasing length. That scheme can function but the table consumes an unpredictable amount of memory. Memory can be saved in practice by noting that each new string to be stored consists of a previously stored string augmented by one character. It is economical to store at each address only two words: an existing address and one character.</p>
<p>The LZW algorithm requires a search of the table for each pixel. A linear search through up to 4096 addresses would make the coding slow. In practice the codes can be stored in order of numerical value; this allows each search to be done by a SAR (Successive Approximation Register, as used in some <a href="/wiki/Successive_approximation_ADC" title="Successive approximation ADC">ADCs</a>), with only 12 magnitude comparisons. For this efficiency an extra table is needed to convert between codes and actual memory addresses; the extra table upkeeping is needed only when a new code is stored which happens at much less than pixel rate.</p>
<h3><span class="mw-headline" id="Image_decoding">Image decoding</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=9" title="Edit section: Image decoding">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>Decoding begins by mapping the stored bytes back to 9-bit codes. These are decoded to recover the pixel colors as shown below. A table identical to the one used in the encoder is built by adding strings by this rule:</p>
<pre>
Is incoming code found in table?
YES: add string for local code followed by first byte of string for incoming code
NO: add string for local code followed by copy of its own first byte
</pre>
<pre>
shift
9-bit ----> Local Table Pixel
code code code --> string Palette color Action
100h 000h | #0 Initialize root table of 9-bit codes
: | palette
: | colors
0FFh | #255
100h | clr
101h | end
028h | #40 BLACK Decode 1st pixel
0FFh 028h | Incoming code found in table
| #255 WHITE - output string from table
102h | 28 FF - add to table
103h 0FFh | Incoming code not found in table
103h | FF FF - add to table
| - output string from table
| #255 WHITE
| #255 WHITE
102h 103h | Incoming code found in table
| - output string from table
| #40 BLACK
| #255 WHITE
104h | FF FF 28 - add to table
103h 102h | Incoming code found in table
| - output string from table
| #255 WHITE
| #255 WHITE
105h | 28 FF FF - add to table
106h 103h | Incoming code not found in table
106h | FF FF FF - add to table
| - output string from table
| #255 WHITE
| #255 WHITE
| #255 WHITE
107h 106h | Incoming code not found in table
107h | FF FF FF FF - add to table
| - output string from table
| #255 WHITE
| #255 WHITE
| #255 WHITE
| #255 WHITE
101h | End
</pre>
<h3><span class="mw-headline" id="LZW_code_lengths">LZW code lengths</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=10" title="Edit section: LZW code lengths">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>Shorter code lengths can be used for palettes smaller than the 256 colors in the example. If the palette is only 64 colors (so color indexes are 6 bits wide), the symbols can range from 0 to 63, and the symbol width can be taken to be 6 bits, with codes starting at 7 bits. In fact, the symbol width need not match the palette size: as long as the values decoded are always less than the number of colors in the palette, the symbols can be any width from 2 to 8, and the palette size any power of 2 from 2 to 256. For example, if only the first four colors (values 0 to 3) of the palette are used, the symbols can taken to be 2 bits wide with codes starting at 3 bits.</p>
<p>Conversely, the symbol width could be set at 8, even if only values 0 and 1 are used; these data would only require a 2-color table. Although there would be no point in encoding the file that way, something similar typically happens for bi-color images: the minimum symbol width is 2, even if only values 0 and 1 are used.</p>
<p>The code table initially contains codes that are one bit longer than the symbol size in order to accommodate the two special codes <i>clr</i> and <i>end</i> and codes for strings that are added during the process. When the table is full the code length increases to give space for more strings, up to a maximum code 4095 = FFF(hex). As the decoder builds its table it tracks these increases in code length and it is able to unpack incoming bytes accordingly.</p>
<h3><span class="mw-headline" id="Uncompressed_GIF">Uncompressed GIF</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=11" title="Edit section: Uncompressed GIF">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<div class="thumb tright">
<div class="thumbinner" style="width:48px;"><a href="/wiki/File:Quilt_design_as_46x46_uncompressed_GIF.gif" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/b/bb/Quilt_design_as_46x46_uncompressed_GIF.gif" width="46" height="46" class="thumbimage" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Quilt_design_as_46x46_uncompressed_GIF.gif" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
A 46 x 46 uncompressed GIF with 7-bit symbols (128 colors, 8-bit codes). Click on the image for an explanation of the code.</div>
</div>
</div>
<p>The GIF encoding process can be modified to create a file without LZW compression that is still viewable as a GIF image. This technique was introduced originally as a way to avoid patent infringement. Uncompressed GIF can also be a useful intermediate format for a graphics programmer because individual pixels are accessible for reading or painting. An uncompressed GIF file can be converted to an ordinary GIF file simply by passing it through an image editor.</p>
<p>The modified encoding method ignores building the LZW table and emits only the root palette codes and the codes for CLEAR and STOP. This yields a simpler encoding (a 1-to-1 correspondence between code values and palette codes) but sacrifices all of the compression: each pixel in the image generates an output code indicating its color index. When processing an uncompressed GIF, a standard GIF decoder will not be prevented from writing strings to its dictionary table, but the code width must never increase since that triggers a different packing of bits to bytes.</p>
<p>If the symbol width is n, the codes of width n+1 fall naturally into two blocks: the lower block of 2<sup>n</sup> codes for coding single symbols, and the upper block of 2<sup>n</sup> codes that will be used by the decoder for sequences of length greater than one. Of that upper block, the first two codes are already taken: 2<sup>n</sup> for CLEAR and 2<sup>n</sup> + 1 for STOP. The decoder must also be prevented from using the last code in the upper block, 2<sup>n+1</sup> − 1, because when the decoder fills that slot, it will increase the code width. Thus in the upper block there are 2<sup>n</sup> − 3 codes available to the decoder that won't trigger an increase in code width. Because the decoder is always one step behind in maintaining the table, it does not generate a table entry upon receiving the first code from the encoder, but will generate one for each succeeding code. Thus the encoder can generate 2<sup>n</sup> − 2 codes without triggering an increase in code width. Therefore the encoder must emit extra CLEAR codes at intervals of 2<sup>n</sup> − 2 codes or less to make the decoder reset the coding dictionary. The GIF standard allows such extra CLEAR codes to be inserted in the image data at any time. The composite data stream is partitioned into sub-blocks that each carry from 1 to 255 bytes.</p>
<p>For the sample 3x5 image above, the following 9-bit codes represent "clear" (100) followed by image pixels in scan order and "stop" (101).</p>
<pre>
9-bit codes: 100 028 0FF 0FF 0FF 028 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 0FF 101
</pre>
<p>After the above codes are mapped to bytes, the uncompressed file differs from the compressed file thus:</p>
<pre>
:
320: 14 20 20 bytes uncompressed image data follow
321: 00 51 FC FB F7 0F C5 BF 7F FF FE FD FB F7 EF DF BF 7F 01 01
335: 00 - end
:
</pre>
<h2><span class="mw-headline" id="Compression_example">Compression example</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=12" title="Edit section: Compression example">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>The trivial example of a large image of solid color demonstrates the variable-length LZW compression used in GIF files.</p>
<pre>
------------------------+-------------------------+---------------------------------------------
CODE | PIXELS | NOTES
------------------------+-------------------------+---------------------------------------------
no. | value | length | this code | accumulated | Relations using N¡ apply only to same-
N¡ | N¡+256| (bits) | N¡ | N¡(N¡+1)/2 |<-- color pixels until coding table is full.
________________________________________________________________________________________________
0: | 100h | 9 | | | Clear code table
-------+-------+ +-----------+-------------+--------------------------
1: | FFh | | 1 | 1 | Top left pixel color chosen as the
| | | | | highest index of a 256-color palette
-------+-------+ +-----------+-------------+--------------------------
2: | 102h | | 2 | 3 |
-------+-------+ +-----------+-------------+--------------------------
3: | 103h | | 3 | 6 |
: : | | : : |
255: | 1FFh | | 255 | 32 640 | Last 9-bit code
-------+-------+--------+-----------+-------------+--------------------------
256: | 200h | 10 | 256 | 32 896 |
: : | | : : |
767: | 3FFh | | 767 | 294 528 | Last 10-bit code
-------+-------+--------+-----------+-------------+--------------------------
768: | 400h | 11 | 768 | 295 296 |
: : | | : | : |
1791: | 7FFh | | 1791 | 1 604 736 | Last 11-bit code
-------+-------+--------+-----------+-------------+--------------------------
1792: | 800h | 12 | 1792 | 1 606 528 |
: : | | : | : |
3839: | FFFh | | 3839 | 7 370 880 | Code table full
-------+-------+ +-----------+-------------+--------------------------
: | FFFh | | 3839 | The maximum code may repeat for more same-color pixels.
: | | | | Overall data compression asymptotically approaches
: | | | | 3839 x 8 / 12 = 2559-1/3
-------+-------+ +-----------+-------------+--------------------------
| 101h | | | | End of image data
_____________________________________________________________________________
</pre>
<p>The code values shown are packed into bytes which are then packed into blocks of up to 255 bytes. A block of image data begins with a byte that declares the number of bytes to follow. The last block of data for an image is marked by a zero block-length byte.</p>
<h2><span class="mw-headline" id="Interlacing">Interlacing</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=13" title="Edit section: Interlacing">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>The GIF Specification allows each image within the logical screen of a GIF file to specify that it is interlaced; i.e., that the order of the raster lines in its data block is not sequential. This allows a partial display of the image that can be recognized before the full image is painted.</p>
<p>An interlaced image is divided from top to bottom into strips 8 pixels high, and the rows of the image are presented in the following order:</p>
<ul>
<li>Pass 1: Line 0 (the top-most line) from each strip.</li>
<li>Pass 2: Line 4 from each strip.</li>
<li>Pass 3: Lines 2 and 6 from each strip.</li>
<li>Pass 4: Lines 1, 3, 5, and 7 from each strip.</li>
</ul>
<p>The pixels within each line are not interlaced, but presented consecutively from left to right. As with non-interlaced images, there is no break between the data for one line and the data for the next. The indicator that an image is interlaced is a bit set in the image's header block.</p>
<h2><span class="mw-headline" id="Animated_GIF">Animated GIF</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=14" title="Edit section: Animated GIF">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="thumb tleft">
<div class="thumbinner" style="width:202px;"><a href="/wiki/File:Newtons_cradle_animation_book_2.gif" class="image"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Newtons_cradle_animation_book_2.gif/200px-Newtons_cradle_animation_book_2.gif" width="200" height="150" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Newtons_cradle_animation_book_2.gif/300px-Newtons_cradle_animation_book_2.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d3/Newtons_cradle_animation_book_2.gif/400px-Newtons_cradle_animation_book_2.gif 2x" /></a>
<div class="thumbcaption">
<div class="magnify"><a href="/wiki/File:Newtons_cradle_animation_book_2.gif" class="internal" title="Enlarge"><img src="//bits.wikimedia.org/static-1.23wmf19/skins/common/images/magnify-clip.png" width="15" height="11" alt="" /></a></div>
The GIF format can be used to display animation, as in this image of <a href="/wiki/Newton%27s_cradle" title="Newton's cradle">Newton's Cradle</a>.</div>
</div>
</div>
<p>Basic animation was added to the GIF89a spec via the Graphics Control Extension (GCE), which allows various images (frames) in the file to be painted with time delays. An animated GIF file comprises a number of frames that are displayed in succession, each introduced by its own GCE, which gives the time delay to wait after the frame is drawn. Global information at the start of the file applies by default to all frames. The data is stream-oriented, so the file-offset of the start of each GCE depends on the length of preceding data. Within each frame the LZW-coded image data is arranged in sub-blocks of up to 255 bytes; the size of each sub-block is declared by the byte that precedes it.</p>
<p>By default, however, an animation displays the sequence of frames only once, stopping when the last frame is displayed. Since GIF is designed to allow users to define new blocks, <a href="/wiki/Netscape" title="Netscape">Netscape</a> in the 1990s used the Application Extension block (intended to allow vendors to add application-specific information to the GIF file) to implement the Netscape Application Block (NAB).<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span>[</span>17<span>]</span></a></sup> This block, placed immediately before all the animation frames, specifies the number of times the sequence of frames should be played. (The value 0 signifies continuous display.) Support for these repeating animations first appeared in <a href="/wiki/Netscape_Navigator" title="Netscape Navigator">Netscape Navigator</a> version 2.0, and then spread to other browsers.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span>[</span>18<span>]</span></a></sup> Most browsers now recognize and support NAB, though it is not strictly part of the GIF89a specification.</p>
<p>The following example shows the structure of the animation file <i><a href="/wiki/File:Rotating_earth_(large).gif" title="File:Rotating earth (large).gif">Rotating earth (large).gif</a></i> shown (as a thumbnail) at the top of the article.<br style="clear: both" /></p>
<pre>
byte# hexadecimal text or
(hex) value Meaning
0: 47 49 46
38 39 61 GIF89a Header
Logical Screen Descriptor
6: 90 01 400 - width in pixels
8: 90 01 400 - height in pixels
A: F7 - GCT follows for 256 colors with resolution 3 x 8bits/primary
B: 00 0 - background color #0
C: 00 - default pixel aspect ratio
D: Global Color Table
:
30D: 21 FF Application Extension block
30F: 0B 11 - eleven bytes of data follow
310: 4E 45 54
53 43 41
50 45 NETSCAPE - 8-character application name
32 2E 30 2.0 - application "authentication code"
31B: 03 3 - three more bytes of data
31C: 01 1 - data sub-block index (always 1)
31D: FF FF 65535 - unsigned number of repetitions
31F: 00 - end of App Extension block
320: 21 F9 Graphic Control Extension for frame #1
322: 04 4 - four bytes of data follow
323: 08 - no transparency
324: 09 00 - 0.09 sec delay before painting next frame
326: 00 - no transparent color
327: 00 - end of GCE block
328: 2C Image Descriptor
329: 00 00 00 00 (0,0) - NW corner of frame at 0, 0
32D: 90 01 90 01 (400,400) - Frame width and height: 400 x 400
331: 00 - no local color table; no interlace
332: 08 8 LZW min code size
333: FF 255 - 255 bytes of LZW encoded image data follow
334: data
433: FF 255 - 255 bytes of LZW encoded image data follow
data
:
92BA: 00 - end of LZW data for this frame
92BB: 21 F9 Graphic Control Extension for frame #2
: :
153B7B:21 F9 Graphic Control Extension for frame #44
:
15CF35:3B File terminator
</pre>
<p>The animation delay for each frame is specified in the GCE in hundredths of a second. Some economy of data is possible where a frame need only rewrite a portion of the pixels of the display, because the Image Descriptor can define a smaller rectangle to be rescanned instead of the whole image. Displays that do not support animated GIFs show only the first frame.</p>
<p><a href="/wiki/Internet_Explorer" title="Internet Explorer">Internet Explorer</a> slows down GIFs if the frame-rate is 20 frames per second or higher and Microsoft reports that <a href="/wiki/Google_Chrome" title="Google Chrome">Google Chrome</a> and <a href="/wiki/Safari_(web_browser)" title="Safari (web browser)">Safari</a> also slow down some GIF animations.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span>[</span>19<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Unisys_and_LZW_patent_enforcement">Unisys and LZW patent enforcement</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=15" title="Edit section: Unisys and LZW patent enforcement">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>In 1977 and 1978, <a href="/wiki/Jacob_Ziv" title="Jacob Ziv">Jacob Ziv</a> and <a href="/wiki/Abraham_Lempel" title="Abraham Lempel">Abraham Lempel</a> published a pair of papers on a new class of lossless data-compression algorithms, now collectively referred to as <a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">LZ77 and LZ78</a>. In 1983, <a href="/wiki/Terry_Welch" title="Terry Welch">Terry Welch</a> developed a fast variant of LZ78 which was named <a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">Lempel–Ziv–Welch</a> (LZW).<sup id="cite_ref-PNG_20-0" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup><sup id="cite_ref-KYZ_21-0" class="reference"><a href="#cite_note-KYZ-21"><span>[</span>21<span>]</span></a></sup></p>
<p>Welch filed a patent application for the LZW method in June 1983. The resulting patent, <span class="citation patent"><a rel="nofollow" class="external text" href="http://worldwide.espacenet.com/textdoc?DB=EPODOC&IDX=US4558302">US 4558302</a></span><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&rft.number=4558302&rft.cc=US&rft.title="><span style="display: none;"> </span></span>, granted in December 1985, was assigned to <a href="/wiki/Sperry_Corporation" title="Sperry Corporation">Sperry Corporation</a> who subsequently merged with <a href="/wiki/Burroughs_Corporation" title="Burroughs Corporation">Burroughs Corporation</a> in 1986 and formed <a href="/wiki/Unisys" title="Unisys">Unisys</a>.<sup id="cite_ref-PNG_20-1" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup> Further patents were obtained in the United Kingdom, France, Germany, Italy, Japan and Canada.</p>
<p>In June 1984, an article by Welch was published in the <a href="/wiki/IEEE" title="IEEE" class="mw-redirect">IEEE</a> magazine which publicly described the LZW technique for the first time.<sup id="cite_ref-cloanto_22-0" class="reference"><a href="#cite_note-cloanto-22"><span>[</span>22<span>]</span></a></sup> LZW became a popular data compression technique and, when the patent was granted, Unisys entered into licensing agreements with over a hundred companies.<sup id="cite_ref-PNG_20-2" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup><sup id="cite_ref-LPF_23-0" class="reference"><a href="#cite_note-LPF-23"><span>[</span>23<span>]</span></a></sup></p>
<p>The popularity of LZW led <a href="/wiki/CompuServe" title="CompuServe">CompuServe</a> to choose it as the compression technique for their GIF format, developed in 1987. At the time, CompuServe was not aware of the patent.<sup id="cite_ref-PNG_20-3" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup> Unisys became aware that the GIF format used the LZW compression technique and entered into licensing negotiations with CompuServe in January 1993. The subsequent agreement was announced on 24 December 1994.<sup id="cite_ref-KYZ_21-1" class="reference"><a href="#cite_note-KYZ-21"><span>[</span>21<span>]</span></a></sup> Unisys stated that they expected all major commercial on-line information services companies employing the LZW patent to license the technology from Unisys at a reasonable rate, but that they would not require licensing, or fees to be paid, for non-commercial, non-profit GIF-based applications, including those for use on the on-line services.<sup id="cite_ref-LPF_23-1" class="reference"><a href="#cite_note-LPF-23"><span>[</span>23<span>]</span></a></sup></p>
<p>Following this announcement, there was widespread condemnation of CompuServe and Unisys, and many software developers threatened to stop using the GIF format. The <a href="/wiki/Portable_Network_Graphics" title="Portable Network Graphics">PNG format</a> (see below) was developed in 1995 as an intended replacement.<sup id="cite_ref-PNG_20-4" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup><sup id="cite_ref-KYZ_21-2" class="reference"><a href="#cite_note-KYZ-21"><span>[</span>21<span>]</span></a></sup><sup id="cite_ref-cloanto_22-1" class="reference"><a href="#cite_note-cloanto-22"><span>[</span>22<span>]</span></a></sup> However, obtaining support from the makers of Web browsers and other software for the PNG format proved difficult and it was not possible to replace the GIF format, although PNG has gradually increased in popularity.<sup id="cite_ref-PNG_20-5" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup> The libungif library was written to allow creation of GIFs that followed the data format but avoided the compression features, thus avoiding use of the Unisys LZW patent.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span>[</span>24<span>]</span></a></sup></p>
<p>In August 1999, Unisys changed the details of their licensing practice, announcing the option for owners of certain non-commercial and private websites to obtain licenses on payment of a one-time license fee of $5000 or $7500.<sup id="cite_ref-Unisys_25-0" class="reference"><a href="#cite_note-Unisys-25"><span>[</span>25<span>]</span></a></sup> Such licenses were not required for website owners or other GIF users who had used licensed software to generate GIFs. Nevertheless, Unisys was subjected to thousands of online attacks and abusive emails from users believing that they were going to be charged $5000 or sued for using GIFs on their websites.<sup id="cite_ref-slashdot_26-0" class="reference"><a href="#cite_note-slashdot-26"><span>[</span>26<span>]</span></a></sup> Despite giving free licenses to hundreds of non-profit organizations, schools and governments, Unisys was completely unable to generate any good publicity and continued to be condemned by individuals and organizations such as the <a href="/wiki/League_for_Programming_Freedom" title="League for Programming Freedom">League for Programming Freedom</a> who started the "Burn All GIFs" campaign.<sup id="cite_ref-burn_27-0" class="reference"><a href="#cite_note-burn-27"><span>[</span>27<span>]</span></a></sup></p>
<p>The United States LZW patent expired on 20 June 2003.<sup id="cite_ref-Unisys2_28-0" class="reference"><a href="#cite_note-Unisys2-28"><span>[</span>28<span>]</span></a></sup> The counterpart patents in the United Kingdom, France, Germany and Italy expired on 18 June 2004, the Japanese counterpart patents expired on 20 June 2004 and the counterpart Canadian patent expired on 7 July 2004.<sup id="cite_ref-Unisys2_28-1" class="reference"><a href="#cite_note-Unisys2-28"><span>[</span>28<span>]</span></a></sup> Consequently, while Unisys has further patents and patent applications relating to improvements to the LZW technique,<sup id="cite_ref-Unisys2_28-2" class="reference"><a href="#cite_note-Unisys2-28"><span>[</span>28<span>]</span></a></sup> the GIF format may now be used freely.<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span>[</span>29<span>]</span></a></sup></p>
<h2><span class="mw-headline" id="Alternatives">Alternatives</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=16" title="Edit section: Alternatives">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<h3><span class="mw-headline" id="PNG">PNG</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=17" title="Edit section: PNG">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p><a href="/wiki/Portable_Network_Graphics" title="Portable Network Graphics">Portable Network Graphics</a> (PNG) was designed as a replacement for the GIF format in order to avoid infringement of Unisys' patent on the LZW compression technique.<sup id="cite_ref-PNG_20-6" class="reference"><a href="#cite_note-PNG-20"><span>[</span>20<span>]</span></a></sup> PNG offers better compression and more features than GIF,<sup id="cite_ref-png_fea_30-0" class="reference"><a href="#cite_note-png_fea-30"><span>[</span>30<span>]</span></a></sup> animation being the only significant exception. PNG is more suitable than GIF in instances where true-color imaging and <a href="/wiki/Alpha_transparency" title="Alpha transparency" class="mw-redirect">alpha transparency</a> are required.</p>
<p>Although support for PNG format came slowly, new <a href="/wiki/Web_browser" title="Web browser">web browsers</a> generally support PNG. Older versions of <a href="/wiki/Internet_Explorer" title="Internet Explorer">Internet Explorer</a> do not support all features of PNG. Versions 6 and earlier do not support <a href="/wiki/Alpha_channel" title="Alpha channel" class="mw-redirect">alpha channel</a> transparency without using Microsoft-specific HTML extensions.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span>[</span>31<span>]</span></a></sup> <a href="/wiki/Gamma_correction" title="Gamma correction">Gamma</a> correction of PNG images was not supported before version 8, and the display of these images in earlier versions may have the wrong tint.<sup id="cite_ref-new_ie7_32-0" class="reference"><a href="#cite_note-new_ie7-32"><span>[</span>32<span>]</span></a></sup></p>
<p>PNG files can be much larger than GIF files in situations where a GIF and a PNG file were created from the same high-quality image source, as PNG is capable of storing more color depth and transparency information than GIF. However, for identical 8-bit (or lower) image data, PNG files are typically smaller than the equivalent GIFs, due to the more efficient compression techniques used in PNG encoding.<sup id="cite_ref-png_opt_33-0" class="reference"><a href="#cite_note-png_opt-33"><span>[</span>33<span>]</span></a></sup> Complete support for the GIF format is complicated chiefly by the complex canvas structure it allows, though this is what enables the compact animation features.</p>
<h3><span class="mw-headline" id="Animation_formats">Animation formats</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=18" title="Edit section: Animation formats">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p><a href="/wiki/Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a> was originally developed as a PNG-based solution for animations. <a href="/wiki/Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a> reached version 1.0 in 2001, but few applications support it.</p>
<p>In 2006, an extension to the PNG format called <a href="/wiki/Animated_Portable_Network_Graphics" title="Animated Portable Network Graphics" class="mw-redirect">APNG</a> was proposed as alternative to the MNG format by <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a>. APNG provide the ability to animate PNG files, while retaining backwards compatibility in decoders that cannot understand the animation chunk (unlike MNG). Older decoders will simply render the first frame of the animation. The PNG group officially rejected APNG as an official extension on April 20, 2007.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span>[</span>34<span>]</span></a></sup> There have been several subsequent proposals for a simple animated graphics format based on PNG using several different approaches.<sup id="cite_ref-proposalcomparison_35-0" class="reference"><a href="#cite_note-proposalcomparison-35"><span>[</span>35<span>]</span></a></sup> Nevertheless, <a href="/wiki/Animated_Portable_Network_Graphics" title="Animated Portable Network Graphics" class="mw-redirect">Animated Portable Network Graphics</a> is still under development by <a href="/wiki/Mozilla" title="Mozilla">Mozilla</a> and is supported in <a href="/wiki/Mozilla_Firefox#Version_3.0" title="Mozilla Firefox" class="mw-redirect">Firefox 3</a><sup id="cite_ref-APNG_36-0" class="reference"><a href="#cite_note-APNG-36"><span>[</span>36<span>]</span></a></sup><sup id="cite_ref-mozlabsapng_37-0" class="reference"><a href="#cite_note-mozlabsapng-37"><span>[</span>37<span>]</span></a></sup> while MNG support was dropped.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span>[</span>38<span>]</span></a></sup><sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span>[</span>39<span>]</span></a></sup></p>
<p>Embedded <a href="/wiki/Adobe_Flash" title="Adobe Flash">Adobe Flash</a> objects and MPEGs are used on some websites to display simple video, but require the use of an additional browser plugin. <a href="/wiki/WebM" title="WebM">WebM</a> and <a href="/wiki/WebP" title="WebP">WebP</a> are in development and are supported by some web browsers.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span>[</span>40<span>]</span></a></sup> Other options for web animation include serving individual frames using <a href="/wiki/AJAX" title="AJAX" class="mw-redirect">AJAX</a>, or animating <a href="/wiki/SVG" title="SVG" class="mw-redirect">SVG</a> images using <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> or <a href="/wiki/Synchronized_Multimedia_Integration_Language" title="Synchronized Multimedia Integration Language">SMIL</a>.<sup class="Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2013)">citation needed</span></a></i>]</sup></p>
<h2><span class="mw-headline" id="See_also">See also</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=19" title="Edit section: See also">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<ul>
<li><a href="/wiki/Comparison_of_graphics_file_formats" title="Comparison of graphics file formats">Comparison of graphics file formats</a></li>
<li><a href="/wiki/Comparison_of_layout_engines_(graphics)" title="Comparison of layout engines (graphics)">Comparison of layout engines (graphics)</a></li>
<li><a href="/wiki/Plotutils" title="Plotutils">GNU plotutils</a> (supports pseudo-gif format which uses <a href="/wiki/Run-length_encoding" title="Run-length encoding">run-length encoding</a> rather than LZW)</li>
<li><a href="/wiki/Software_patent" title="Software patent">Software patent</a></li>
<li><a href="/wiki/Microsoft_GIF_Animator" title="Microsoft GIF Animator">Microsoft GIF Animator</a>, a free program to create simple animated GIFs</li>
</ul>
<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=20" title="Edit section: References">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<div class="reflist references-column-width" style="-moz-column-width: 30em; -webkit-column-width: 30em; column-width: 30em; list-style-type: decimal;">
<ol class="references">
<li id="cite_note-87aSpec-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-87aSpec_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-87aSpec_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.w3.org/Graphics/GIF/spec-gif87.txt">"Graphics Interchange Format, Version 87a"</a>. <a href="/wiki/W3C" title="W3C" class="mw-redirect">W3C</a>. 15 June 1987<span class="reference-accessdate">. Retrieved 13 October 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Graphics+Interchange+Format%2C+Version+87a&rft.date=15+June+1987&rft.genre=book&rft_id=http%3A%2F%2Fwww.w3.org%2FGraphics%2FGIF%2Fspec-gif87.txt&rft.pub=W3C&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-89aSpec-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-89aSpec_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-89aSpec_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">"Graphics Interchange Format, Version 89a"</a>. <a href="/wiki/W3C" title="W3C" class="mw-redirect">W3C</a>. 31 July 1990<span class="reference-accessdate">. Retrieved 6 March 2009</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Graphics+Interchange+Format%2C+Version+89a&rft.date=31+July+1990&rft.genre=book&rft_id=http%3A%2F%2Fwww.w3.org%2FGraphics%2FGIF%2Fspec-gif89a.txt&rft.pub=W3C&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><span class="citation web">Flood, Alison (2013-04-27). <a rel="nofollow" class="external text" href="http://www.guardian.co.uk/books/booksblog/2012/nov/14/gif-america-word-year-omnishambles">"Gif is America's word of the year? Now that's what I call an omnishambles | Alison Flood | Books | guardian.co.uk"</a>. Guardian<span class="reference-accessdate">. Retrieved 2013-05-01</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aufirst=Alison&rft.au=Flood%2C+Alison&rft.aulast=Flood&rft.btitle=Gif+is+America%27s+word+of+the+year%3F+Now+that%27s+what+I+call+an+omnishambles+%26%23124%3B+Alison+Flood+%26%23124%3B+Books+%26%23124%3B+guardian.co.uk&rft.date=2013-04-27&rft.genre=book&rft_id=http%3A%2F%2Fwww.guardian.co.uk%2Fbooks%2Fbooksblog%2F2012%2Fnov%2F14%2Fgif-america-word-year-omnishambles&rft.pub=Guardian&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://blog.oxforddictionaries.com/press-releases/us-word-of-the-year-2012/">"Oxford Dictionaries USA Word of the Year 2012 | OxfordWords blog"</a>. Blog.oxforddictionaries.com. 2012-11-13<span class="reference-accessdate">. Retrieved 2013-05-01</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Oxford+Dictionaries+USA+Word+of+the+Year+2012+%26%23124%3B+OxfordWords+blog&rft.date=2012-11-13&rft.genre=book&rft_id=http%3A%2F%2Fblog.oxforddictionaries.com%2Fpress-releases%2Fus-word-of-the-year-2012%2F&rft.pub=Blog.oxforddictionaries.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-olsen-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-olsen_5-0">^</a></b></span> <span class="reference-text"><span class="citation web">Olsen, Steve. <a rel="nofollow" class="external text" href="http://www.olsenhome.com/gif/">"The GIF Pronunciation Page"</a><span class="reference-accessdate">. Retrieved 6 March 2009</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aufirst=Steve&rft.aulast=Olsen&rft.au=Olsen%2C+Steve&rft.btitle=The+GIF+Pronunciation+Page&rft.genre=book&rft_id=http%3A%2F%2Fwww.olsenhome.com%2Fgif%2F&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-BBC20130522-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-BBC20130522_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-BBC20130522_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><span class="citation news"><a rel="nofollow" class="external text" href="http://www.bbc.co.uk/news/technology-22620473">"Gif's inventor says ignore dictionaries and say 'Jif<span style="padding-right:0.2em;">'</span>"</a>. <i>BBC News</i>. 2013-05-22<span class="reference-accessdate">. Retrieved 2013-05-22</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=Gif%27s+inventor+says+ignore+dictionaries+and+say+%27Jif%27&rft.date=2013-05-22&rft.genre=article&rft_id=http%3A%2F%2Fwww.bbc.co.uk%2Fnews%2Ftechnology-22620473&rft.jtitle=BBC+News&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://dictionary.reference.com/browse/GIF">"GIF"</a>. <i>The American Heritage Abbreviations Dictionary, Third Edition</i>. Houghton Mifflin Company. 2005<span class="reference-accessdate">. Retrieved 2007-04-15</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=GIF&rft.date=2005&rft.genre=article&rft_id=http%3A%2F%2Fdictionary.reference.com%2Fbrowse%2FGIF&rft.jtitle=The+American+Heritage+Abbreviations+Dictionary%2C+Third+Edition&rft.pub=Houghton+Mifflin+Company&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-cambridgedict-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-cambridgedict_8-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://dictionary.cambridge.org/us/dictionary/business-english/gif?q=gif">"GIF"</a>. <i>The Cambridge Dictionary of American English</i>. Cambridge University Press<span class="reference-accessdate">. Retrieved 2014-02-19</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=GIF&rft.genre=article&rft_id=http%3A%2F%2Fdictionary.cambridge.org%2Fus%2Fdictionary%2Fbusiness-english%2Fgif%3Fq%3Dgif&rft.jtitle=The+Cambridge+Dictionary+of+American+English&rft.pub=Cambridge+University+Press&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.merriam-webster.com/dictionary/gif">"Gif - Definition from the Merriam-Webster Dictionary"</a>. <i>Merriam-Webster Dictionary</i>. Merriam-Webster, Incorporated<span class="reference-accessdate">. Retrieved 6 June 2013</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=Gif+-+Definition+from+the+Merriam-Webster+Dictionary&rft.genre=article&rft_id=http%3A%2F%2Fwww.merriam-webster.com%2Fdictionary%2Fgif&rft.jtitle=Merriam-Webster+Dictionary&rft.pub=Merriam-Webster%2C+Incorporated&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><span class="citation web">O'Leary, Amy. <a rel="nofollow" class="external text" href="http://bits.blogs.nytimes.com/2013/05/21/an-honor-for-the-creator-of-the-gif/?smid=tw-nytimes">"An Honor for the Creator of the GIF"</a>. New York Times<span class="reference-accessdate">. Retrieved 22 May 2013</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aufirst=Amy&rft.aulast=O%27Leary&rft.au=O%27Leary%2C+Amy&rft.btitle=An+Honor+for+the+Creator+of+the+GIF&rft.genre=book&rft_id=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F21%2Fan-honor-for-the-creator-of-the-gif%2F%3Fsmid%3Dtw-nytimes&rft.pub=New+York+Times&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-LAT20131204-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-LAT20131204_11-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.latimes.com/nation/shareitnow/la-sh-alex-trebek-gif-pronunciation-jeopardy-20131204,0,1162165.story#axzz2mYD3tX3M">"<span style="padding-left:0.2em;">'</span>Jeopardy' wades into 'GIF' pronunciation battle"</a>. <i><a href="/wiki/Los_Angeles_Times" title="Los Angeles Times">Los Angeles Times</a></i>. Los Angeles Times<span class="reference-accessdate">. Retrieved 2013-12-04</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=%27Jeopardy%27+wades+into+%27GIF%27+pronunciation+battle&rft.genre=article&rft_id=http%3A%2F%2Fwww.latimes.com%2Fnation%2Fshareitnow%2Fla-sh-alex-trebek-gif-pronunciation-jeopardy-20131204%2C0%2C1162165.story%23axzz2mYD3tX3M&rft.jtitle=Los+Angeles+Times&rft.pub=Los+Angeles+Times&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="http://bits.blogs.nytimes.com/2013/05/23/battle-over-gif-pronunciation-erupts/?_r=0">http://bits.blogs.nytimes.com/2013/05/23/battle-over-gif-pronunciation-erupts/?_r=0</a></span></li>
<li id="cite_note-aminet-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-aminet_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-aminet_13-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-aminet_13-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><span class="citation web">Andreas Kleinert (2007). <a rel="nofollow" class="external text" href="http://uk.aminet.net/docs/misc/GIF24.readme">"GIF 24 Bit (truecolor) extensions"</a><span class="reference-accessdate">. Retrieved 23 March 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.au=Andreas+Kleinert&rft.aulast=Andreas+Kleinert&rft.btitle=GIF+24+Bit+%28truecolor%29+extensions&rft.date=2007&rft.genre=book&rft_id=http%3A%2F%2Fuk.aminet.net%2Fdocs%2Fmisc%2FGIF24.readme&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-philhoward-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-philhoward_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-philhoward_14-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><span class="citation web">Philip Howard. <a rel="nofollow" class="external text" href="http://phil.ipal.org/tc.html">"True-Color GIF Example"</a><span class="reference-accessdate">. Retrieved 23 March 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aulast=Philip+Howard&rft.au=Philip+Howard&rft.btitle=True-Color+GIF+Example&rft.genre=book&rft_id=http%3A%2F%2Fphil.ipal.org%2Ftc.html&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser-compatibility">Animated GIF Minimum Frame Delay Browser Compatibility Study</a></span></li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://blog.fenrir-inc.com/us/2012/02/theyre-different-how-to-match-the-animation-rate-of-gif-files-accross-browsers.html">They’re different! How to match the animation rate of gif files accross browsers</a></span></li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><span class="citation web">Royal Frazier. <a rel="nofollow" class="external text" href="http://www6.uniovi.es/gifanim/gifabout.htm">"All About GIF89a"</a><span class="reference-accessdate">. Retrieved 7 January 2013</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aulast=Royal+Frazier&rft.au=Royal+Frazier&rft.btitle=All+About+GIF89a&rft.genre=book&rft_id=http%3A%2F%2Fwww6.uniovi.es%2Fgifanim%2Fgifabout.htm&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><span class="citation book">Scott Walter (1996). <i>Web Scripting Secret Weapons</i>. <a href="/wiki/Que_Publishing" title="Que Publishing" class="mw-redirect">Que Publishing</a>. <a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="/wiki/Special:BookSources/0-7897-0947-3" title="Special:BookSources/0-7897-0947-3">0-7897-0947-3</a>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aulast=Scott+Walter&rft.au=Scott+Walter&rft.btitle=Web+Scripting+Secret+Weapons&rft.date=1996&rft.genre=book&rft.isbn=0-7897-0947-3&rft.pub=Que+Publishing&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://blogs.msdn.com/b/ieinternals/archive/2010/06/08/animated-gifs-slow-down-to-under-20-frames-per-second.aspx">Animated GIFs slow down to under 20 frames per second</a></span></li>
<li id="cite_note-PNG-20"><span class="mw-cite-backlink">^ <a href="#cite_ref-PNG_20-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-PNG_20-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-PNG_20-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-PNG_20-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-PNG_20-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-PNG_20-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-PNG_20-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text"><span class="citation web">Greg Roelofs. <a rel="nofollow" class="external text" href="http://www.libpng.org/pub/png/pnghist.html">"History of the Portable Network Graphics (PNG) Format"</a><span class="reference-accessdate">. Retrieved 23 March 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.au=Greg+Roelofs&rft.aulast=Greg+Roelofs&rft.btitle=History+of+the+Portable+Network+Graphics+%28PNG%29+Format&rft.genre=book&rft_id=http%3A%2F%2Fwww.libpng.org%2Fpub%2Fpng%2Fpnghist.html&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-KYZ-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-KYZ_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-KYZ_21-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-KYZ_21-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><span class="citation web">Stuart Caie. <a rel="nofollow" class="external text" href="http://www.kyzer.me.uk/essays/giflzw/">"Sad day... GIF patent dead at 20"</a><span class="reference-accessdate">. Retrieved 23 March 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.aulast=Stuart+Caie&rft.au=Stuart+Caie&rft.btitle=Sad+day...+GIF+patent+dead+at+20&rft.genre=book&rft_id=http%3A%2F%2Fwww.kyzer.me.uk%2Fessays%2Fgiflzw%2F&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-cloanto-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-cloanto_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-cloanto_22-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.cloanto.com/users/mcb/19950127giflzw.html">The GIF Controversy: A Software Developer's Perspective</a></span></li>
<li id="cite_note-LPF-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-LPF_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-LPF_23-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://lpf.ai.mit.edu/Patents/Gif/unisys.html">Unisys Clarifies Policy Regarding Patent Use in On-Line Service Offerings</a> – archived by <a href="/wiki/League_for_Programming_Freedom" title="League for Programming Freedom">League for Programming Freedom</a></span></li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://directory.fsf.org/project/libungif/">FSF.org</a></span></li>
<li id="cite_note-Unisys-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-Unisys_25-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090608194513/http://www.unisys.com/about__unisys/lzw/lzw__license__english.htm">LZW Software and Patent Information</a> at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a> (archived 8 June 2009) – clarification of 2 September 1999</span></li>
<li id="cite_note-slashdot-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-slashdot_26-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://slashdot.org/articles/99/08/31/0143246.shtml">Unisys Not Suing (most) Webmasters for Using GIFs</a> – <a href="/wiki/Slashdot" title="Slashdot">Slashdot</a> investigation into the controversy</span></li>
<li id="cite_note-burn-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-burn_27-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://burnallgifs.org/archives/">Burn All GIFs</a> – A project of the League for Programming Freedom</span></li>
<li id="cite_note-Unisys2-28"><span class="mw-cite-backlink">^ <a href="#cite_ref-Unisys2_28-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Unisys2_28-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Unisys2_28-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090602212118/http://www.unisys.com/about__unisys/lzw">License Information on GIF and Other LZW-based Technologies</a> at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a> (archived 2 June 2009)</span></li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.gnu.org/philosophy/gif.html">"Why There Are No GIF Files on GNU Web Pages"</a>. Free Software Foundation<span class="reference-accessdate">. Retrieved 19 May 2012</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Why+There+Are+No+GIF+Files+on+GNU+Web+Pages&rft.genre=book&rft_id=http%3A%2F%2Fwww.gnu.org%2Fphilosophy%2Fgif.html&rft.pub=Free+Software+Foundation&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-png_fea-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-png_fea_30-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.websiteoptimization.com/speed/tweak/png/">"PNG versus GIF Compression"</a><span class="reference-accessdate">. Retrieved 8 June 2009</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=PNG+versus+GIF+Compression&rft.genre=book&rft_id=http%3A%2F%2Fwww.websiteoptimization.com%2Fspeed%2Ftweak%2Fpng%2F&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/ms532969(VS.85).aspx">AlphaImageLoader Filter</a></span></li>
<li id="cite_note-new_ie7-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-new_ie7_32-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/ms649487%28VS.85%29.aspx">"What's New in Internet Explorer 7"</a>. <i><a href="/wiki/MSDN" title="MSDN" class="mw-redirect">MSDN</a></i><span class="reference-accessdate">. Retrieved 6 March 2009</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.atitle=What%27s+New+in+Internet+Explorer+7&rft.genre=article&rft_id=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fms649487%2528VS.85%2529.aspx&rft.jtitle=MSDN&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-png_opt-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-png_opt_33-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://www.scantips.com/basics9p.html">"PNG Image File Format"</a><span class="reference-accessdate">. Retrieved 8 June 2009</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=PNG+Image+File+Format&rft.genre=book&rft_id=http%3A%2F%2Fwww.scantips.com%2Fbasics9p.html&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://sourceforge.net/mailarchive/message.php?msg_id=131482">"VOTE FAILED: APNG 20070405a"</a>. <a href="/wiki/SourceForge" title="SourceForge">SourceForge</a> mailing list. 2007-04-20.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=VOTE+FAILED%3A+APNG+20070405a&rft.date=2007-04-20&rft.genre=book&rft_id=http%3A%2F%2Fsourceforge.net%2Fmailarchive%2Fmessage.php%3Fmsg_id%3D131482&rft.pub=SourceForge+mailing+list&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-proposalcomparison-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-proposalcomparison_35-0">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://web.archive.org/web/20090226103407/http://gjuyn.xs4all.nl/pnganim.html">"Discussion for a simple "animated" PNG format"</a>. Archived from <a rel="nofollow" class="external text" href="http://gjuyn.xs4all.nl/pnganim.html">the original</a> on 2009-02-26<span class="reference-accessdate">. Retrieved 2011-07-12</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Discussion+for+a+simple+%22animated%22+PNG+format&rft.genre=book&rft_id=http%3A%2F%2Fgjuyn.xs4all.nl%2Fpnganim.html&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
<li id="cite_note-APNG-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-APNG_36-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://wiki.mozilla.org/APNG_Specification">APNG Specification – MozillaWiki</a></span></li>
<li id="cite_note-mozlabsapng-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-mozlabsapng_37-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://labs.mozilla.com/2007/08/better-animations-in-firefox-3/">Mozilla Labs » Blog Archive » Better animations in Firefox 3</a></span></li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=195280">Bug 195280 – Removal of MNG/JNG support</a></span></li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://bugzilla.mozilla.org/show_bug.cgi?id=18574">Bug 18574 – restore support for MNG animation format and JNG image format</a></span></li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><span class="citation web"><a rel="nofollow" class="external text" href="http://blog.chromium.org/2013/11/chrome-32-beta-animated-webp-images-and.html">"Chromium Blog: Chrome 32 Beta: Animated WebP images and faster Chrome for Android touch input"</a>. Blog.chromium.org. 2013-11-21<span class="reference-accessdate">. Retrieved 2014-02-01</span>.</span><span title="ctx_ver=Z39.88-2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGraphics+Interchange+Format&rft.btitle=Chromium+Blog%3A+Chrome+32+Beta%3A+Animated+WebP+images+and+faster+Chrome+for+Android+touch+input&rft.date=2013-11-21&rft.genre=book&rft_id=http%3A%2F%2Fblog.chromium.org%2F2013%2F11%2Fchrome-32-beta-animated-webp-images-and.html&rft.pub=Blog.chromium.org&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;"> </span></span></span></li>
</ol>
</div>
<h2><span class="mw-headline" id="External_links">External links</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Graphics_Interchange_Format&action=edit&section=21" title="Edit section: External links">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<table class="metadata mbox-small plainlinks" style="border:1px solid #aaa; background-color:#f9f9f9;">
<tr>
<td class="mbox-image"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" width="30" height="40" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" /></td>
<td class="mbox-text plainlist" style="">Wikimedia Commons has media related to <i><b><a href="//commons.wikimedia.org/wiki/Category:GIF" class="extiw" title="commons:Category:GIF">GIF</a></b></i>.</td>
</tr>
</table>
<ul>
<li><a rel="nofollow" class="external text" href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">spec-gif89a.txt</a> GIF 89a specification on w3.org</li>
<li><a rel="nofollow" class="external text" href="http://www.cis.udel.edu/%7Eamer/CISC651/lzw.and.gif.explained.html">LZW and GIF explained</a></li>
<li><a rel="nofollow" class="external text" href="http://www.ddj.com/dept/architect/184404817">Replacing a Dictionary with a Square Root</a> – suggestions for compressing GIFs without using LZW compression</li>
<li><a rel="nofollow" class="external text" href="http://www.theimage.com/animation/toc/toc.html">Gifology</a></li>
<li><a rel="nofollow" class="external text" href="http://video.pbs.org/video/2207348428">Animated GIFs</a> Documentary produced by <a href="/wiki/Off_Book_(web_series)" title="Off Book (web series)">Off Book (web series)</a></li>
<li><a rel="nofollow" class="external text" href="http://animizer.net">Create and edit GIF and APNG online</a></li>
<li><a rel="nofollow" class="external text" href="http://gifrun.com">Create animated GIF online</a></li>
</ul>
<table cellspacing="0" class="navbox" style="border-spacing:0;">
<tr>
<td style="padding:2px;">
<table cellspacing="0" class="nowraplinks hlist collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit;">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Graphics_file_formats" title="Template:Graphics file formats"><span title="View this template" style=";;background:none transparent;border:none;;">v</span></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Graphics_file_formats" title="Template talk:Graphics file formats"><span title="Discuss this template" style=";;background:none transparent;border:none;;">t</span></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Graphics_file_formats&action=edit"><span title="Edit this template" style=";;background:none transparent;border:none;;">e</span></a></li>
</ul>
</div>
<div style="font-size:110%;"><a href="/wiki/Image_file_formats" title="Image file formats">Graphics file formats</a></div>
</th>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Raster_graphics" title="Raster graphics">Raster</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/ANI_(file_format)" title="ANI (file format)">ANI</a></li>
<li><a href="/wiki/ANIM" title="ANIM">ANIM</a></li>
<li><a href="/wiki/APNG" title="APNG">APNG</a></li>
<li><a href="/wiki/ART_image_file_format" title="ART image file format">ART</a></li>
<li><a href="/wiki/BMP_file_format" title="BMP file format">BMP</a></li>
<li><a href="/wiki/BSAVE_(graphics_image_format)" title="BSAVE (graphics image format)">BSAVE</a></li>
<li><a href="/wiki/CALS_Raster_file_format" title="CALS Raster file format">CAL</a></li>
<li><a href="/wiki/Cineon" title="Cineon">CIN</a></li>
<li><a href="/wiki/Cartesian_Perceptual_Compression" title="Cartesian Perceptual Compression">CPC</a></li>
<li><a href="/wiki/CPT_(file_format)" title="CPT (file format)">CPT</a></li>
<li><a href="/wiki/Digital_Picture_Exchange" title="Digital Picture Exchange">DPX</a></li>
<li><a href="/wiki/ECW_(file_format)" title="ECW (file format)">ECW</a></li>
<li><a href="/wiki/OpenEXR" title="OpenEXR">EXR</a></li>
<li><a href="/wiki/FITS" title="FITS">FITS</a></li>
<li><a href="/wiki/FLIC_(file_format)" title="FLIC (file format)">FLIC</a></li>
<li><a href="/wiki/FlashPix" title="FlashPix">FPX</a></li>
<li><strong class="selflink">GIF</strong></li>
<li><a href="/wiki/HDRi_(data_format)" title="HDRi (data format)">HDRi</a></li>
<li><a href="/wiki/High_Efficiency_Video_Coding#Main_Still_Picture" title="High Efficiency Video Coding">HEVC</a></li>
<li><a href="/wiki/ICER" title="ICER">ICER</a></li>
<li><a href="/wiki/Apple_Icon_Image_format" title="Apple Icon Image format">ICNS</a></li>
<li><a href="/wiki/ICO_(file_format)" title="ICO (file format)">ICO / CUR</a></li>
<li><a href="/wiki/Image_Cytometry_Standard" title="Image Cytometry Standard">ICS</a></li>
<li><a href="/wiki/ILBM" title="ILBM">ILBM</a></li>
<li><a href="/wiki/JBIG" title="JBIG">JBIG</a></li>
<li><a href="/wiki/JBIG2" title="JBIG2">JBIG2</a></li>
<li><a href="/wiki/JPEG_Network_Graphics" title="JPEG Network Graphics">JNG</a></li>
<li><a href="/wiki/JPEG" title="JPEG">JPEG</a></li>
<li><a href="/wiki/JPEG_2000" title="JPEG 2000">JPEG 2000</a></li>
<li><a href="/wiki/Lossless_JPEG#JPEG-LS" title="Lossless JPEG">JPEG-LS</a></li>
<li><a href="/wiki/JPEG_XR" title="JPEG XR">JPEG XR</a></li>
<li><a href="/wiki/Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a></li>
<li><a href="/wiki/Magick_Image_File_Format" title="Magick Image File Format">MIFF</a></li>
<li><a href="/wiki/Netpbm#PAM_graphics_format" title="Netpbm">PAM</a></li>
<li><a href="/wiki/Netpbm_format" title="Netpbm format">PBM / PGM / PPM / PNM</a></li>
<li><a href="/wiki/PCX" title="PCX">PCX</a></li>
<li><a href="/wiki/Progressive_Graphics_File" title="Progressive Graphics File">PGF</a></li>
<li><a href="/wiki/PICtor_PIC_image_format" title="PICtor PIC image format">PICtor</a></li>
<li><a href="/wiki/Portable_Network_Graphics" title="Portable Network Graphics">PNG</a></li>
<li><a href="/wiki/Adobe_Photoshop#PSD" title="Adobe Photoshop">PSD / PSB</a></li>
<li><a href="/wiki/PaintShop_Pro" title="PaintShop Pro">PSP</a></li>
<li><a href="/wiki/QuickTime_VR" title="QuickTime VR">QTVR</a></li>
<li><a href="/wiki/Sun_Raster" title="Sun Raster">RAS</a></li>
<li><a href="/wiki/RGBE_image_format" title="RGBE image format">RGBE</a>
<ul>
<li><a href="/wiki/JPEG-HDR" title="JPEG-HDR">JPEG-HDR</a></li>
<li><a href="/wiki/Logluv_TIFF" title="Logluv TIFF">Logluv TIFF</a></li>
</ul>
</li>
<li><a href="/wiki/Silicon_Graphics_Image" title="Silicon Graphics Image">SGI</a></li>
<li><a href="/wiki/Truevision_TGA" title="Truevision TGA">TGA</a></li>
<li><a href="/wiki/Tagged_Image_File_Format" title="Tagged Image File Format">TIFF</a>
<ul>
<li><a href="/wiki/TIFF/EP" title="TIFF/EP">TIFF/EP</a></li>
<li><a href="/wiki/Tagged_Image_File_Format#TIFF.2FIT" title="Tagged Image File Format">TIFF/IT</a></li>
</ul>
</li>
<li><a href="/wiki/Wireless_Application_Protocol_Bitmap_Format" title="Wireless Application Protocol Bitmap Format">WBMP</a></li>
<li><a href="/wiki/WebP" title="WebP">WebP</a></li>
<li><a href="/wiki/X_BitMap" title="X BitMap">XBM</a></li>
<li><a href="/wiki/XCF_(file_format)" title="XCF (file format)">XCF</a></li>
<li><a href="/wiki/X_PixMap" title="X PixMap">XPM</a></li>
<li><a href="/wiki/Xwd" title="Xwd">XWD</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Raw_image_format" title="Raw image format">Raw</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Camera_Image_File_Format" title="Camera Image File Format">CIFF</a></li>
<li><a href="/wiki/Digital_Negative" title="Digital Negative">DNG</a></li>
<li><a href="/wiki/ORF_format" title="ORF format">ORF</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Vector_graphics" title="Vector graphics">Vector</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Adobe_Illustrator_Artwork" title="Adobe Illustrator Artwork">AI</a></li>
<li><a href="/wiki/CorelDRAW#CDR_file_format" title="CorelDRAW">CDR</a></li>
<li><a href="/wiki/Computer_Graphics_Metafile" title="Computer Graphics Metafile">CGM</a></li>
<li><a href="/wiki/AutoCAD_DXF" title="AutoCAD DXF">DXF</a></li>
<li><a href="/wiki/Extended_Vector_Animation" title="Extended Vector Animation">EVA</a></li>
<li><a href="/wiki/Windows_Metafile" title="Windows Metafile">EMF</a></li>
<li><a href="/wiki/Gerber_format" title="Gerber format">Gerber</a></li>
<li><a href="/wiki/Haiku_Vector_Icon_Format" title="Haiku Vector Icon Format">HVIF</a></li>
<li><a href="/wiki/IGES" title="IGES">IGES</a></li>
<li><a href="/wiki/Precision_Graphics_Markup_Language" title="Precision Graphics Markup Language">PGML</a></li>
<li><a href="/wiki/Scalable_Vector_Graphics" title="Scalable Vector Graphics">SVG</a></li>
<li><a href="/wiki/Vector_Markup_Language" title="Vector Markup Language">VML</a></li>
<li><a href="/wiki/Windows_Metafile" title="Windows Metafile">WMF</a></li>
<li><a href="/wiki/Xar_(graphics)" title="Xar (graphics)">Xar</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Compound</th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Computable_Document_Format" title="Computable Document Format">CDF</a></li>
<li><a href="/wiki/DjVu" title="DjVu">DjVu</a></li>
<li><a href="/wiki/Encapsulated_PostScript" title="Encapsulated PostScript">EPS</a></li>
<li><a href="/wiki/Portable_Document_Format" title="Portable Document Format">PDF</a></li>
<li><a href="/wiki/PICT" title="PICT">PICT</a></li>
<li><a href="/wiki/PostScript" title="PostScript">PS</a></li>
<li><a href="/wiki/SWF" title="SWF">SWF</a></li>
<li><a href="/wiki/Extensible_Application_Markup_Language" title="Extensible Application Markup Language">XAML</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group">Related</th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Exchangeable_image_file_format" title="Exchangeable image file format">Exchangeable image file format (Exif)</a></li>
<li><a href="/wiki/Extensible_Metadata_Platform" title="Extensible Metadata Platform">Extensible Metadata Platform (XMP)</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<td class="navbox-abovebelow" colspan="2">
<div>
<ul>
<li><b><img alt="Category" src="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/16px-Folder_Hexagonal_Icon.svg.png" width="16" height="14" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/24px-Folder_Hexagonal_Icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/48/Folder_Hexagonal_Icon.svg/32px-Folder_Hexagonal_Icon.svg.png 2x" /> <a href="/wiki/Category:Graphics_file_formats" title="Category:Graphics file formats">Category</a></b></li>
<li><b><img alt="Non-article page" src="//upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/16px-Symbol_neutral_vote.svg.png" width="16" height="16" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/24px-Symbol_neutral_vote.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/89/Symbol_neutral_vote.svg/32px-Symbol_neutral_vote.svg.png 2x" /> <a href="/wiki/Comparison_of_graphics_file_formats" title="Comparison of graphics file formats">Comparison</a></b></li>
</ul>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="0" class="navbox" style="border-spacing:0;">
<tr>
<td style="padding:2px;">
<table cellspacing="0" class="nowraplinks collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit;">
<tr>
<th scope="col" class="navbox-title" colspan="2">
<div class="plainlinks hlist navbar mini">
<ul>
<li class="nv-view"><a href="/wiki/Template:Compression_formats" title="Template:Compression formats"><span title="View this template" style=";;background:none transparent;border:none;;">v</span></a></li>
<li class="nv-talk"><a href="/wiki/Template_talk:Compression_formats" title="Template talk:Compression formats"><span title="Discuss this template" style=";;background:none transparent;border:none;;">t</span></a></li>
<li class="nv-edit"><a class="external text" href="//en.wikipedia.org/w/index.php?title=Template:Compression_formats&action=edit"><span title="Edit this template" style=";;background:none transparent;border:none;;">e</span></a></li>
</ul>
</div>
<div style="font-size:110%;"><a href="/wiki/Multimedia" title="Multimedia">Multimedia</a> <a href="/wiki/Data_compression" title="Data compression">compression</a> and <a href="/wiki/Container_format_(digital)" title="Container format (digital)" class="mw-redirect">container</a> formats</div>
</th>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group"><a href="/wiki/Data_compression#Video" title="Data compression">Video<br />
compression</a></th>
<td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px;">
<div style="padding:0em 0.25em;"></div>
<table cellspacing="0" class="nowraplinks navbox-subgroup" style="border-spacing:0;">
<tr>
<th scope="row" class="navbox-group" style="width:5em;"><a href="/wiki/International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>/<a href="/wiki/International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a></th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Motion_JPEG" title="Motion JPEG">MJPEG</a></li>
<li><a href="/wiki/JPEG_2000#Motion_JPEG_2000" title="JPEG 2000">Motion JPEG 2000</a></li>
<li><a href="/wiki/MPEG-1" title="MPEG-1">MPEG-1</a></li>
<li><a href="/wiki/MPEG-2" title="MPEG-2">MPEG-2</a>
<ul>
<li><a href="/wiki/H.262/MPEG-2_Part_2" title="H.262/MPEG-2 Part 2">Part 2</a></li>
</ul>
</li>
<li><a href="/wiki/MPEG-4" title="MPEG-4">MPEG-4</a>
<ul>
<li><a href="/wiki/MPEG-4_Part_2" title="MPEG-4 Part 2">Part 2/ASP</a></li>
<li><a href="/wiki/H.264/MPEG-4_AVC" title="H.264/MPEG-4 AVC">Part 10/AVC</a></li>
</ul>
</li>
<li><a href="/wiki/MPEG-H" title="MPEG-H">MPEG-H</a>
<ul>
<li><a href="/wiki/High_Efficiency_Video_Coding" title="High Efficiency Video Coding">Part 2/HEVC</a></li>
</ul>
</li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group" style="width:5em;"><a href="/wiki/ITU-T" title="ITU-T">ITU-T</a></th>
<td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/H.120" title="H.120">H.120</a></li>
<li><a href="/wiki/H.261" title="H.261">H.261</a></li>
<li><a href="/wiki/H.262/MPEG-2_Part_2" title="H.262/MPEG-2 Part 2">H.262</a></li>
<li><a href="/wiki/H.263" title="H.263">H.263</a></li>
<li><a href="/wiki/H.264/MPEG-4_AVC" title="H.264/MPEG-4 AVC">H.264</a></li>
<li><a href="/wiki/High_Efficiency_Video_Coding" title="High Efficiency Video Coding">H.265</a></li>
</ul>
</div>
</td>
</tr>
<tr style="height:2px;">
<td colspan="2"></td>
</tr>
<tr>
<th scope="row" class="navbox-group" style="width:5em;">Others</th>
<td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;padding:0px;">
<div style="padding:0em 0.25em;">
<ul>
<li><a href="/wiki/Apple_Video" title="Apple Video">Apple Video</a></li>
<li><a href="/wiki/Audio_Video_Standard" title="Audio Video Standard">AVS</a></li>
<li><a href="/wiki/Bink_Video" title="Bink Video">Bink</a></li>
<li><a href="/wiki/CineForm" title="CineForm">CineForm</a></li>
<li><a href="/wiki/Cinepak" title="Cinepak">Cinepak</a></li>
<li><a href="/wiki/Daala" title="Daala">Daala</a></li>
<li><a href="/wiki/Dirac_(video_compression_format)" title="Dirac (video compression format)">Dirac</a></li>
<li><a href="/wiki/DV" title="DV">DV</a></li>
<li><a href="/wiki/Digital_Video_Interactive" title="Digital Video Interactive">DVI</a></li>
<li><a href="/wiki/FFV1" title="FFV1">FFV1</a></li>
<li><a href="/wiki/Huffyuv" title="Huffyuv">Huffyuv</a></li>
<li><a href="/wiki/Indeo" title="Indeo">Indeo</a></li>
<li><a href="/wiki/Microsoft_Video_1" title="Microsoft Video 1">Microsoft Video 1</a></li>
<li><a href="/wiki/MSU_Lossless_Video_Codec" title="MSU Lossless Video Codec">MSU Lossless</a></li>
<li><a href="/wiki/Lagarith" title="Lagarith">Lagarith</a></li>
<li><a href="/wiki/OMS_Video" title="OMS Video">OMS Video</a></li>
<li><a href="/wiki/Pixlet" title="Pixlet">Pixlet</a></li>
<li><a href="/wiki/ProRes_422" title="ProRes 422" class="mw-redirect">ProRes 422</a></li>
<li><a href="/wiki/ProRes_4444" title="ProRes 4444" class="mw-redirect">ProRes 4444</a></li>
<li>QuickTime
<ul>
<li><a href="/wiki/QuickTime_Animation" title="QuickTime Animation">Animation</a></li>
<li><a href="/wiki/QuickTime_Graphics" title="QuickTime Graphics">Graphics</a></li>
</ul>
</li>
<li><a href="/wiki/RealVideo" title="RealVideo">RealVideo</a></li>
<li><a href="/wiki/RTVideo" title="RTVideo">RTVideo</a></li>
<li><a href="/wiki/SheerVideo" title="SheerVideo">SheerVideo</a></li>
<li><a href="/wiki/Smacker_video" title="Smacker video">Smacker</a></li>
<li><a href="/wiki/Sorenson_codec" title="Sorenson codec" class="mw-redirect">Sorenson Video, Spark</a></li>
<li><a href="/wiki/Theora" title="Theora">Theora</a></li>
<li><a href="/wiki/VC-1" title="VC-1">VC-1</a></li>
<li><a href="/wiki/Dirac_(video_compression_format)" title="Dirac (video compression format)">VC-2</a></li>
<li><a href="/wiki/DNxHD_codec" title="DNxHD codec">VC-3</a></li>
<li><a href="/wiki/VP3" title="VP3">VP3</a></li>
<li><a href="/wiki/VP6" title="VP6">VP6</a></li>
<li><a href="/wiki/VP7" title="VP7" class="mw-redirect">VP7</a></li>
<li><a href="/wiki/VP8" title="VP8">VP8</a></li>
<li><a href="/wiki/VP9" title="VP9">VP9</a></li>
<li><a href="/wiki/Windows_Media_Video" title="Windows Media Video">WMV</a></li>
<li><a href="/wiki/RatDVD" title="RatDVD">XEB</a></li>
<li><a href="/wiki/YULS" title="YULS">YULS</a></li>
</ul>
</div>
</td>
</tr>
</table>