[FFmpeg-cvslog] r15595 - trunk/libavcodec/aac_parser.c
Baptiste Coudurier
baptiste.coudurier
Tue Dec 2 02:00:05 CET 2008
M?ns Rullg?rd wrote:
> 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".
>
Wouldn't this be an acceptable solution ?
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
checking for life_signs in -lkenny... no
More information about the ffmpeg-cvslog
mailing list