[FFmpeg-soc] Segmentation Fault when using -vfilters "movie ...; overlay"

Brandon Mintern bmintern at gmail.com
Fri Mar 26 13:36:24 CET 2010


On Fri, Mar 26, 2010 at 1:04 AM, Bobby Bingham <uhmmmm at gmail.com> wrote:
> On Fri, 26 Mar 2010 00:14:12 -0400
> Brandon Mintern <bmintern at gmail.com> wrote:
>
>> On Thu, Mar 25, 2010 at 9:25 PM, Stefano Sabatini
>> <stefano.sabatini-lala at poste.it> wrote:
>> > On date Thursday 2010-03-25 20:15:27 -0400, Brandon Mintern encoded:
>> >> 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.
>> > [...]
>> >> 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.
>> >
>> > Can you reproduce the same crash also with ffplay -vfilters "..." (I
>> > cannot). Did you tried with other files or the crash only happens with
>> > that particular file?
>> >
>> > In the last case yes, uploading the files somewhere may be of help.
>> >
>> > Regards.
>> > _______________________________________________
>> > FFmpeg-soc mailing list
>> > FFmpeg-soc at mplayerhq.hu
>> > https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
>> >
>>
>> Here's what ffplay gives me:
>>
>> $ ffplay -vfilters "movie=0:png:title-overlay.png [title]; [in][title]
>> overlay=0:0:1" intro-base.wmv
>> FFplay version SVN-r22626, Copyright (c) 2003-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 @ 0xa3f9150]Extra data: 8 bits left, value: 0
>> 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
>> [wmv3 @ 0xa3f9150]Extra data: 8 bits left, value: 0
>> [overlay @ 0xa538810]auto-inserting filter 'auto-inserted scaler 0'
>> between the filter 'Parsed filter 0' and the filter 'Parsed filter 1'
>> [scale @ 0xa53b9a0]w:800 h:600 fmt:yuva420p
>>   16.33 A-V:-1269576481.385 s:0.0 aq=    0KB vq= 4657KB sq=    0B f=0/0
>>
>> It just seems to run indefinitely without ever playing anything. The
>> bottom line is displaying what it showed when I suspended it after it
>> ran for about 10 minutes or so. The number after A-V continues to
>> constantly grow (get more negative?) and vq constantly grows as well.
>>
>> The files (title-overlay.png and intro-base.wmv) are now hosted at
>> http://bmintern.homeunix.com/~brandon/samples/
>>
>
> An immediate solution to your problem is to resave the PNG image with 8
> bits per color channel instead of 16.  It looks like our PNG decoder
> doesn't support 16 bits per channel.  This means the movie filter
> doesn't output a single frame, so the overlay filter doesn't either,
> and ffmpeg doesn't handle it gracefully.
>
> I won't have time to dig into it in more depth until next week
> sometime.  Looks like this will hold up me applying the ffplay DR patch
> as well, as this works in ffplay after converting to 8 bits/channel,
> but not with that patch.  Valgrind reports a bunch of accesses by MMX
> code in the vc1 decoder to memory within 8 bytes or so after the end of
> space allocated for a frame, so I'm guessing it has to with insufficient
> linesize alignment in the allocated frame.
>
> --
> Bobby Bingham
> このメールは再利用されたバイトでできている。
> _______________________________________________
> FFmpeg-soc mailing list
> FFmpeg-soc at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc

Thanks a lot, I really appreciate you guys looking into this for me.
I'm not sure why ImageMagick's default was to save a black/gray image
as 16-bit PNG. I'm going to take those files down now.

Brandon


More information about the FFmpeg-soc mailing list