I am trying to overlay a transparent PNG (using alpha blending) of size 800x600 on an 11-second wmv file of size 800x600. In doing so, I get a Segmentation Fault immediately after the "Press [q] to stop encoding" message comes up.
I already filed a bug at https://roundup.ffmpeg.org/issue1841 but cehoyos (the only responder thus far) said, "Imo, problems with a patch from the soc repository should be reported to the ffmpeg-soc mailing list." I'll provide here all of the information that I have provided so far in my bug report. The command I executed: ffmpeg -y -i intro-base.wmv -vfilters "movie=0:png:title-overlay.png [title]; [in][title] overlay=0:0:1 [out]" -vcodec wmv2 intro-title.wmv I have tried it both with and without the "[out]", with no change. When I omit all -vfilters stuff, the command works fine, so I'm quite sure the segfault is happening as a result of the libavfilter operations. My libavfilter info: $ svn info libavfilter Path: libavfilter URL: svn://svn.ffmpeg.org/soc/libavfilter Repository Root: svn://svn.ffmpeg.org/soc Repository UUID: 66570020-b32e-0410-962d-e44e8f9afd43 Revision: 5717 Node Kind: directory Schedule: normal Last Changed Author: stefano Last Changed Rev: 5717 Last Changed Date: 2010-03-24 19:25:00 -0400 (Wed, 24 Mar 2010) To build ffmpeg with libavfilter, I followed this process: http://ubuntuforums.org/showthread.php?t=1438052 (skip down to "Updating to latest..." for a quick look at how I'm doing it). I wrote that guide yesterday; it's quite possible I'm making a mistake in the build process. My ffmpeg info: $ ffmpeg -v 9 -loglevel 99 -i intro-base.wmv FFmpeg version SVN-r22626, Copyright (c) 2000-2010 the FFmpeg developers built on Mar 25 2010 02:46:11 with gcc 4.4.1 configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-debug libavutil 50.12. 0 / 50.12. 0 libavcodec 52.59. 0 / 52.59. 0 libavformat 52.56. 1 / 52.56. 1 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.18. 0 / 1.18. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 [NULL @ 0x90d93d0]Probed with size=2048 and score=100 [asf @ 0x90d93d0]Unsupported value type 1 in tag ASFLeakyBucketPairs. [wmv3 @ 0x90e7eb0]Header: 47F10801 [wmv3 @ 0x90e7eb0]Profile 1: frmrtq_postproc=3, bitrtq_postproc=31 LoopFilter=0, MultiRes=0, FastUVMC=0, Extended MV=0 Rangered=0, VSTransform=1, Overlap=0, SyncMarker=0 DQuant=0, Quantizer mode=0, Max B frames=0 [wmv3 @ 0x90e7eb0]Extra data: 8 bits left, value: 0 [asf @ 0x90d93d0]All info found Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 15.00 (15/1) Input #0, asf, from 'intro-base.wmv': Metadata: title : GS-IntroV2 author : copyright : comment : WMFSDKVersion : 11.0.5721.5145 WMFSDKNeeded : 0.0.0.0000 IsVBR : 1 VBR Peak : 240 Buffer Average : 716 Duration: 00:00:11.33, start: 5.000000, bitrate: 409 kb/s Stream #0.0(eng), 8, 1/1000: Audio: wmav2, 44100 Hz, 1 channels, s16, 48 kb/s Stream #0.1(eng), 21, 1/1000: Video: wmv3, yuv420p, 800x600, 1/1000, 343 kb/s, 15 tbr, 1k tbn, 1k tbc The program as run under gdb $ gdb --args ~/ffmpeg-x264-avfilter/libavfilter/ffmpeg/ffmpeg_g -y -i intro-base.wmv -vfilters "movie=0:png:title-overlay.png [title]; [in][title] overlay=0:0:1" -vcodec wmv2 intro-title.wmv GNU gdb (GDB) 7.0-ubuntu 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 "i486-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/brandon/ffmpeg-x264-avfilter/libavfilter/ffmpeg/ffmpeg_g...done. (gdb) r Starting program: /home/brandon/ffmpeg-x264-avfilter/libavfilter/ffmpeg/ffmpeg_g -y -i intro-base.wmv -vfilters movie=0:png:title-overlay.png\ \[title\]\;\ \[in\]\[title\]\ overlay=0:0:1 -vcodec wmv2 intro-title.wmv [Thread debugging using libthread_db enabled] FFmpeg version SVN-r22626, Copyright (c) 2000-2010 the FFmpeg developers built on Mar 25 2010 02:46:11 with gcc 4.4.1 configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-debug libavutil 50.12. 0 / 50.12. 0 libavcodec 52.59. 0 / 52.59. 0 libavformat 52.56. 1 / 52.56. 1 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.18. 0 / 1.18. 0 libswscale 0.10. 0 / 0.10. 0 libpostproc 51. 2. 0 / 51. 2. 0 [wmv3 @ 0x8c94eb0]Extra data: 8 bits left, value: 0 Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 15.00 (15/1) Input #0, asf, from 'intro-base.wmv': Metadata: title : GS-IntroV2 author : copyright : comment : WMFSDKVersion : 11.0.5721.5145 WMFSDKNeeded : 0.0.0.0000 IsVBR : 1 VBR Peak : 240 Buffer Average : 716 Duration: 00:00:11.33, start: 5.000000, bitrate: 409 kb/s Stream #0.0(eng): Audio: wmav2, 44100 Hz, 1 channels, s16, 48 kb/s Stream #0.1(eng): Video: wmv3, yuv420p, 800x600, 343 kb/s, 15 tbr, 1k tbn, 1k tbc [overlay @ 0x8cc55c0]auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed filter 0' and the filter 'Parsed filter 1' [scale @ 0x8cc5d10]w:800 h:600 fmt:yuva420p [wmv3 @ 0x8c94eb0]Extra data: 8 bits left, value: 0 Output #0, asf, to 'intro-title.wmv': Metadata: WM/EncodingSettings: Lavf52.56.1 Stream #0.0(eng): Video: wmv2, yuv420p, 800x600, q=2-31, 200 kb/s, 1k tbn, 15 tbc Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, 1 channels, s16, 64 kb/s Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 Press [q] to stop encoding Program received signal SIGSEGV, Segmentation fault. 0x08076ace in output_packet (ist=0x8ca3a10, ist_index=<value optimized out>, ost_table=<value optimized out>, nb_ostreams=2, pkt=0xbfffe460) at ffmpeg.c:1692 1692 ost->st->codec->sample_aspect_ratio = ist->picref->pixel_aspect; (gdb) bt #0 0x08076ace in output_packet (ist=0x8ca3a40, ist_index=<value optimized out>, ost_table=<value optimized out>, nb_ostreams=2, pkt=0xbfffe460) at ffmpeg.c:1692 #1 0x0807ccf2 in av_encode (nb_output_files=<value optimized out>, nb_input_files=<value optimized out>, nb_stream_maps=<value optimized out>, stream_maps=<value optimized out>, input_files=<value optimized out>, output_files=<value optimized out>) at ffmpeg.c:2617 #2 0x0807d71b in main (argc=9, argv=0xbffff3a4) at ffmpeg.c:4375 (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0x8076aae to 0x8076aee: 0x08076aae <output_packet+2350>: add %al,-0x7bf0fc08(%ebx) 0x08076ab4 <output_packet+2356>: nop 0x08076ab5 <output_packet+2357>: or %al,(%eax) 0x08076ab7 <output_packet+2359>: add %al,-0x7f7af040(%ebp) 0x08076abd <output_packet+2365>: or %al,(%eax) 0x08076abf <output_packet+2367>: add %cl,-0x4372afbb(%ebx) 0x08076ac5 <output_packet+2373>: and $0x80,%al 0x08076ac7 <output_packet+2375>: add (%eax),%al 0x08076ac9 <output_packet+2377>: add %cl,-0x7487db8c(%ebx) 0x08076acf <output_packet+2383>: push %eax 0x08076ad0 <output_packet+2384>: inc %eax 0x08076ad1 <output_packet+2385>: mov 0x3c(%eax),%eax 0x08076ad4 <output_packet+2388>: mov %edx,0x18c(%esi) 0x08076ada <output_packet+2394>: mov %eax,0x188(%esi) 0x08076ae0 <output_packet+2400>: mov %edi,(%esp) 0x08076ae3 <output_packet+2403>: lea 0x1b4(%esp),%edi 0x08076aea <output_packet+2410>: call 0x837b6a0 <avcodec_get_frame_defaults> End of assembler dump. (gdb) info all-registers eax 0x0 0 ecx 0x1 1 edx 0x2 2 ebx 0x8ca3ae0 147471072 esp 0xbfffdde0 0xbfffdde0 ebp 0x8ca3a40 0x8ca3a40 esi 0x8c96500 147416320 edi 0xbfffe060 -1073749920 eip 0x8076ace 0x8076ace <output_packet+2382> eflags 0x10246 [ PF ZF IF RF ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x33 51 st0 -nan(0x8080808080808080) (raw 0xffff8080808080808080) st1 -nan(0x80008000800080) (raw 0xffff0080008000800080) st2 -nan(0x8080808080808080) (raw 0xffff8080808080808080) st3 -nan(0x80008000800080) (raw 0xffff0080008000800080) st4 -nan(0x8080808080808080) (raw 0xffff8080808080808080) st5 -nan(0x80008000800080) (raw 0xffff0080008000800080) st6 -nan(0x8080808080808080) (raw 0xffff8080808080808080) st7 0 (raw 0x00000000000000000000) fctrl 0x37f 895 fstat 0x4020 16416 ftag 0xffff 65535 fiseg 0x73 115 fioff 0x8077eb4 134708916 foseg 0x7b 123 fooff 0x8c94d0c 147410188 fop 0x15e 350 xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, ---Type <return> to continue, or q <return> to quit--- uint128 = 0x00000000000000000000000000000000} xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000} mxcsr 0x1f80 [ IM DM ZM OM UM PM ] mm0 {uint64 = 0x8080808080808080, v2_int32 = {0x80808080, 0x80808080}, v4_int16 = {0x8080, 0x8080, 0x8080, 0x8080}, v8_int8 = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}} mm1 {uint64 = 0x80008000800080, v2_int32 = {0x800080, 0x800080}, v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0}} mm2 {uint64 = 0x8080808080808080, v2_int32 = {0x80808080, 0x80808080}, v4_int16 = {0x8080, 0x8080, 0x8080, 0x8080}, v8_int8 = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}} mm3 {uint64 = 0x80008000800080, v2_int32 = {0x800080, 0x800080}, v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0}} mm4 {uint64 = 0x8080808080808080, v2_int32 = {0x80808080, 0x80808080}, v4_int16 = {0x8080, 0x8080, 0x8080, 0x8080}, v8_int8 = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}} mm5 {uint64 = 0x80008000800080, v2_int32 = {0x800080, 0x800080}, v4_int16 = {0x80, 0x80, 0x80, 0x80}, v8_int8 = {0x80, 0x0, 0x80, 0x0, 0x80, 0x0, 0x80, 0x0}} mm6 {uint64 = 0x8080808080808080, v2_int32 = {0x80808080, 0x80808080}, v4_int16 = {0x8080, 0x8080, 0x8080, 0x8080}, v8_int8 = {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}} ---Type <return> to continue, or q <return> to quit--- mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} If there's anything else I can provide to help this along, I'd be happy to do so. I can upload the 2 sample files somewhere if that will be of assistance. _______________________________________________ FFmpeg-soc mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
