[Ffmpeg-devel] ffmepg on Intel Macs
Simon Urbanek
s.u
Mon Mar 6 04:51:11 CET 2006
As mentioned earlier, ffmpeg doesn't compile if sse is on. It fails
in many places, all of them in assembler, examples below. My guess is
that the main reason is that there is no gas for OS X, because gas
doesn't support Mach-O object format. Apple supplies their own
assembler which is based on gas but it seems that ffmpeg uses some
non-standard directives that only proper gas understands (or at least
Apple's as doesn't).
Some of the problems:
cc -O3 -g -Wall -Wno-switch -no-cpp-precomp -pipe -fomit-frame-
pointer -force_cpusubtype_ALL -Wno-sign-compare -march=prescott -
mdynamic-no-pic -DHAVE_AV_CONFIG_H -I.. -I/Builds/unix/ffmpeg/
libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -
c -o i386/fdct_mmx.o i386/fdct_mmx.c
{standard input}:unknown:file contains unmatched .macro and .endmacro
for: FDCT_ROW_SSE2_H1it
make[1]: *** [i386/fdct_mmx.o] Error 1
make: *** [lib] Error 2
cc -O3 -g -Wall -Wno-switch -no-cpp-precomp -pipe -fomit-frame-
pointer -force_cpusubtype_ALL -Wno-sign-compare -march=prescott -
mdynamic-no-pic -DHAVE_AV_CONFIG_H -I.. -I/Builds/unix/ffmpeg/
libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -
c -o i386/dsputil_mmx.o i386/dsputil_mmx.c
In file included from i386/dsputil_mmx.c:2492:
i386/h264dsp_mmx.c:49:1: warning: "SBUTTERFLY" redefined
i386/dsputil_mmx.c:1525:1: warning: this is the location of the
previous definition
i386/h264dsp_mmx.c:1135:1: warning: "PUT_OP" redefined
i386/dsputil_mmx.c:2377:1: warning: this is the location of the
previous definition
{standard input}:106:Unknown pseudo-op: .balign
{standard input}:106:Rest of line ignored. 1st junk character valued
56 (8).
that last error is repeated many times in different files.
cc -O3 -g -Wall -Wno-switch -no-cpp-precomp -pipe -fomit-frame-
pointer -force_cpusubtype_ALL -Wno-sign-compare -march=prescott -
mdynamic-no-pic -DHAVE_AV_CONFIG_H -I.. -I/Builds/unix/ffmpeg/
libavutil -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -
c -o i386/idct_mmx_xvid.o i386/idct_mmx_xvid.c
{standard input}:887:Unimplemented segment type 5 in parse_operand
{standard input}:892:Unimplemented segment type 5 in parse_operand
...
I suspect that fixing all this is not trivial, but it would be great
if someone could do it :P. The easiest solution may be to get someone
to implement Mach-O in gas ;).
Tools: (those come with OS X 10.4.4)
gcc:
i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build
5250)
as:
Apple Computer, Inc. version cctools-590.23.2.obj~30, GNU assembler
version 1.38
Cheers,
Simon
More information about the ffmpeg-devel
mailing list