[Ffmpeg-devel] sse sigsegv and libavcodec/wmadec.c

Michael Niedermayer michaelni
Wed Dec 6 16:08:34 CET 2006


Hi

On Wed, Dec 06, 2006 at 02:35:16PM +0100, Benjamin Larsson wrote:
> Michael Niedermayer skrev:
> >Hi
> >
> >On Fri, Dec 01, 2006 at 10:40:53PM +0100, Franz Bakan wrote:
> >  
> >>Hi,
> >>
> >>wmadec.c line 720 and 1110 :
> >> DECLARE_ALIGNED_16()
> >>does not work for stack-variables inside functions.
> >>(at least not for GCC 331 on OS/2) but IIRC this is a
> >>cross-platform-restriction.
> >>If I move the two declarations to the top of the file
> >>I get rid of these nasty SIGSEGVs on my PIII computer.
> >>
> >>Please patch
> >>    
> >
> >patch rejected not thread safe
> >
> >furthermore if the compiler cannot gurantee the specfied alignment then it
> >has to fail hard not randomly provide less alignemnt, this is a compiler 
> >bug
> >(= generates invalid code)
> >
> >[...]
> >  
> 
> Hi, do you have any good suggestion how this can be fixed without fixing 
> the compiler. This affects all codecs that needs aligned float buffers 
> when using sse on windows (and other platforms). We could try to 
> manually align the contexts (hacky but could work) or should we disable 
> sse on platforms with broken compilers ?

why exactly does gcc on windows fail to provide the specified alignment while
it works on linux? are all gcc versions affected?
if its just gcc 3 then id say drop official gcc 3 support for windows

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you really think that XML is the answer, then you definitly missunderstood
the question -- Attila Kinali




More information about the ffmpeg-devel mailing list