Log in

View Full Version : x264 compilation problems on Intel Mac


omion
12th October 2006, 04:25
I just got my little Mac Mini up and running, and I wanted to install x264 on it. So I checked out the SVN, did the standard configure / make / make install, and everything compiled smoothly.

However, when trying to encode anything, x264 returns x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
Illegal instruction
Messing around with the compilation, it looks like deleting -DHAVE_SSE2 fixes it.

My Mac Mini has an Intel Core Solo T1200 processor, which shows up as supporting SSE2 and even SSE3, but x264 doesn't like it for some reason.

Anybody know what I'm doing wrong?


[ edit: software specs - GCC 4.0.1 from Apple Developer Tools, NASM 0.98.40 (probably from the same place), and x264 r590 ]

giandrea
21st October 2006, 01:25
I just got my little Mac Mini up and running, and I wanted to install x264 on it. So I checked out the SVN, did the standard configure / make / make install, and everything compiled smoothly.

However, when trying to encode anything, x264 returns x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
Illegal instruction
Messing around with the compilation, it looks like deleting -DHAVE_SSE2 fixes it.

My Mac Mini has an Intel Core Solo T1200 processor, which shows up as supporting SSE2 and even SSE3, but x264 doesn't like it for some reason.

Anybody know what I'm doing wrong?


[ edit: software specs - GCC 4.0.1 from Apple Developer Tools, NASM 0.98.40 (probably from the same place), and x264 r590 ]

I'm trying to pipe yuv video with ffmpeg or mencoder to x264, but I keep getting this "Illegal instruction" error. On MacOS X 10.4 Intel, MacBook 2 GHz.
Bye,

Andrea

jhd
30th October 2006, 19:43
I ran into the same problem but wasn't able to correct it by removing -DHAVE_SSE2 from the makefile. I ended up copying the x264 binary out of ffmpegx (install ffmpegx, right-click and open package contents), and that one works fine - with SSE2. I'm not sure why the ffmpegx build works with SSE2, but it does on my computer (Macbook Pro w/ Intel Core Duo 1.83).

giandrea
30th October 2006, 22:53
I ran into the same problem but wasn't able to correct it by removing -DHAVE_SSE2 from the makefile. I ended up copying the x264 binary out of ffmpegx (install ffmpegx, right-click and open package contents), and that one works fine - with SSE2. I'm not sure why the ffmpegx build works with SSE2, but it does on my computer (Macbook Pro w/ Intel Core Duo 1.83).

I solved the problem reading this post:
http://www.via.ecp.fr/via/ml/x264-devel/2006-06/msg00003.html

You have to comment some code in common/i386/i386inc.asm.
Then recompile x264, then recompile mplayer of ffmpeg if you use them.
Bye,

giandrea

omion
31st October 2006, 09:00
Hey! That worked! Thanks! :D

It looks like that workaround should be taken out of the source, then.

Of course, since I just can't stay out of trouble, I moved on to trying to compile it for 64-bit Intel OSX, with no avail. But at least it works in 32-bit mode!

[edit: removed quote]