[FFmpeg-trac] #7264(avfilter:new): libvmaf segmentation fault at ffmpeg 4.0
FFmpeg
trac at avcodec.org
Wed Jun 20 16:30:29 EEST 2018
#7264: libvmaf segmentation fault at ffmpeg 4.0
-------------------------------------+------------------------------------
Reporter: gstoyanov | Owner:
Type: defect | Status: new
Priority: normal | Component: avfilter
Version: unspecified | Resolution:
Keywords: libvmaf | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+------------------------------------
Comment (by gstoyanov):
With latest FFMPEG nightly and VDK 1.3.5
{{{
ffmpeg -i distcut.nut -i refcut.nut -lavfi
libvmaf="log_fmt=json:log_path=ffvmaf.json:psnr=1:ssim=1:ms_ssim=1" -f
null - ffmpeg version N-91330-ga990184
Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --pkg-config-flags=--static --extra-libs='-lpthread -lm'
--toolchain=hardened --enable-gpl --enable-nonfree --enable-version3
--disable-stripping --enable-avisynth --enable-libass --enable-
libfontconfig --enable-libfreetype --enable-libvmaf --enable-libfribidi
--enable-libgme --enable-libgsm --enable-librubberband --enable-libshine
--enable-libsnappy --enable-libssh --enable-libtwolame --enable-libwavpack
--enable-libzvbi --enable-openal --enable-sdl2 --enable-libdrm --enable-
frei0r --enable-ladspa --enable-libpulse --enable-libsoxr --enable-
libspeex --enable-avfilter --enable-postproc --enable-pthreads --enable-
libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
--disable-ffplay --enable-libopenjpeg --enable-libsrt --enable-libwebp
--enable-libxvid --enable-libvidstab --enable-libopenh264 --enable-zlib
--enable-openssl
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 20.103 / 58. 20.103
libavformat 58. 17.100 / 58. 17.100
libavdevice 58. 4.101 / 58. 4.101
libavfilter 7. 25.100 / 7. 25.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Input #0, nut, from 'distcut.nut':
Metadata:
encoder : Lavf58.12.100
Duration: 00:00:39.98, start: 0.000000, bitrate: 553250 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720,
SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 51200 tbn, 51200 tbc
Metadata:
encoder : Lavc58.18.100 rawvideo
Input #1, nut, from 'refcut.nut':
Metadata:
encoder : Lavf58.12.100
Duration: 00:00:39.98, start: 0.000000, bitrate: 553250 kb/s
Stream #1:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720,
SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 51200 tbn, 51200 tbc
Metadata:
encoder : Lavc58.18.100 rawvideo
Stream mapping:
Stream #0:0 (rawvideo) -> libvmaf:main
Stream #1:0 (rawvideo) -> libvmaf:reference
libvmaf -> Stream #0:0 (wrapped_avframe)
Press [q] to stop, [?] for help
Start calculating VMAF score...
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.17.100
Stream #0:0: Video: wrapped_avframe, yuv420p, 1280x720 [SAR 1:1 DAR
16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc (default)
Metadata:
encoder : Lavc58.20.103 wrapped_avframe
unknown format āIā/V.
Segmentation fault (core dumped)
}}}
If I downgrade the VMAF to v.1.3.4 it works:
{{{
$ ffmpeg -i distcut.nut -i refcut.nut -lavfi
libvmaf="log_fmt=json:log_path=ffvmaf_nut.json:psnr=1:ssim=1:ms_ssim=1" -f
null - ffmpeg version N-91330-ga990184 Copyright
(c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --pkg-config-flags=--static --extra-libs='-lpthread -lm'
--toolchain=hardened --enable-gpl --enable-nonfree --enable-version3
--disable-stripping --enable-avisynth --enable-libass --enable-
libfontconfig --enable-libfreetype --enable-libvmaf --enable-libfribidi
--enable-libgme --enable-libgsm --enable-librubberband --enable-libshine
--enable-libsnappy --enable-libssh --enable-libtwolame --enable-libwavpack
--enable-libzvbi --enable-openal --enable-sdl2 --enable-libdrm --enable-
frei0r --enable-ladspa --enable-libpulse --enable-libsoxr --enable-
libspeex --enable-avfilter --enable-postproc --enable-pthreads --enable-
libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
--disable-ffplay --enable-libopenjpeg --enable-libsrt --enable-libwebp
--enable-libxvid --enable-libvidstab --enable-libopenh264 --enable-zlib
--enable-openssl
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 20.103 / 58. 20.103
libavformat 58. 17.100 / 58. 17.100
libavdevice 58. 4.101 / 58. 4.101
libavfilter 7. 25.100 / 7. 25.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
Input #0, nut, from 'distcut.nut':
Metadata:
encoder : Lavf58.12.100
Duration: 00:00:39.98, start: 0.000000, bitrate: 553250 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720,
SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 51200 tbn, 51200 tbc
Metadata:
encoder : Lavc58.18.100 rawvideo
Input #1, nut, from 'refcut.nut':
Metadata:
encoder : Lavf58.12.100
Duration: 00:00:39.98, start: 0.000000, bitrate: 553250 kb/s
Stream #1:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720,
SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 51200 tbn, 51200 tbc
Metadata:
encoder : Lavc58.18.100 rawvideo
Stream mapping:
Stream #0:0 (rawvideo) -> libvmaf:main
Stream #1:0 (rawvideo) -> libvmaf:reference
libvmaf -> Stream #0:0 (wrapped_avframe)
Press [q] to stop, [?] for help
Start calculating VMAF score...
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.17.100
Stream #0:0: Video: wrapped_avframe, yuv420p, 1280x720 [SAR 1:1 DAR
16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc (default)
Metadata:
encoder : Lavc58.20.103 wrapped_avframe
frame= 2000 fps=2.6 q=-0.0 Lsize=N/A time=00:00:40.00 bitrate=N/A
speed=0.0522x
video:1047kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Exec FPS: 2.606700
VMAF score = 91.079469
[libvmaf @ 0x5622212ba880] VMAF score: 91.079469
}}}
So apparently something changed in VDK 1.3.5 which is causing segmentation
fault when you try to run the filter and to evaluate the VMAF of two files
and from VDK 1.3.6 onwards, latest is 1.3.7, ffmpeg is unable to compile
with libvmaf support.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7264#comment:10>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list