[FFmpeg-cvslog] r15595 - trunk/libavcodec/aac_parser.c
Måns Rullgård
mans
Tue Dec 2 01:50:10 CET 2008
Baptiste Coudurier <baptiste.coudurier at gmail.com> writes:
> Michael Niedermayer wrote:
>> On Tue, Dec 02, 2008 at 12:05:43AM +0000, M?ns Rullg?rd wrote:
>>> Michael Niedermayer <michaelni at gmx.at> writes:
>>>
>>>> On Sat, Oct 11, 2008 at 01:21:45PM +0200, mru wrote:
>>>>> Author: mru
>>>>> Date: Sat Oct 11 13:21:45 2008
>>>>> New Revision: 15595
>>>>>
>>>>> Log:
>>>>> aac_parser: fix strict aliasing violation
>>>> This change is insufficient, the code still is not working without
>>>> -fno-strict-aliasing
>>>>
>>>> gcc-4.3
>>>> .loc 1 37 0
>>>> movl %eax, -12(%ebp)
>>>> - movl %edx, -16(%ebp)
>>>> .loc 62 42 0
>>>> movl -15(%ebp), %eax
>>>>
>>>> gcc-4.4
>>>> .loc 1 37 0
>>>> - movl %edx, -16(%ebp)
>>>> movl %eax, -12(%ebp)
>>>> .loc 62 42 0
>>>> movl -15(%ebp), %eax
>>> Damn. It worked with all compilers I had installed at the time. Can
>>> you think of a solution?
>>
>> in order of most ugly to least
>> 1. lots and more union
>> 2. randomly change the code until it works with the current gccs
>> 3. pick another bitstream reader, i think ones that read bytes should work,
>> but i did not test this
>> 4. add -fno-strict-aliasing to aac_parser.c (and possibly ac3_parser.c)
>> compilation flags
>
> My 2 cents: do you know why this does not happen with ac3 parser ?
Because there's a function call there preventing the compiler from
seeing this "optimisation".
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list