[FFmpeg-trac] #7779(avfilter:new): mcdeint slow mode SIGFPE

FFmpeg trac at avcodec.org
Sat Mar 9 01:45:12 EET 2019


#7779: mcdeint slow mode SIGFPE
-------------------------------------+-------------------------------------
             Reporter:  Ilya87       |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:  avfilter     |                  Version:
             Keywords:  mcdeint      |  unspecified
  SIGFPE                             |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 SIGFPE when using slow and extra_slow mode in mcdeint filter. Medium mode
 works good.
 How to reproduce:
 {{{
 gdb output
 Starting program: /usr/bin/ffmpeg -loglevel debug -i
 /home/ilya/interlaced.mkv -vf yadif=mode=1,mcdeint=mode=slow:parity=tff
 /home/ilya/11.mkv
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/usr/lib/libthread_db.so.1".
 ffmpeg version N-93302-g147ef1d947 Copyright (c) 2000-2019 the FFmpeg
 developers
   built with gcc 8.2.1 (GCC) 20181127
   configuration: --prefix=/usr --disable-debug --disable-static --disable-
 stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
 --enable-ladspa --enable-libaom --enable-libass --enable-libbluray
 --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm
 --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-
 libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-
 libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-
 libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-
 libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
 libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid
 --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-
 libvmaf --enable-version3
   libavutil      56. 26.100 / 56. 26.100
   libavcodec     58. 47.103 / 58. 47.103
   libavformat    58. 26.101 / 58. 26.101
   libavdevice    58.  6.101 / 58.  6.101
   libavfilter     7. 48.100 /  7. 48.100
   libswscale      5.  4.100 /  5.  4.100
   libswresample   3.  4.100 /  3.  4.100
   libpostproc    55.  4.100 / 55.  4.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/ilya/interlaced.mkv'.
 Reading option '-vf' ... matched as option 'vf' (set video filters) with
 argument 'yadif=mode=1,mcdeint=mode=slow:parity=tff'.
 Reading option '/home/ilya/11.mkv' ... 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/ilya/interlaced.mkv.
 Successfully parsed a group of options.
 Opening an input file: /home/ilya/interlaced.mkv.
 [NULL @ 0x5555555cd2c0] Opening '/home/ilya/interlaced.mkv' for reading
 [file @ 0x5555555cddc0] Setting default whitelist 'file,crypto'
 [matroska,webm @ 0x5555555cd2c0] Format matroska,webm probed with
 size=2048 and score=100
 st:0 removing common factor 1000000 from timebase
 [matroska,webm @ 0x5555555cd2c0] Before avformat_find_stream_info() pos:
 1484 bytes read:32768 seeks:0 nb_streams:1
 [h264 @ 0x5555555d2c00] nal_unit_type: 7(SPS), nal_ref_idc: 3
 [h264 @ 0x5555555d2c00] nal_unit_type: 8(PPS), nal_ref_idc: 3
 [h264 @ 0x5555555d2c00] nal_unit_type: 7(SPS), nal_ref_idc: 3
 [h264 @ 0x5555555d2c00] nal_unit_type: 8(PPS), nal_ref_idc: 3
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:3
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
     Last message repeated 1 times
 [h264 @ 0x5555555d2c00] nal_unit_type: 5(IDR), nal_ref_idc: 3
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:3
 [h264 @ 0x5555555d2c00] Format yuv420p chosen by get_format().
 [h264 @ 0x5555555d2c00] Reinit context to 1136x512, pix_fmt: yuv420p
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:3
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:3
     Last message repeated 1 times
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:3
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:4
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:4
     Last message repeated 1 times
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:4
     Last message repeated 1 times
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:4
     Last message repeated 1 times
 [h264 @ 0x5555555d2c00] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555d2c00] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555d2c00] ct_type:0 pic_struct:4
     Last message repeated 1 times
 [matroska,webm @ 0x5555555cd2c0] All info found
 [matroska,webm @ 0x5555555cd2c0] After avformat_find_stream_info() pos:
 1252836 bytes read:1252836 seeks:0 frames:8
 Input #0, matroska,webm, from '/home/ilya/interlaced.mkv':
   Metadata:
     ENCODER         : Lavf58.26.101
   Duration: 00:00:49.63, start: 0.000000, bitrate: 18662 kb/s
     Stream #0:0, 8, 1/1000: Video: h264 (High 4:4:4 Predictive), 1
 reference frame, yuv420p(top first, left), 1132x484 (1136x512) [SAR
 240:239 DAR 67920:28919], 0/1, 11.99 fps, 11.99 tbr, 1k tbn, 23.98 tbc
 (default)
     Metadata:
       BPS             : 123878134
       BPS-eng         : 123878134
       DURATION-eng    : 00:00:49.625000000
       NUMBER_OF_FRAMES: 1191
       NUMBER_OF_FRAMES-eng: 1191
       NUMBER_OF_BYTES : 768431555
       NUMBER_OF_BYTES-eng: 768431555
       _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain')
 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2018-01-05 13:50:44
       _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-05 13:50:44
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       ENCODER         : Lavc58.47.103 libx264
       DURATION        : 00:00:49.633000000
 Successfully opened the file.
 Parsing a group of options: output url /home/ilya/11.mkv.
 Applying option vf (set video filters) with argument
 yadif=mode=1,mcdeint=mode=slow:parity=tff.
 Successfully parsed a group of options.
 Opening an output file: /home/ilya/11.mkv.
 [file @ 0x55555576ff40] Setting default whitelist 'file,crypto'
 Successfully opened the file.
 detected 6 logical cores
 [h264 @ 0x5555555f5f40] nal_unit_type: 7(SPS), nal_ref_idc: 3
 [h264 @ 0x5555555f5f40] nal_unit_type: 8(PPS), nal_ref_idc: 3
 [New Thread 0x7fffec9eb700 (LWP 26506)]
 [New Thread 0x7fffec1ea700 (LWP 26507)]
 [New Thread 0x7fffeb9e9700 (LWP 26508)]
 [New Thread 0x7fffeb1e8700 (LWP 26509)]
 [New Thread 0x7fffea9e7700 (LWP 26510)]
 [New Thread 0x7fffea1e6700 (LWP 26511)]
 [New Thread 0x7fffe99e5700 (LWP 26512)]
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (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)
     Last message repeated 1 times
 [h264 @ 0x5555555f5f40] nal_unit_type: 6(SEI), nal_ref_idc: 0
     Last message repeated 1 times
 [h264 @ 0x5555555f5f40] nal_unit_type: 5(IDR), nal_ref_idc: 3
 [h264 @ 0x5555555f5f40] ct_type:0 pic_struct:3
 [h264 @ 0x5555555f5f40] Format yuv420p chosen by get_format().
 [h264 @ 0x5555555f5f40] Reinit context to 1136x512, pix_fmt: yuv420p
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555555fa700] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555fa700] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555fa700] ct_type:0 pic_struct:3
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555558e22c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555558e22c0] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555558e22c0] ct_type:0 pic_struct:3
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555558e7400] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555558e7400] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555558e7400] ct_type:0 pic_struct:4
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555557e2780] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555557e2780] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555557e2780] ct_type:0 pic_struct:4
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555557febc0] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555557febc0] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555557febc0] ct_type:0 pic_struct:4
 [h264 @ 0x55555581b400] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x55555581b400] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x55555581b400] ct_type:0 pic_struct:4
 [New Thread 0x7fffe91e4700 (LWP 26513)]
 [New Thread 0x7fffe89e3700 (LWP 26514)]
 [New Thread 0x7fffcbfff700 (LWP 26515)]
 [New Thread 0x7fffcb7fe700 (LWP 26516)]
 [New Thread 0x7fffcaffd700 (LWP 26517)]
 [New Thread 0x7fffca7fc700 (LWP 26518)]
 [Parsed_yadif_0 @ 0x555555689580] Setting 'mode' to value '1'
 [Parsed_mcdeint_1 @ 0x55555568a380] Setting 'mode' to value 'slow'
 [Parsed_mcdeint_1 @ 0x55555568a380] Setting 'parity' to value 'tff'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'video_size' to
 value '1132x484'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'pix_fmt' to
 value '0'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'time_base' to
 value '1/1000'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'pixel_aspect' to
 value '240/239'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'sws_param' to
 value 'flags=2'
 [graph 0 input from stream 0:0 @ 0x55555568af40] Setting 'frame_rate' to
 value '12000/1001'
 [graph 0 input from stream 0:0 @ 0x55555568af40] w:1132 h:484
 pixfmt:yuv420p tb:1/1000 fr:12000/1001 sar:240/239 sws_param:flags=2
 [format @ 0x55555587a300] Setting 'pix_fmts' to value
 'yuv420p|yuvj420p|yuv422p|yuvj422p|yuv444p|yuvj444p|nv12|nv16|nv21|yuv420p10le|yuv422p10le|yuv444p10le|nv20le|gray|gray10le'
 [AVFilterGraph @ 0x5555557bc480] query_formats: 5 queried, 4 merged, 0
 already done, 0 delayed
 [libx264 @ 0x5555555f5500] using mv_range_thread = 24
 [libx264 @ 0x5555555f5500] using SAR=240/239
 [libx264 @ 0x5555555f5500] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX FMA3 BMI2 AVX2
 [New Thread 0x7fffc9a64700 (LWP 26519)]
 [New Thread 0x7fffc9263700 (LWP 26520)]
 [New Thread 0x7fffc8a62700 (LWP 26521)]
 [New Thread 0x7fffc8261700 (LWP 26522)]
 [New Thread 0x7fffc7a60700 (LWP 26523)]
 [New Thread 0x7fffc725f700 (LWP 26524)]
 [New Thread 0x7fffc6a5e700 (LWP 26525)]
 [New Thread 0x7fffc625d700 (LWP 26526)]
 [New Thread 0x7fffc5a5c700 (LWP 26527)]
 [New Thread 0x7fffc0af6700 (LWP 26528)]
 [libx264 @ 0x5555555f5500] profile High, level 3.1, 4:2:0, 8-bit
 [libx264 @ 0x5555555f5500] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2018 - 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=-2 threads=9
 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=23
 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
 [matroska @ 0x5555555f73c0] get_metadata_duration returned: 49633000
 [matroska @ 0x5555555f73c0] Write early duration from metadata = 49633
 Output #0, matroska, to '/home/ilya/11.mkv':
   Metadata:
     encoder         : Lavf58.26.101
     Stream #0:0, 0, 1/1000: Video: h264 (libx264), 1 reference frame (H264
 / 0x34363248), yuv420p(left), 1132x484 [SAR 240:239 DAR 67920:28919], 0/1,
 q=-1--1, 23.98 fps, 1k tbn, 23.98 tbc (default)
     Metadata:
       BPS             : 123878134
       BPS-eng         : 123878134
       DURATION-eng    : 00:00:49.625000000
       NUMBER_OF_FRAMES: 1191
       NUMBER_OF_FRAMES-eng: 1191
       NUMBER_OF_BYTES : 768431555
       NUMBER_OF_BYTES-eng: 768431555
       _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
       _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain')
 64-bit
       _STATISTICS_WRITING_DATE_UTC: 2018-01-05 13:50:44
       _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-05 13:50:44
       _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
       DURATION        : 00:00:49.633000000
       encoder         : Lavc58.47.103 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0x5555555f5f40] nal_unit_type: 6(SEI), nal_ref_idc: 0
 [h264 @ 0x5555555f5f40] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 2
 [h264 @ 0x5555555f5f40] ct_type:0 pic_struct:4
 Clipping frame in rate conversion by 0.000008
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)

 Thread 1 "ffmpeg" received signal SIGFPE, Arithmetic exception.
 0x00007ffff6a53a91 in get_dc (plane_index=<optimized out>, mb_y=<optimized
 out>, mb_x=0, s=0x7fffc9dec040) at libavcodec/snowenc.c:566
 566     libavcodec/snowenc.c: No such file or directory.

 ffmpeg version 4.2.r93302.g147ef1d947
 built on Antergos X86_64
 }}}
 P.S.
 gcc 8.2.1 Following warning during compilation:
 libavfilter/vf_mcdeint.c: В функции «filter_frame»:
 libavfilter/vf_mcdeint.c:189:5: предупреждение: «avcodec_encode_video2»
 устарело [-Wdeprecated-declarations]
      ret = avcodec_encode_video2(mcdeint->enc_ctx, &pkt, inpic,
 &got_frame);
      ^~~
 In file included from libavfilter/vf_mcdeint.c:54:
 ./libavcodec/avcodec.h:5446:5: замечание: объявлено здесь
  int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
      ^~~~~~~~~~~~~~~~~~~~~
 libavfilter/vf_mcdeint.c:193:5: предупреждение: «coded_frame» устарело
 [-Wdeprecated-declarations]
      frame_dec = mcdeint->enc_ctx->coded_frame;
      ^~~~~~~~~
 In file included from libavfilter/vf_mcdeint.c:54:
 ./libavcodec/avcodec.h:2802:35: замечание: объявлено здесь
      attribute_deprecated AVFrame *coded_frame;
                                    ^~~~~~~~~~~

 Patches should be submitted to the ffmpeg-devel mailing list and not this
 bug tracker.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7779>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list