diff --git a/libavcodec/i386/cputest.c b/libavcodec/i386/cputest.c index b50d653c4d5d903b13d008a36d24b8d3edccc0c8..e4b1b5155842a4a20e9f9f1f077e80df80952de6 100644 --- a/libavcodec/i386/cputest.c +++ b/libavcodec/i386/cputest.c @@ -114,6 +114,17 @@ int mm_support(void) if (eax & 0x01000000) rval |= MM_MMXEXT; return rval; + } else if (ebx == 0x756e6547 && + edx == 0x54656e69 && + ecx == 0x3638784d) { + /* Tranmeta Crusoe */ + cpuid(0x80000000, eax, ebx, ecx, edx); + if ((unsigned)eax < 0x80000001) + return 0; + cpuid(0x80000001, eax, ebx, ecx, edx); + if ((edx & 0x00800000) == 0) + return 0; + return MM_MMX; } else { return 0; }