Opened 7 years ago

Closed 7 years ago

#6309 closed defect (needs_more_info)

ffmpeg crashes while trying to convert gif

Reported by: danbopes Owned by:
Priority: important Component: undetermined
Version: git-master Keywords: crash
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
When trying to convert attached afk.gif to mp4, ffmpeg crashes and fails to convert gif properly. See attached output.

How to reproduce:

% ffmpeg -loglevel debug -i afk.gif output.mp4
ffmpeg version N-83692-gb8a7dcbde2-static

Output:

ffmpeg version N-83692-gb8a7dcbde2-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.1 (Debian 5.4.1-5) 20170205
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 47.100 / 55. 47.100
  libavcodec     57. 81.100 / 57. 81.100
  libavformat    57. 66.102 / 57. 66.102
  libavdevice    57.  3.100 / 57.  3.100
  libavfilter     6. 74.100 /  6. 74.100
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument '/home/vagrant/afk.gif'.
Reading option 'output.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /home/vagrant/afk.gif.
Successfully parsed a group of options.
Opening an input file: /home/vagrant/afk.gif.
[file @ 0x4a15680] Setting default whitelist 'file,crypto'
[gif @ 0x4a14e20] Format gif probed with size=2048 and score=100
[gif @ 0x4a14e20] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1
[gif @ 0x4a14e20] Probe buffer size limit of 5000000 bytes reached
[gif @ 0x4a14e20] After avformat_find_stream_info() pos: 5070139 bytes read:10575163 seeks:21 frames:21
Input #0, gif, from '/home/vagrant/afk.gif':
  Duration: N/A, bitrate: N/A
    Stream #0:0, 21, 1/100: Video: gif, 1 reference frame, bgra, 1680x1050, 0/1, 20 fps, 20 tbr, 100 tbn, 100 tbc
Successfully opened the file.
Parsing a group of options: output url output.mp4.
Successfully parsed a group of options.
Opening an output file: output.mp4.
[file @ 0x4a26a80] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 1 logical cores
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'video_size' to value '1680x1050'
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'pix_fmt' to value '30'
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'time_base' to value '1/100'
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0x4a14d40] Setting 'frame_rate' to value '20/1'
[graph 0 input from stream 0:0 @ 0x4a14d40] w:1680 h:1050 pixfmt:bgra tb:1/100 fr:20/1 sar:0/1 sws_param:flags=2
[format @ 0x4a25ce0] compat: called with args=[yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21]
[format @ 0x4a25ce0] Setting 'pix_fmts' to value 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21'
[auto_scaler_0 @ 0x4a1a820] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 0x4a1a820] w:iw h:ih flags:'bicubic' interl:0
[format @ 0x4a25ce0] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[AVFilterGraph @ 0x4a1b240] query_formats: 4 queried, 2 merged, 1 already done, 0 delayed
[auto_scaler_0 @ 0x4a1a820] picking yuv444p out of 8 ref:bgra alpha:1
[auto_scaler_0 @ 0x4a1a820] w:1680 h:1050 fmt:bgra sar:0/1 -> w:1680 h:1050 fmt:yuv444p sar:0/1 flags:0x4
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x4a18e40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX LZCNT
[libx264 @ 0x4a18e40] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
[libx264 @ 0x4a18e40] 264 - core 148 r333 90a61ec - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=20 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf57.66.102
    Stream #0:0, 0, 1/10240: Video: h264 (libx264), 1 reference frame ([33][0][0][0] / 0x0021), yuv444p, 1680x1050, 0/1, q=-1--1, 20 fps, 10240 tbn, 20 tbc
    Metadata:
      encoder         : Lavc57.81.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (gif (native) -> h264 (libx264))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
    Last message repeated 1 times
[gif @ 0x4a1d540] code=2c ','
Clipping frame in rate conversion by 0.000008
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
[gif @ 0x4a1d540] code=21 '!'
[gif @ 0x4a1d540] code=2c ','

Then I receive "Killed" in my console.

Change History (5)

comment:1 by danbopes, 7 years ago

File was too big for upload. afk.gif can be found here: http://i.imgur.com/7OIYI9e.gif

comment:2 by Carl Eugen Hoyos, 7 years ago

Keywords: crash added

Is the issue reproducible with -vcodec mpeg4?
Is the issue reproducible with -pix_fmt yuv420p?

comment:3 by Carl Eugen Hoyos, 7 years ago

Which cpu is installed on your system?

comment:4 by Carl Eugen Hoyos, 7 years ago

Please also test the following command line:

$ ffmpeg -i afk.gif -x264opts asm=0 output.mp4

comment:5 by Carl Eugen Hoyos, 7 years ago

Resolution: needs_more_info
Status: newclosed
Version: unspecifiedgit-master

This may very likely be an important issue (wrong assumptions about assembler code on newer amd cpu's?) but without more information, I don't think there is anything we can do.

Note: See TracTickets for help on using tickets.