[Ffmpeg-devel] sse sigsegv and libavcodec/wmadec.c
Benjamin Larsson
banan
Wed Dec 6 22:24:29 CET 2006
Michael Niedermayer wrote:
>Hi
>
>On Wed, Dec 06, 2006 at 04:29:44PM +0100, Benjamin Larsson wrote:
>
>
>>Michael Niedermayer skrev:
>>
>>
>>>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
>>>
>>>[...]
>>>
>>>
>>>
>>It fails to respect the align attribute in structs, so when properly
>>aligning a codec context with malloc the actual struct members don't get
>>aligned properly. I don't know exactly what versions are affected, but
>>this is causing problems for gcc 2.95 on BeOS also.
>>
>>
>
>order struct members so that correct alignment is provided if everything
>gets packed
>
>[...]
>
>
>
I might have been wrong, I think it can't align the stackframe
variables. One solution would be to move them to the context if that is
an acceptable solution.
MvH
Benjamin Larsson
--
new tiny signature
More information about the ffmpeg-devel
mailing list