[FFmpeg-soc] vf_overlay.c SIGSEGV on negative argument value

Maksym Veremeyenko verem at m1stereo.tv
Sun May 16 13:22:57 CEST 2010


Hi,

passing negative value for overlay filter argument:

     "movie=0:png:LOGO.png [logo]; [in][logo] overlay=10:-10:1 [out]"

cause /Segmentation fault/.

Gdb output:

[root at story-parts ffmpeg-r23145-avfilter]# gdb --args ./ffmpeg_g -i 
potap_nastya.avi -vf "movie=0:png:LOGO.png [logo]; [in][logo] 
overlay=10:-10:1 [out]" -f rawvideo -y /dev/null
GNU gdb (GDB) Fedora (7.0.1-45.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from 
/usr/local/src/enctools/ffmpeg-r23145-avfilter/ffmpeg_g...done.
(gdb) r
Starting program: 
/usr/local/src/enctools/ffmpeg-r23145-avfilter/ffmpeg_g -i 
potap_nastya.avi -vf movie=0:png:LOGO.png\ \[logo\]\;\ \[in\]\[logo\]\ 
overlay=10:-10:1\ \[out\] -f rawvideo -y /dev/null
warning: .dynamic section for "/lib/libz.so.1" is not at the expected 
address
warning: difference appears to be caused by prelink, adjusting expectations
[Thread debugging using libthread_db enabled]
FFmpeg version SVN-r23145, Copyright (c) 2000-2010 the FFmpeg developers
   built on May 16 2010 13:18:07 with gcc 4.4.3 20100127 (Red Hat 4.4.3-4)
   configuration: --prefix=/usr/local/enctools 
--extra-cflags=-I/usr/local/enctools/include 
--extra-ldflags=-L/usr/local/enctools/lib --enable-shared --enable-gpl 
--enable-version3 --enable-nonfree --enable-postproc --enable-avfilter 
--enable-avfilter-lavf --enable-pthreads --enable-bzlib 
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac 
--enable-libfaad --enable-libmp3lame --enable-libspeex 
--enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid 
--enable-zlib
   libavutil     50.15. 2 / 50.15. 2
   libavcodec    52.67. 0 / 52.67. 0
   libavformat   52.62. 0 / 52.62. 0
   libavdevice   52. 2. 0 / 52. 2. 0
   libavfilter    1.20. 0 /  1.20. 0
   libswscale     0.10. 0 /  0.10. 0
   libpostproc   51. 2. 0 / 51. 2. 0
Input #0, avi, from 'potap_nastya.avi':
   Duration: 00:01:17.28, start: 0.000000, bitrate: 30341 kb/s
     Stream #0.0: Video: dvvideo, yuv420p, 720x576, 25 tbr, 25 tbn, 25 tbc
     Stream #0.1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[overlay @ 0x80aeb30]auto-inserting filter 'auto-inserted scaler 0' 
between the filter 'Parsed filter 0' and the filter 'Parsed filter 1'
[scale @ 0x80af270]w:720 h:576 fmt:bgra -> w:720 h:576 fmt:yuva420p 
flags:a0000004
Output #0, rawvideo, to '/dev/null':
   Metadata:
     encoder         : Lavf52.62.0
     Stream #0.0: Video: rawvideo, yuv420p, 720x576, q=2-31, 200 kb/s, 
90k tbn, 25 tbc
Stream mapping:
   Stream #0.0 -> #0.0
Press [q] to stop encoding

Program received signal SIGSEGV, Segmentation fault.
0x00118565 in copy_blended (dst=<value optimized out>, x=<value 
optimized out>, y=<value optimized out>, src=0x80ac0f0,
     w=710, h=576, bpp=1, hsub=1, vsub=1) at libavfilter/vf_overlay.c:244
244	            *optr = (*optr * (0xff - a) + *iptr * a + 128) >> 8;
Missing separate debuginfos, use: debuginfo-install 
bzip2-libs-1.0.5-6.fc12.i686 glibc-2.11.1-4.i686 
libgcc-4.4.3-4.fc12.i686 libstdc++-4.4.3-4.fc12.i686 zlib-1.2.3-23.fc12.i686
(gdb) bt
#0  0x00118565 in copy_blended (dst=<value optimized out>, x=<value 
optimized out>, y=<value optimized out>, src=0x80ac0f0,
     w=710, h=576, bpp=1, hsub=1, vsub=1) at libavfilter/vf_overlay.c:244
#1  copy_image_yuv (dst=<value optimized out>, x=<value optimized out>, 
y=<value optimized out>, src=0x80ac0f0, w=710,
     h=576, bpp=1, hsub=1, vsub=1) at libavfilter/vf_overlay.c:277
#2  copy_image (dst=<value optimized out>, x=<value optimized out>, 
y=<value optimized out>, src=0x80ac0f0, w=710, h=576,
     bpp=1, hsub=1, vsub=1) at libavfilter/vf_overlay.c:290
#3  0x00118865 in request_frame (link=0x80aef50) at 
libavfilter/vf_overlay.c:352
#4  0x080518a9 in get_filtered_video_pic (ist=<value optimized out>, 
ist_index=<value optimized out>,
     ost_table=<value optimized out>, nb_ostreams=1, pkt=0xbffff404) at 
ffmpeg.c:365
#5  output_packet (ist=<value optimized out>, ist_index=<value optimized 
out>, ost_table=<value optimized out>,
     nb_ostreams=1, pkt=0xbffff404) at ffmpeg.c:1694
#6  0x080550d7 in av_transcode (nb_output_files=<value optimized out>, 
nb_input_files=<value optimized out>,
     nb_stream_maps=<value optimized out>, stream_maps=0x8066ae0, 
input_files=0x805e740, output_files=0x80649e0)
     at ffmpeg.c:2607
#7  0x08055f2b in main (argc=9, argv=0xbffff5e4) at ffmpeg.c:4303
(gdb)


-- 
________________________________________
Maksym Veremeyenko



More information about the FFmpeg-soc mailing list