From CDOT Wiki
Jump to: navigation, search


APNG stands for Animated PNG, an extension to the PNG specification to allow for animated PNG images. Similar to how Animated GIF is an extension of GIF. Create such a thing.

Project Leader(s)

Andrew Smith (andrew on IRC)

Project Contributors

Ben Hearsum - taught me to connect to the cluster using rdesktop, vmware and set up an account for me to compile mozilla on the windows cluster.

Mark Paruzel - made two fancy animations for demoing APNG, not up on the web yet.

Tom Aratyn - spent a few hours with me trying to solve an inheritance problem.

Jeff Mossop - Created Icons for Andrew

Project Details

The project is broken up into several stages:

1. (complete) Create an extension to the PNG Specification. Stuart Parmenter and Vladimir Vukićević did this in around 2004.

2. (complete) Implement the APNG spec into libpng. This was done for libpng 1.2.10 during the summer of 2006. Patch available on the APNG implementation page.

3. (current, fall 2006) Implement the modified libpng into Mozilla.

4. Attempt to get the APNG patch integrated into libpng.

5. Fail.

6. Give up.

7. Try again.

Project News

- compiled mozilla on slackware

- installed vmware and windows

- installed cygwin

- compiled mozilla on windows

- compiled mozilla on a mac

- attempted to fix a bug in libpng 1.2.12 that caused mozilla on a mac to crash, someone beat me to it

- tried to move things from imgContainerGIF to imgContainer and share that code using inheritance, didn't work

- rather than moving things, copied them instead. will do the inheritance thing later after it works

- made a webage for testing, with a gif, a png and an animated png

- updated the libpng patch to work with 1.2.12

- updated the apng spec and libpng patch with a small change requested by the libpng maintainer

- wondered why it still doesn't work

- spent a few days looking at the gif container to get a better idea of how it works

- fixed imgcontainer and pngdecoder to work with animations

- made some more images for testing

- made the gif decoder use imgcontainer

- removed imgcontainergif and replaced all references to it with imgcontainer

- finished patch, posted in bug 257197, waiting for review


Extension to the PNG spec

Original PNG Spec

APNG Implementation Page

libpng page

Bug 257197

Bug 257263

End of Project

The libpng and mozilla patch are in one file on mozilla's bugzilla: [1]

Use a diff viewer to look at it, or the `patch` to apply it to the current (December 2006) Mozilla tree.

Sample images are available at [2]