diff --git a/libmpdemux/demux_gif.c b/libmpdemux/demux_gif.c index 6eea91fd2b..1a3e235e8a 100644 --- a/libmpdemux/demux_gif.c +++ b/libmpdemux/demux_gif.c @@ -146,14 +146,13 @@ static int demux_gif_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) memcpy_pic(dest, buf, w, h, priv->w, gif->Image.Width); - priv->useref = 1; if (refmode == 1) memcpy(priv->refimg, dp->buffer, priv->w * priv->h); if (refmode == 2 && priv->useref) { dest = priv->refimg + priv->w * t + l; memset(buf, gif->SBackGroundColor, len); memcpy_pic(dest, buf, w, h, priv->w, gif->Image.Width); } - if (!refmode) priv->useref = 0; + if (!(refmode & 2)) priv->useref = refmode & 1; } free(buf);