[FFmpeg-trac] #7441(ffmpeg:new): deshake filter crashes

FFmpeg trac at avcodec.org
Mon Sep 17 14:02:03 EEST 2018


#7441: deshake filter crashes
--------------------------------+---------------------------------------
             Reporter:  Chris   |                     Type:  defect
               Status:  new     |                 Priority:  normal
            Component:  ffmpeg  |                  Version:  unspecified
             Keywords:          |               Blocked By:
             Blocking:          |  Reproduced by developer:  0
Analyzed by developer:  0       |
--------------------------------+---------------------------------------
 Summary of the bug:
 ffmpeg deshake filter with blocksize > 20 crashes every time.

 How to reproduce:
 {{{
 Starting program: ffmpeg.exe -i MVI_0288.MOV -filter:v
 deshake=blocksize=64 -loglevel debug MVI_0288_deshake.avi
 [New Thread 12044.0x1640]
 ffmpeg version N-91961-g5109c38162 Copyright (c) 2000-2018 the FFmpeg
 developers
   built with gcc 8.2.1 (GCC) 20180813
   configuration: --disable-static --enable-shared --enable-gpl --enable-
 version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv
 --enable-libass --enable-libbluray --enable-libfreetype --enable-
 libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
 libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy
 --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx
 --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
 --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-
 libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-
 libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va
 --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
   libavutil      56. 19.101 / 56. 19.101
   libavcodec     58. 30.100 / 58. 30.100
   libavformat    58. 18.101 / 58. 18.101
   libavdevice    58.  4.103 / 58.  4.103
   libavfilter     7. 32.100 /  7. 32.100
   libswscale      5.  2.100 /  5.  2.100
   libswresample   3.  2.100 /  3.  2.100
   libpostproc    55.  2.100 / 55.  2.100
 Splitting the commandline.
 Reading option '-i' ... matched as input url with argument 'MVI_0288.MOV'.
 Reading option '-filter:v' ... matched as option 'filter' (set stream
 filtergraph) with argument 'deshake=blocksize=64'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument 'debug'.
 Reading option 'MVI_0288_deshake.avi' ... 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 MVI_0288.MOV.
 Successfully parsed a group of options.
 Opening an input file: MVI_0288.MOV.
 [NULL @ 0000000001d17080] Opening 'MVI_0288.MOV' for reading
 [file @ 0000000001d17a80] Setting default whitelist 'file,crypto'
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] Format
 mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] ISO: File Type Major Brand:
 qt
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] Unknown dref type 0x73696c61
 size 12
     Last message repeated 1 times
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] Before
 avformat_find_stream_info() pos: 221312516 bytes read:69432 seeks:2
 nb_streams:2
 [h264 @ 0000000001d2a0c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
 [h264 @ 0000000001d2a0c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
 [h264 @ 0000000001d2a0c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
 [h264 @ 0000000001d2a0c0] Format yuvj420p chosen by get_format().
 [h264 @ 0000000001d2a0c0] Reinit context to 1920x1088, pix_fmt: yuvj420p
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] All info found
 [mov,mp4,m4a,3gp,3g2,mj2 @ 0000000001d17080] After
 avformat_find_stream_info() pos: 459232 bytes read:430352 seeks:3
 frames:46
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_0288.MOV':
   Metadata:
     major_brand     : qt
     minor_version   : 537331968
     compatible_brands: qt  CAEP
     com.apple.quicktime.make: Canon
     com.apple.quicktime.model: Canon EOS 700D
     com.apple.quicktime.rating.user: 0.000000
     creation_time   : 2018-09-11T12:44:35.000000Z
   Duration: 00:00:38.80, start: 0.000000, bitrate: 45631 kb/s
     Stream #0:0(eng), 1, 1/25000: Video: h264 (Constrained Baseline), 1
 reference frame (avc1 / 0x31637661), yuvj420p(pc, bt709, left), 1920x1080
 (1920x1088), 0/1, 44074 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
     Metadata:
       creation_time   : 2018-09-11T12:44:35.000000Z
     Stream #0:1(eng), 45, 1/48000: Audio: pcm_s16le (sowt / 0x74776F73),
 48000 Hz, stereo, s16, 1536 kb/s (default)
     Metadata:
       creation_time   : 2018-09-11T12:44:35.000000Z
 Successfully opened the file.
 Parsing a group of options: output url MVI_0288_deshake.avi.
 Applying option filter:v (set stream filtergraph) with argument
 deshake=blocksize=64.
 Successfully parsed a group of options.
 Opening an output file: MVI_0288_deshake.avi.
 [file @ 0000000001db8300] Setting default whitelist 'file,crypto'
 Successfully opened the file.
 detected 4 logical cores
 [h264 @ 0000000001dba940] nal_unit_type: 7(SPS), nal_ref_idc: 3
 [h264 @ 0000000001dba940] nal_unit_type: 8(PPS), nal_ref_idc: 3
 [New Thread 12044.0x52e8]
 [New Thread 12044.0x3a40]
 [New Thread 12044.0x202c]
 [New Thread 12044.0x2f14]
 [New Thread 12044.0x5070]
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
   Stream #0:1 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
 Press [q] to stop, [?] for help
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [New Thread 12044.0x50fc]
 [New Thread 12044.0x4fb0]
 [New Thread 12044.0x40d8]
 [New Thread 12044.0x52cc]
 [graph_1_in_0_1 @ 0000000002993f00] Setting 'time_base' to value '1/48000'
 [graph_1_in_0_1 @ 0000000002993f00] Setting 'sample_rate' to value '48000'
 [graph_1_in_0_1 @ 0000000002993f00] Setting 'sample_fmt' to value 's16'
 [graph_1_in_0_1 @ 0000000002993f00] Setting 'channel_layout' to value
 '0x3'
 [graph_1_in_0_1 @ 0000000002993f00] tb:1/48000 samplefmt:s16
 samplerate:48000 chlayout:0x3
 [format_out_0_1 @ 0000000002994a40] Setting 'sample_fmts' to value
 's32p|fltp|s16p'
 [format_out_0_1 @ 0000000002994a40] Setting 'sample_rates' to value
 '44100|48000|32000|22050|24000|16000|11025|12000|8000'
 [format_out_0_1 @ 0000000002994a40] Setting 'channel_layouts' to value
 '0x4|0x3'
 [format_out_0_1 @ 0000000002994a40] auto-inserting filter
 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter
 'format_out_0_1'
 [AVFilterGraph @ 0000000002992980] query_formats: 4 queried, 6 merged, 3
 already done, 0 delayed
 [auto_resampler_0 @ 0000000002995840] picking s16p out of 3 ref:s16
 [auto_resampler_0 @ 0000000002995840] [SWR @ 0000000002996840] Using s16p
 internally between filters
 [auto_resampler_0 @ 0000000002995840] ch:2 chl:stereo fmt:s16 r:48000Hz ->
 ch:2 chl:stereo fmt:s16p r:48000Hz
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
     Last message repeated 45 times
 [h264 @ 0000000001dba940] nal_unit_type: 5(IDR), nal_ref_idc: 3
 [h264 @ 0000000001dba940] Format yuvj420p chosen by get_format().
 [h264 @ 0000000001dba940] Reinit context to 1920x1088, pix_fmt: yuvj420p
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0000000001dbf600] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 3
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 000000000293a740] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 3
 cur_dts is invalid (this is harmless if it occurs once at the start per
 stream)
 [h264 @ 0000000002957040] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 3
 [New Thread 12044.0x2c64]
 [h264 @ 0000000002973a80] [New Thread 12044.0xd48]
 nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
 [New Thread 12044.0x4ac4]
 [New Thread 12044.0xf14]
 [Parsed_deshake_0 @ 00000000055ca400] Setting 'blocksize' to value '64'
 [Parsed_deshake_0 @ 00000000055ca400] cx: -1, cy: -1, cw: -1, ch: -1, rx:
 16, ry: 16, edge: 3 blocksize: 64 contrast: 125 search: 0
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'video_size' to
 value '1920x1080'
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'pix_fmt' to
 value '12'
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'time_base' to
 value '1/25000'
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'pixel_aspect'
 to value '0/1'
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'sws_param' to
 value 'flags=2'
 [graph 0 input from stream 0:0 @ 00000000058bd580] Setting 'frame_rate' to
 value '25/1'
 [graph 0 input from stream 0:0 @ 00000000058bd580] w:1920 h:1080
 pixfmt:yuvj420p tb:1/25000 fr:25/1 sar:0/1 sws_param:flags=2
 [format @ 00000000058c12c0] Setting 'pix_fmts' to value 'yuv420p'
 [auto_scaler_0 @ 00000000058c2a80] Setting 'flags' to value 'bicubic'
 [auto_scaler_0 @ 00000000058c2a80] w:iw h:ih flags:'bicubic' interl:0
 [format @ 00000000058c12c0] auto-inserting filter 'auto_scaler_0' between
 the filter 'Parsed_deshake_0' and the filter 'format'
 [AVFilterGraph @ 00000000055cb300] query_formats: 4 queried, 2 merged, 1
 already done, 0 delayed
 [swscaler @ 00000000058c2fc0] deprecated pixel format used, make sure you
 did set range correctly
 [auto_scaler_0 @ 00000000058c2a80] w:1920 h:1080 fmt:yuvj420p sar:0/1 ->
 w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x4
 [New Thread 12044.0x4378]
 [New Thread 12044.0x3f2c]
 [New Thread 12044.0x3b94]
 [New Thread 12044.0x1fd8]
 [mpeg4 @ 0000000001d1ac80] intra_quant_bias = 0 inter_quant_bias = -64
 [avi @ 0000000001d19100] reserve_index_space:0 master_index_max_size:256
 [avi @ 0000000001d19100] duration_est:38.800, filesize_est:0.0GiB,
 master_index_max_size:256
 Output #0, avi, to 'MVI_0288_deshake.avi':
   Metadata:
     major_brand     : qt
     minor_version   : 537331968
     compatible_brands: qt  CAEP
     com.apple.quicktime.make: Canon
     com.apple.quicktime.model: Canon EOS 700D
     com.apple.quicktime.rating.user: 0.000000
     ISFT            : Lavf58.18.101
     Stream #0:0(eng), 0, 1/25: Video: mpeg4, 1 reference frame (FMP4 /
 0x34504D46), yuv420p(left), 1920x1080, 0/1, q=2-31, 200 kb/s, 25 fps, 25
 tbn, 25 tbc (default)
     Metadata:
       creation_time   : 2018-09-11T12:44:35.000000Z
       encoder         : Lavc58.30.100 mpeg4
     Side data:
       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
     Stream #0:1(eng), 0, 3/125: Audio: mp3 (libmp3lame) (U[0][0][0] /
 0x0055), 48000 Hz, stereo, s16p, delay 1105 (default)
     Metadata:
       creation_time   : 2018-09-11T12:44:35.000000Z
       encoder         : Lavc58.30.100 libmp3lame
 Clipping frame in rate conversion by 0.000008
 [h264 @ 0000000001dba940] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 3
 [h264 @ 0000000001dbf600] nal_unit_type: 1(Coded slice of a non-IDR
 picture), nal_ref_idc: 3
 frame=    3 fps=0.0 q=2.0 size=     266kB time=00:00:00.86
 bitrate=2519.1kbits/s speed= 1.4x
 Program received signal SIGSEGV, Segmentation fault.
 0x000007fee28adca0 in avfilter_transform () from avfilter-7.dll
 }}}

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


More information about the FFmpeg-trac mailing list