Re: compiling mplayer with gcc 4.6, broken audio decoding

On Thursday, 31 March 2011 at 12:12, Kazuo Teramoto wrote:
> On Thu, Mar 31, 2011 at 6:25 AM, Kazuo Teramoto <kaz.rag <at> gmail.com> wrote:
> > But if I change the -O2 to -O0, I don't get the warning AND I don't
> > get the very high pitch sound with mp3lib.
> >
> > So, in summary compiling the mp3lib/dct64_sse.c with gcc 4.6 and -O0,
> > I don't get the high pitch sound with mp3lib.
> >
> 
> I learned about the --save-temps! (sorry about my lack of gcc expertise =])
> 
> So I'm attaching the .s of -O1 and -O0 of the dct64_sse.c file compile
> with the gcc 4.6 on my machine.

Hm, looks like gcc is doing something funny with the nnnn table, folding
it into one 1<<31 entry and ignoring aligned(16).

Regards,
Dominik

--

-- 
MPlayer http://mplayerhq.hu | RPM Fusion http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
	-- from "Collected Sayings of Muad'Dib" by the Princess Irulan
Kazuo Teramoto | 5 Apr 2011 00:12
Picon
Gravatar

Re: compiling mplayer with gcc 4.6, broken audio decoding

On Mon, Apr 4, 2011 at 1:50 PM, Dominik 'Rathann' Mierzejewski
<dominik <at> greysector.net> wrote:
> On Thursday, 31 March 2011 at 12:12, Kazuo Teramoto wrote:
>> So I'm attaching the .s of -O1 and -O0 of the dct64_sse.c file compile
>> with the gcc 4.6 on my machine.
>
> Hm, looks like gcc is doing something funny with the nnnn table, folding
> it into one 1<<31 entry and ignoring aligned(16).

I'm now at home, so I have the .s of gcc 4.5.2 and gcc 4.6.0.

They are compiled with the following line:

gcc-VERSION --save-temps -fverbose-asm -MD -MP -Wundef -Wall \
-Wno-switch -Wno-parentheses -Wpointer-arith -Wredundant-decls \
-Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization \
-Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -O4 \
-march=native -mtune=native -ffast-math -fomit-frame-pointer \
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE \
-Ilibdvdread4 -I. -Iffmpeg -D_REENTRANT -I/usr/include/directfb \
-I/usr/include/ -D_REENTRANT -I/usr/include/freetype2 \
-I/usr/include/bs2b -DFF_API_MAX_STREAMS=0 \
-I/usr/include/schroedinger-1.0 -I/usr/include/orc-0.4 -c -o \
mp3lib/dct64_sse.o mp3lib/dct64_sse.c

The conclusion of the Guillaume test is: compiling all with gcc-4.5.2
works, compiling only mp3lib/dct64_sse.c with gcc-4.6.0 and all other
files with gcc-4.5.2 give me a broken mp3lib.

Regards,
(Continue reading)

Alexander Strange | 7 Apr 2011 06:21
Gravatar

Re: compiling mplayer with gcc 4.6, broken audio decoding


On Apr 4, 2011, at 12:50 PM, Dominik 'Rathann' Mierzejewski wrote:

> On Thursday, 31 March 2011 at 12:12, Kazuo Teramoto wrote:
>> On Thu, Mar 31, 2011 at 6:25 AM, Kazuo Teramoto <kaz.rag <at> gmail.com> wrote:
>>> But if I change the -O2 to -O0, I don't get the warning AND I don't
>>> get the very high pitch sound with mp3lib.
>>> 
>>> So, in summary compiling the mp3lib/dct64_sse.c with gcc 4.6 and -O0,
>>> I don't get the high pitch sound with mp3lib.
>>> 
>> 
>> I learned about the --save-temps! (sorry about my lack of gcc expertise =])
>> 
>> So I'm attaching the .s of -O1 and -O0 of the dct64_sse.c file compile
>> with the gcc 4.6 on my machine.
> 
> Hm, looks like gcc is doing something funny with the nnnn table, folding
> it into one 1<<31 entry and ignoring aligned(16).
> 
> Regards,
> Dominik

There is probably an asm input constraint referring to nnnn[0] or something.
gcc 4.6 will remove the rest of the table and keep the 0 entry in this case.

That reminds me, I found the same problem in swscale and forgot to fix it.

Gmane