[x264-devel] cpu detection

Jason Garrett-Glaser jason at x264.com
Wed Apr 6 21:00:29 CEST 2011


On Sun, Apr 3, 2011 at 2:54 AM, GoatZilla <goatzilla at gmail.com> wrote:
> Hi there.
>
> I've been having fun trying to use x264.
>
> I wanted to test it out on some ARM machines, but they all bomb with
> "illegal instruction".  A quick search shows that someone has deemed
> non-NEON capable machines unworthy of proper CPU detection.

I'm not sure what you mean here.  x264 supports non-NEON machines just
fine.  It even has CPU detection to switch between pre-ARMv6, NEON,
and Cortex A9 NEON, though it has very little pre-NEON assembly code.

> So, fine, I've got another x86 machine I can play with.  I hop over to Ubuntu...
>
> ...  Where they've compiled the default binary with --disable-asm
> because x264 apparently wouldn't load on non-SSE machines.
>
> https://bugs.launchpad.net/ubuntu/+source/x264/+bug/550524?comments=all
>
> Again, seemingly another "CPU detection" issue.

Would you like us to cripple performance by ~5% overall by disabling
all inline assembly, or drop support for Pentium 2s?  Personally, I
don't think any users care about Pentium 2s.  Since we dropped support
for pre-Pentium 3 CPUs about 2 years ago, we have only received ONE
COMPLAINT, from a Via C3 user.

> Can't we just take the kernel's word for it?  If OS==Linux cat /proc/cpuinfo?

Not all people in the world compile binaries for themselves.  The vast
majority of x264 users use binaries that have been distributed to
them, usually as part of an application, operating system, or
otherwise.  If, by default, we compiled binaries such that they only
worked on the system that compiled them, millions of users would find
themselves unable to use x264.  Sorry, we can't do that.

Jason


More information about the x264-devel mailing list