Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
APNG
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History and development == The APNG specification was created in 2004 by Stuart Parmenter and [[Vladimir Vukićević]] of the [[Mozilla Corporation]] to allow for storing the animations needed for interfaces such as [[throbber]]s.<ref name="bugzilla"/><ref>{{cite web |author1=Stuart Parmenter |author2=Vladimir Vukicevic |title=APNG 0.4 [DRAFT] |url=http://www.vlad1.com/~vladimir/projects/apng/AnimatedPNG.html |publisher=Vladimir Vukicevic |access-date=23 April 2024 |archive-url=https://web.archive.org/web/20041119231831/http://www.vlad1.com/~vladimir/projects/apng/AnimatedPNG.html |archive-date=19 November 2004 |date=2 September 2004}}</ref> In May 2003, Mozilla had scrapped support for [[Multiple-image Network Graphics|MNG]] animations, which provides a superset of APNG functionality, citing concerns about the large file size required for the expansive MNG decoder library (300 KB);<ref>{{Cite web |last=martin |date=1999-11-11 |title=Bug 18574 - (mng) restore support for MNG animation format and JNG image format |url=https://bugzilla.mozilla.org/show_bug.cgi?id=18574#c72 |access-date=2010-03-30 |publisher=[[Mozilla]]}}</ref> the APNG decoder, built on the back of the PNG decoder, was a much smaller component. Among users and maintainers of the PNG and MNG formats, APNG had a lukewarm reception. In particular, PNG was conceived to be a single-image format.<ref>{{Cite web |title=PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension |url=http://www.libpng.org/pub/png/spec/1.1/PNG-Misc.html#Multiple-image-extension |access-date=2010-03-30 |publisher=[[libpng]]}}</ref> APNG hides the subsequent frames in PNG ancillary chunks in such a way that APNG-unaware applications would ignore them, but there are otherwise no changes to the format to allow software to distinguish between animated and non-animated images. Some of the main concerns arising from this were the inability of applications to negotiate for PNG and APNG, or distinguish between PNG and APNG once received, or for legacy software to even inform users that there are additional frames. Glenn Randers-Pehrson spearheaded efforts to reconcile the PNG purists' position with that of APNG proponents by recommending changes to APNG's format and proposing the use of a unique [[Internet media type|MIME type]] (e.g., video/png), but the APNG proponents only added the different MIME type (image/apng)<ref>{{Cite web |title=APNG Specification, Version 1.0#MIME type |url=https://wiki.mozilla.org/APNG_Specification#MIME_type |access-date=2017-12-10 |publisher=Mozilla}}</ref> while insisting on the use of the ''.png'' extension instead of ''.apng'', leading to the format not being approved by the PNG Development Group.<ref>{{Cite web |title=ImageMagick can't detect animated PNG |url=https://github.com/ImageMagick/ImageMagick/issues/24#issuecomment-136362187 |access-date=2017-12-10 |website=[[GitHub]]}}</ref> The PNG Development Group rejected APNG as an official extension on April 20, 2007,<ref>{{Cite web |date=2007-04-20 |title=VOTE FAILED: APNG 20070405a |url=https://sourceforge.net/mailarchive/message.php?msg_id=131482 |publisher=[[SourceForge]] mailing list}}</ref> and there have been several subsequent proposals for a simple animated graphics format based on PNG using several different approaches.<ref name="proposalcomparison">{{Cite web |title=Discussion for a simple "animated" PNG format |url=http://gjuyn.xs4all.nl/pnganim.html |archive-url=https://web.archive.org/web/20090226103407/http://gjuyn.xs4all.nl/pnganim.html |archive-date=2009-02-26 |access-date=2011-07-12}}</ref> However, since September 14, 2021, the PNG Working Group has been chartered by the [[World Wide Web Consortium]] (W3C) to maintain and develop for the PNG specification, and the first public working draft of PNG Specification (Third Edition) was published on October 25, 2022, adding APNG extensions to the core PNG specification.<ref>{{Cite web |date=2023-05-24 |title=PNG Third Edition, Explained |url=https://github.com/w3c/PNG-spec/blob/d5b059ad7f81e789b7689f1c0479db8d1cb41fb8/Third_Edition_Explainer.md#apng |website=W3C GitHub}}</ref> The Candidate Recommendation was published on September 21, 2023.<ref>{{Cite web |date=2023-09-21 |title=PNG Specification (Third Edition), APNG: frame-based animation |url=https://www.w3.org/TR/png/#apng-frame-based-animation |website=w3.org}}</ref> <!--possible CRV {| class="wikitable" |+ Comparison of alternative proposals for an animated PNG-like format<ref name="proposalcomparison" /> ! Advantage !!width="9%"| APNG !!width="9%"| aNIM<br> (mPNG) !!width="9%"| ANG !!width="9%"| PNG-in-GIF !!width="9%"| RGBA-in-GIF !!width="9%"| Ani-PNG !!width="9%"| MNG |- ! colspan=8 | Fallback |- ! Fallback quality | {{yes|++}} || {{yes|+}} || {{yes|++}} || {{yes|+++}}<ref name="anim">Fallback of GIF encapsulated formats is animated.</ref> || {{yes|+++}}<ref name="anim" /> || {{N/A}} || {{N/A}} |- ! Browser fallback | {{yes|++}} || {{yes|+}} || {{yes|++}} || {{yes|+++}} || {{yes|+++}} || {{N/A}} || {{N/A}} |- ! Viewer fallback | {{yes|+}} || {{yes|++}} || {{yes|+}} || {{yes|+++}} || {{yes|+++}} || {{N/A}} || {{N/A}} |- ! Editor fallback | {{yes|+}}<ref name="loseanim">may lose the entire animation</ref> || {{yes|++}}<ref name="losedetail">may lose the animation details, but not the image data</ref> || {{yes|+}}<ref name="loseanim" /> || {{yes|+++}}<ref name="losequality">may lose the high-quality PNG image data</ref> || {{yes|+++}}<ref name="losequality" /> || {{N/A}} || {{N/A}} |- ! colspan=8 | Efficiency |- ! Size optimization | {{yes|++}} || {{yes|+++}} || {{yes|+}} || {{yes|++}} || {{yes|++}} || {{yes|+++}} || {{yes|+++}} |- ! Reusable image parts | {{no|-}} || {{yes|+++}}<ref name="framecomp">Frame composition from multiple parts of the image</ref> || {{yes|+}} || {{yes-No|-/+}}<ref name="extensionpossible">not in the current proposal, but could be made possible though only for a single sprite!</ref> || {{yes-No|-/+}}<ref name="extensionpossible" /> || {{yes|+++}}<ref name="framecomp" /> || {{yes|+++}}<ref name="framecomp" /> |- ! Streaming | {{yes|++}} || {{yes|++}} || {{no|-}} || {{yes|++}} || {{yes|++}} || {{yes|+++}} || {{yes|+++}} |- ! [[JNG]] support | {{no|-}} || {{yes|+}} || {{no|-}} || {{no|-}} || {{no|-}} || {{yes|+++}}<ref name="pngplusjng">Supports both PNG and JNG simultaneously</ref> || {{yes|+++}}<ref name="pngplusjng" /> |- ! colspan=8 | Implementation |- ! Decoder implementation | {{yes|++}} || {{yes|+++}} || {{yes|+}} || {{yes|++}} || {{yes|+++}} || {{yes|+++}} || {{no|-}} |- ! Encoder implementation | {{yes|++}} || {{yes|+++}} || {{yes|+}} || {{yes|++}} || {{yes|+++}} || {{yes|+++}} || {{no|-}} |- ! colspan=8 | Purity |- ! Standard compatibility | {{no|-}} || {{yes|++}} || {{no|-}} || {{yes|+}} || {{yes|+}} || {{yes|+++}} || {{yes|+++}} |- ! Distinction still / animated | {{no|-}} || {{yes-No|-/+}}<ref name="distinctpossible">A distinction between still and animated files can be made visible on file-level by using special extension and mime-type, but cannot be enforced.</ref> || {{yes-No|-/+}}<ref name="distinctpossible" /> || {{no|-}}<ref name="distinctimpossible">A distinction between still and animated files is not visible on file-level, but this is an existing problem for the GIF extension.</ref> || {{no|-}}<ref name="distinctimpossible" /> || {{yes|+++}} || {{yes|+++}} |- ! File name extension | .png || .apng || .ang || .gif || .gif || .mng || .mng |- ! MIME type | video/{{color|gray|x-}}png, image/png || video/{{color|gray|x-}}png, image/png || video/{{color|gray|x-}}ang || image/gif || image/gif || video/{{color|gray|x-}}mng || video/{{color|gray|x-}}mng |- ! Status | vote failed,<br> implemented || voting? || proposed || voting? || proposed || approved<ref name="fn12">Ani-PNG is a new subset of MNG that does not need formal approval, but it uses new PlAY and ReCO chunks which are not yet officially registered.</ref> || approved,<br> spotty support |}-->
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)