[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