Wrong disposal on first frame of transparent gif
|Reported by:||RedError||Owned by:|
|Blocking:||Reproduced by developer:||no|
|Analyzed by developer:||no|
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
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
- 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.
- -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.
- -gifflags -transdiff or +transdiff doesn't actually do anything for transparent gifs.
Report file from ffmpeg
Input image (transparent gif with movement between the first two frames)
Change History (6)
follow-up: 3 comment:2 by , 3 years ago
|Component:||ffmpeg → undetermined|
|Keywords:||disposal tranparency generated GIF files removed|
comment:3 by , 3 years ago
|Keywords:||disposal tranparency added|