[FFmpeg-trac] #8633(undetermined:new): First frame of scaled GIF partially persists on subsequent frames' transparent area
FFmpeg
trac at avcodec.org
Sat Apr 25 12:39:43 EEST 2020
#8633: First frame of scaled GIF partially persists on subsequent frames'
transparent area
-------------------------------------+-------------------------------------
Reporter: SeinopSys | Type: defect
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: gif scale | Blocked By:
trailing ghosting transparency |
alpha |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
Provided a GIF with pixels that are transparent in some frames but not
others, scaling said GIF in the current git-master build of ffmpeg causes
pixels of the first frame to stick around until the end of the loop.
How to reproduce:
Run the below command on the attached GIF, which should result in a
similarly sized version of the same motion. Note how the first frame's
content remains (at least partially) visible on all subsequent frames. The
same effect can be observed at larger or smaller w and h values.
{{{
% ffmpeg -y -i dot.gif -lavfi "[0:v] scale=w=100:h=100:flags=lanczos,split
[a][b]; [a] palettegen [p]; [b][p] paletteuse" scaled.gif
ffmpeg version N-52056-ge5d25d1147-static
https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg
developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-
debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio
--cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp
--enable-libgme --enable-gray --enable-libaom --enable-libfribidi
--enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt
--enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab
--enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid
--enable-libzvbi --enable-libzimg
libavutil 56. 42.101 / 56. 42.101
libavcodec 58. 76.100 / 58. 76.100
libavformat 58. 42.100 / 58. 42.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 77.100 / 7. 77.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, gif, from 'dot.gif':
Duration: 00:00:00.90, start: 0.000000, bitrate: 5 kb/s
Stream #0:0: Video: gif, bgra, 50x50, 10 fps, 10 tbr, 100 tbn, 100 tbc
Stream mapping:
Stream #0:0 (gif) -> scale
paletteuse -> Stream #0:0 (gif)
Press [q] to stop, [?] for help
Output #0, gif, to 'scaled.gif':
Metadata:
encoder : Lavf58.42.100
Stream #0:0: Video: gif, pal8, 50x50, q=2-31, 200 kb/s, 10 fps, 100
tbn, 10 tbc
Metadata:
encoder : Lavc58.76.100 gif
[Parsed_palettegen_2 @ 0x704da00] 2(+1) colors generated out of 2 colors;
ratio=1.000000
frame= 9 fps=0.0 q=-0.0 Lsize= 2kB time=00:00:00.81 bitrate=
24.7kbits/s speed= 272x
video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.804829%
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8633>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list