[MPlayer-users] Re: altivec
Christoph Nägeli
chn at kbw.ch
Wed Oct 15 12:32:04 CEST 2003
Hi,
To answer your (Magnus Damm) question about the version. I first tried
the MPlayer-1.0pre2, but that didn't work so I now use the newest cvs
version.
I still have problems compiling mplayer with altivec support.
First I tried on my PowerBook G4 with gcc-3.3 (August Update from
Apple) on MacOS 10.2.8
I configured it normaly and then tried to compile it. The first problem
seems to be with the 'dcbzl' assembler instruction.
gcc output looks like this:
gcc -Wall -O4 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -pipe
-ffast-math -fomit-frame-pointer -no-cpp-precomp -DSYS_DARWIN
-Wl,-bind_at_load -DCONFIG_DARWIN -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o libpostproc/postprocess.o
libpostproc/postprocess.c
In file included from libpostproc/postprocess.c:492:
libpostproc/postprocess_template.c: In function `postProcess_C':
libpostproc/postprocess_template.c:2791: warning: unused variable
`mbWidth'
libpostproc/postprocess.c: At top level:
libpostproc/postprocess.c:118: warning: `clip_tab' defined but not used
gcc: -bind_at_load: linker input file unused because linking not done
gcc -Wall -O4 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -pipe
-ffast-math -fomit-frame-pointer -no-cpp-precomp -DSYS_DARWIN
-Wl,-bind_at_load -DCONFIG_DARWIN -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o ppc/dsputil_ppc.o
ppc/dsputil_ppc.c
avcodec.h:211: warning: `Motion_Est_QTab' defined but not used
{standard input}:67:dcbzl instruction is only for 64-bit
implementations (not allowed without -force_cpusubtype_ALL option)
{standard input}:93:dcbzl instruction is only for 64-bit
implementations (not allowed without -force_cpusubtype_ALL option)
{standard input}:144:dcbzl instruction is only for 64-bit
implementations (not allowed without -force_cpusubtype_ALL option)
.......
I thought about removing the -force_cpusubtype_ALL, so I used grep to
find that expression in the mplayer directory (incl. subdirectories)
but I couldn't find it.
After that I modified the header file dsputil_ppc.h that it always
defines NO_DCBZL. That worked for this problem (I don't use the dcbzl
instruction on a G4 anyway).
The next problem is then this:
gcc -Wall -O4 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -pipe
-ffast-math -fomit-frame-pointer -no-cpp-precomp -DSYS_DARWIN
-Wl,-bind_at_load -DCONFIG_DARWIN -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o ppc/dsputil_altivec.o
ppc/dsputil_altivec.c
ppc/dsputil_altivec.c: In function `pix_abs16x16_x2_altivec':
ppc/dsputil_altivec.c:52: error: syntax error before "unsigned"
ppc/dsputil_altivec.c:53: error: `vector' undeclared (first use in this
function)
ppc/dsputil_altivec.c:53: error: (Each undeclared identifier is
reported only once
ppc/dsputil_altivec.c:53: error: for each function it appears in.)
ppc/dsputil_altivec.c:59: error: `sad' undeclared (first use in this
function)
......
I think the modifier (?, word?) vector is unknown to the compiler.
I remembered that on 7 Oct, there was a message from Steven M. Schultz
on this mailing list about the same problem.
I read the all the mails about that and he wrote that he manually
edited the config.h file
#undef HAVE_ALTIVEC
=>
#define HAVE_ALTIVEC
But that didn't solve the it, now it appears even earlier in
imgrespample.c...
gcc -Wall -O4 -mcpu=7450 -mtune=7450 -maltivec -mabi=altivec -pipe
-ffast-math -fomit-frame-pointer -no-cpp-precomp -DSYS_DARWIN
-Wl,-bind_at_load -DCONFIG_DARWIN -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o imgresample.o imgresample.c
imgresample.c:276: error: parse error before "vector"
imgresample.c:276: warning: no semicolon at end of struct or union
imgresample.c:278: error: parse error before '}' token
imgresample.c:278: warning: type defaults to `int' in declaration of
`vec_uc_t'
.....
He said he would post this message to the ffmpeg mailing list so I also
had a look at the ffmpeg mailing list but I couldn't find any message
about this...
I was wondering these problems exists on other ppc's, too.
I also tried it on a PowerMac G5 1.8 and there was the same problem
with the dcbzl instruction...
I didn't modify the header since if I disable dcbzl manually with the
NO_DCBZL then the g5 uses the dcbz instruction and that shouldn't be
for performance reasons (the g5 runs MacOS 10.2.8, too with august
update of gcc (3.3)).
The last thing I did was compiling mplayer on a iBook (=> no altivec /
same settings).
That works without modifying any file.
Any ideas what else I should try?
Or why my compiler doesn't understand the vector modifier (altivec
specific things)?
Regards
Christoph
On Mittwoch, Oktober 15, 2003, at 12:52 Uhr, Magnus Damm wrote:
>
> Date: Tue, 14 Oct 2003 23:43:38 +0200
> From: Magnus Damm <damm at opensource.se>
> To: "MPlayer user's list." <mplayer-users at mplayerhq.hu>
> Subject: Re: [MPlayer-users] altivec
> Message-ID: <20031014234338.73081636.damm at opensource.se>
> In-Reply-To: <51E85392-FE40-11D7-9B35-000A95772E90 at kbw.ch>
> References: <51E85392-FE40-11D7-9B35-000A95772E90 at kbw.ch>
> Content-Type: text/plain; charset=ISO-8859-1
> MIME-Version: 1.0
> Content-Transfer-Encoding: 8bit
> Precedence: list
> Reply-To: "MPlayer user's list." <mplayer-users at mplayerhq.hu>
> Message: 3
>
> Hi there,
>
> I think the gcc version included with MacOS X supports altivec without
> that file. If you run Linux on your Mac (like I do) you will notice
> that
> the altivec implementation used by gcc under Linux includes a
> altivec.h.
> So you don't need it if you run OS X. And under Linux it's shipped
> with gcc.
>
> Did you use MPlayer-1.0pre2? If you are experiencing problems with
> enabling
> altivec under OS X, please report back to the list.
>
> Thanks.
>
> / magnus
>
> On Tue, 14 Oct 2003 14:17:03 +0200
> Christoph Nägeli <chn at kbw.ch> wrote:
>
>> [Automatic answer: RTFM (read DOCS, FAQ), also read
>> DOCS/bugreports.html]
>> Hello,
>>
>> The configuration script runs a test looking for a file called
>> altivec.h.
>> Where can I get that file? I found documentation about this file in
>> the
>> gcc documentation but I couldn't find the file itself.
>> Do I have to download it? If yes, where?
>>
>> Regards
>> Christoph
>>
>> _______________________________________________
>> RTFM!!! http://www.MPlayerHQ.hu/DOCS
>> Search: http://www.MPlayerHQ.hu/cgi-bin/htsearch
>> http://mplayerhq.hu/mailman/listinfo/mplayer-users
More information about the MPlayer-users
mailing list