[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