Hack: use refmode == 1 instead of == 0, as browsers behave like this

and buggy files like http://samples.mplayerhq.hu/GIF/broken-gif/CLAIRE.GIF
rely on this.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22038 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2007-01-28 10:34:11 +00:00
parent c518d68f25
commit fec3b1e82e
1 changed files with 7 additions and 0 deletions

View File

@ -101,6 +101,13 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
{
transparency = p[1] & 1;
refmode = (p[1] >> 2) & 3;
// HACK: specification says
// > 0 - No disposal specified. The decoder is not required to take any action.
// but browsers treat it the same way as
// > 1 - Do not dispose. The graphic is to be left in place.
// Some broken files rely on this, e.g.
// http://samples.mplayerhq.hu/GIF/broken-gif/CLAIRE.GIF
if (refmode == 0) refmode = 1;
frametime = (p[3] << 8) | p[2]; // set the time, centiseconds
transparent_col = p[4];
}