Opened 6 months ago

#8826 new defect

FFmpeg crash with "libxvid".

Reported by: sicaai Owned by:
Priority: important Component: ffmpeg
Version: git-master Keywords: ffmpeg libxvid crash
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

What I am trying to do:

I am trying to encode a video by using the encoder "libxvid".

What happened:

FFmpeg crashed with a segmentation fault.

Command line used:

ffmpeg -i video.mkv -c:v libxvid -b:v 1500K -c:a copy output.mkv

It does not matter what input file is used "libxvid" always crashes.

Console output (ffmpeg -v 9 -loglevel 99 -i video.mkv):


ffmpeg version N-53260-ga37109d555-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. 55.100 / 56. 55.100
libavcodec 58. 92.100 / 58. 92.100
libavformat 58. 46.101 / 58. 46.101
libavdevice 58. 11.100 / 58. 11.100
libavfilter 7. 86.100 / 7. 86.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100

Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument 'video.mkv'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url video.mkv.
Successfully parsed a group of options.
Opening an input file: video.mkv.
[NULL @ 0x64f5140] Opening 'video.mkv' for reading
[file @ 0x64f5c00] Setting default whitelist 'file,crypto,data'
Probing matroska,webm score:100 size:2048
[matroska,webm @ 0x64f5140] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
[matroska,webm @ 0x64f5140] Before avformat_find_stream_info() pos: 966 bytes read:32768 seeks:0 nb_streams:2
[matroska,webm @ 0x64f5140] parser not found for codec ffv1, packets or times may be invalid.

Last message repeated 1 times

[matroska,webm @ 0x64f5140] All info found
[matroska,webm @ 0x64f5140] stream 0: start_time: 0.582 duration: NOPTS
[matroska,webm @ 0x64f5140] stream 1: start_time: 0 duration: NOPTS
[matroska,webm @ 0x64f5140] format: start_time: 0 duration: 1770.58 (estimate from stream) bitrate=43336 kb/s
[matroska,webm @ 0x64f5140] After avformat_find_stream_info() pos: 3922 bytes read:32768 seeks:0 frames:29
Input #0, matroska,webm, from 'video.mkv':

Metadata:

COMPATIBLE_BRANDS: isomiso2avc1mp41
MAJOR_BRAND : isom
MINOR_VERSION : 512
ENCODER : Lavf58.46.101

Duration: 00:29:30.58, start: 0.000000, bitrate: 43336 kb/s

Stream #0:0, 1, 1/1000: Video: ffv1, 1 reference frame (FFV1 / 0x31564646), yuv444p(left), 800x450, 0/1, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
Metadata:

HANDLER_NAME : VideoHandler?
ENCODER : Lavc58.92.100 ffv1
DURATION : 00:29:30.550000000

Stream #0:1, 28, 1/1000: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:

HANDLER_NAME : SoundHandler?
DURATION : 00:29:30.581000000

Successfully opened the file.
At least one output file must be specified
[AVIOContext @ 0x64fe040] Statistics: 32768 bytes read, 0 seeks

Output of log file generated by "ffmpeg":


ffmpeg started on 2020-07-28 at 11:57:51
Report written to "ffmpeg-20200728-115751.log"
Log level: 48
Command line:
ffmpeg -report -i video.mkv -c:v libxvid -b:v 1500K -c:a copy output.mkv
ffmpeg version N-53260-ga37109d555-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. 55.100 / 56. 55.100
libavcodec 58. 92.100 / 58. 92.100
libavformat 58. 46.101 / 58. 46.101
libavdevice 58. 11.100 / 58. 11.100
libavfilter 7. 86.100 / 7. 86.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100

Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-i' ... matched as input url with argument 'video.mkv'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libxvid'.
Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '1500K'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option 'output.mkv' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url video.mkv.
Successfully parsed a group of options.
Opening an input file: video.mkv.
[NULL @ 0x71ba840] Opening 'video.mkv' for reading
[file @ 0x71bb300] Setting default whitelist 'file,crypto,data'
[matroska,webm @ 0x71ba840] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
st:1 removing common factor 1000000 from timebase
[matroska,webm @ 0x71ba840] Before avformat_find_stream_info() pos: 966 bytes read:32768 seeks:0 nb_streams:2
[matroska,webm @ 0x71ba840] parser not found for codec ffv1, packets or times may be invalid.
[matroska,webm @ 0x71ba840] parser not found for codec ffv1, packets or times may be invalid.
[matroska,webm @ 0x71ba840] All info found
[matroska,webm @ 0x71ba840] After avformat_find_stream_info() pos: 3922 bytes read:32768 seeks:0 frames:29
Input #0, matroska,webm, from 'video.mkv':

Metadata:

COMPATIBLE_BRANDS: isomiso2avc1mp41
MAJOR_BRAND : isom
MINOR_VERSION : 512
ENCODER : Lavf58.46.101

Duration: 00:29:30.58, start: 0.000000, bitrate: 43336 kb/s

Stream #0:0, 1, 1/1000: Video: ffv1 (FFV1 / 0x31564646), yuv444p, 800x450, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default)
Metadata:

HANDLER_NAME : VideoHandler?
ENCODER : Lavc58.92.100 ffv1
DURATION : 00:29:30.550000000

Stream #0:1, 28, 1/1000: Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:

HANDLER_NAME : SoundHandler?
DURATION : 00:29:30.581000000

Successfully opened the file.
Parsing a group of options: output url output.mkv.
Applying option c:v (codec name) with argument libxvid.
Applying option b:v (video bitrate (please use -b:v)) with argument 1500K.
Applying option c:a (codec name) with argument copy.
Successfully parsed a group of options.
Opening an output file: output.mkv.
[file @ 0x72477c0] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
detected 2 logical cores
Stream mapping:

Stream #0:0 -> #0:0 (ffv1 (native) -> mpeg4 (libxvid))
Stream #0:1 -> #0:1 (copy)

Press [q] to stop, ? for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[graph 0 input from stream 0:0 @ 0x7265740] Setting 'video_size' to value '800x450'
[graph 0 input from stream 0:0 @ 0x7265740] Setting 'pix_fmt' to value '5'
[graph 0 input from stream 0:0 @ 0x7265740] Setting 'time_base' to value '1/1000'
[graph 0 input from stream 0:0 @ 0x7265740] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 0x7265740] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:0 @ 0x7265740] w:800 h:450 pixfmt:yuv444p tb:1/1000 fr:30000/1001 sar:1/1
[format @ 0x72677c0] Setting 'pix_fmts' to value 'yuv420p'
[auto_scaler_0 @ 0x72440c0] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 0x72440c0] w:iw h:ih flags:'bicubic' interl:0
[format @ 0x72677c0] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
[AVFilterGraph @ 0x7269640] query_formats: 4 queried, 2 merged, 1 already done, 0 delayed
[auto_scaler_0 @ 0x72440c0] w:800 h:450 fmt:yuv444p sar:1/1 -> w:800 h:450 fmt:yuv420p sar:1/1 flags:0x4

Change History (0)

Note: See TracTickets for help on using tickets.