[MPlayer-dev-eng] [PATCH] Various updates to GIF demuxer

Diego Biurrun diego at biurrun.de
Sat Jan 13 07:15:22 CET 2007


On Sat, Jan 13, 2007 at 06:59:26AM +0100, Diego Biurrun wrote:
> On Fri, Feb 03, 2006 at 04:55:34PM -0500, John Koleszar wrote:
> > 
> > Attached patch adds support for several animated gif features that 
> > either weren't supported by or outright crashed mplayer, including 
> > variable frame sizes, interlacing, transparency, and some alternative 
> > frame update methods. Also fixed a bug extracting timestamps, which was 
> > probably introduced by a change in giflib, since the code in question 
> > dates back to rev 1.1.
> > 
> > --- libmpdemux/demux_gif.c	5 Aug 2005 19:57:46 -0000	1.5
> > +++ libmpdemux/demux_gif.c	3 Feb 2006 20:50:45 -0000
> > @@ -70,8 +86,13 @@
> >        }
> >        if (code == 0xF9) {
> >          int frametime = 0;
> >          if (p[0] == 4) // is the length correct?
> > -          frametime = (p[1] << 8) | p[2]; // set the time, centiseconds
> > +          frametime = (p[3] << 8) | p[2]; // set the time, centiseconds
> 
> This is the frametime fix, compare
> 
> http://www.onicos.com/staff/iz/formats/gif.html#gceb
> 
> to see that if p[0] is block size p[3] and p[2], not p[1] and p[2] must
> be the delay time.
> 
> This hunk committed, it fixes several of the samples above.

Here is the rest of the patch, updated for Subversion HEAD, plus a few
cosmetical fixes.

Diego



More information about the MPlayer-dev-eng mailing list