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

Bobby Bingham uhmmmm at gmail.com
Fri Mar 26 06:04:21 CET 2010


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.

> Thanks,
> Brandon
> _______________________________________________
> FFmpeg-soc mailing list
> FFmpeg-soc at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc


-- 
Bobby Bingham
このメールは再利用されたバイトでできている。


More information about the FFmpeg-soc mailing list