summaryrefslogtreecommitdiff
path: root/libavcodec/i386
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-06-24 22:13:44 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-06-24 22:13:44 +0000
commit4c99f2cdbed8bb7e6c40cf9a057aa6569d6a33eb (patch)
tree1b265afc94ec27acdf4aafd1e5eed6a1c8e73ba9 /libavcodec/i386
parent504c8380a3f2c12b977ebaa3ee0ef8f800ac4a23 (diff)
transmeta crusoe mmx detection by "Nobody/Anonymous - nobody" / sf feature request tracker
Originally committed as revision 3248 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/i386')
-rw-r--r--libavcodec/i386/cputest.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/i386/cputest.c b/libavcodec/i386/cputest.c
index b50d653c4d..e4b1b51558 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;
}