#16571: APNG (Animated PNG) for animations
-------------------------------------+-------------------------------------
Reporter: gagern | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.3
Component: graphics | Resolution:
Keywords: | Merged in:
Authors: Martin von Gagern | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/gagern/ticket/16571 | f4a242733b301b813f316d8661485b77ad520ee7
Dependencies: #16570, #16645 | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by gagern):
* status: needs_work => needs_review
* dependencies: #16533, #16570 => #16570, #16645
Old description:
> Currently the creation of animations depends on external tools: either
> [http://www.imagemagick.org ImageMagick] or [http://www.ffmpeg.org
> FFmpeg] must be available. Either of these can be used to assemble a
> sequence of PNG frames into a GIF animation. However, GIF is a very
> limited format, and the conversion (I guess mostly the color reduction)
> takes time and costs quality.
>
> A more modern alternative would be
> [https://wiki.mozilla.org/APNG_Specification APNG]. It's an extension of
> the PNG standard. One drawback is that only
> [http://caniuse.com/#feat=apng some browsers support it]. The others
> would show the first frame of the animation as still image instead. (We
> could later extend the code so one can specify any image of equal size to
> be used as fallback.)
>
> Assembling multiple PNG files into a single animation is fairly simple.
> In fact so simple that it can be accomplished without using any external
> libraries at all. I wrote such an implementation while working on #16533
> and would like to offer it here for inclusion.
>
> The branch I'm going to append uses commits from #16533 and #16570, so if
> those get merged before, you will have less to review here.
New description:
Currently the creation of animations depends on external tools: either
[http://www.imagemagick.org ImageMagick] or [http://www.ffmpeg.org FFmpeg]
must be available. Either of these can be used to assemble a sequence of
PNG frames into a GIF animation. However, GIF is a very limited format,
and the conversion (I guess mostly the color reduction) takes time and
costs quality.
A more modern alternative would be
[https://wiki.mozilla.org/APNG_Specification APNG]. It's an extension of
the PNG standard. One drawback is that only [http://caniuse.com/#feat=apng
some browsers support it]. The others would show the first frame of the
animation as still image instead. (We could later extend the code so one
can specify any image of equal size to be used as fallback.)
Assembling multiple PNG files into a single animation is fairly simple. In
fact so simple that it can be accomplished without using any external
libraries at all. I wrote such an implementation while working on #16533
and would like to offer it here for inclusion.
The branch I'm going to append uses commits from #16570 and #16645, so if
those get merged before, you will have less to review here.
--
Comment:
Rebased onto #16645. There are a lot of commits from the dependencies
listed above. Only three commits are excludive to this ticket here, so
[http://git.sagemath.org/sage.git/diff/?h=a60fe0b14aa4094c86c5efb387f9fd5a9706a218&id2=bb7307f0649cfa90916f74c102d1d09a424b759a
these are the changes] that need to be reviewed in this ticket here.
At the moment, the APNG support isn't integrated with the `save` and
`show` methods. I'd do so based on #7298, but in order to avoid dependency
hell, I'll deal with this in a separate ticket so you can review the
changes here independently.
--
Ticket URL: <http://trac.sagemath.org/ticket/16571#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.