[FFmpeg-trac] #8584(ffmpeg:new): Wrong disposal on first frame of transparent gif
FFmpeg
trac at avcodec.org
Thu Mar 26 23:47:40 EET 2020
#8584: Wrong disposal on first frame of transparent gif
-------------------------------------+-------------------------------------
Reporter: RedError | Type: defect
Status: new | Priority: normal
Component: ffmpeg | Version: git-
Keywords: gif, | master
disposal, tranparency, generated | Blocked By:
GIF files |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
When creating a transparent gif with ffmpeg, the first frame has a wrong
"Gif Disposal" value ("Do Not Dispose" instead of "Restore to Background")
and thus is always overlayed on the second frame.
How to reproduce:
{{{
ffmpeg -i "slowsmoke.gif" -gifflags 0 -vf "[0:v] split [a][b]; [a]
palettegen [p]; [b][p] paletteuse [r]" "slowsmoke ffmpeg.gif" -y
}}}
Input:
[[Image(https://i.ibb.co/mzSx63y/slowsmoke.gif)]]
Output:
[[Image(https://i.imgur.com/cnd96Wq.gif)]]
ffmpeg version git-2020-03-24-e5d25d1
Downloaded from https://ffmpeg.zeranoe.com/builds/
Transparent gif "slowsmoke.gif" provided in attachment, also available
here: https://i.ibb.co/mzSx63y/slowsmoke.gif
Additional details:
* Gimp shows the second frame as being "combine". Editing that information
allows the gif to be fixed. This proves that it is indeed the frame
disposal that is in cause.
[[Image(https://i.imgur.com/GFD9AgG.png)]]
* -gifflags +offsetting leaves additional traces (by reducing the redraw
area), so it's better disabled with -gifflags 0 like I did, but that
doesn't actually fix the underlying first frame disposal issue.
[[Image(https://i.imgur.com/MNtPeA1.gif)]]
* -gifflags -transdiff or +transdiff doesn't actually do anything for
transparent gifs.
Attached:
Report file from ffmpeg
Input image (transparent gif with movement between the first two frames)
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8584>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list