diff options
author | Francisco Javier Cabello Torres <fjcabello@visual-tools.com> | 2002-11-25 16:58:41 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2002-11-25 16:58:41 +0000 |
commit | 57fc25764261abe71b6cf7571eca182f8acf5795 (patch) | |
tree | 5549c1c455c337d9a585f5a26985f43087758c5c | |
parent | 525e51e8a362362067b3cb6eae46e7ec12553027 (diff) | |
download | ffmpeg-57fc25764261abe71b6cf7571eca182f8acf5795.tar.gz |
via c3 detection patch by (Francisco Javier Cabello Torres <fjcabello at visual-tools dot com>)
Originally committed as revision 1275 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/i386/cputest.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/i386/cputest.c b/libavcodec/i386/cputest.c index d7c13c3bc3..f186d95c9d 100644 --- a/libavcodec/i386/cputest.c +++ b/libavcodec/i386/cputest.c @@ -77,6 +77,21 @@ int mm_support(void) if (edx & 0x00400000) rval |= MM_MMXEXT; return rval; + } else if (ebx == 0x746e6543 && + edx == 0x48727561 && + ecx == 0x736c7561) { /* "CentaurHauls" */ + /* VIA C3 */ + cpuid(0x80000000, eax, ebx, ecx, edx); + if ((unsigned)eax < 0x80000001) + goto inteltest; + cpuid(0x80000001, eax, ebx, ecx, edx); + rval = 0; + if( edx & ( 1 << 31) ) + rval |= MM_3DNOW; + if( edx & ( 1 << 23) ) + rval |= MM_MMX; + if( edx & ( 1 << 24) ) + rval |= MM_MMXEXT; } else if (ebx == 0x69727943 && edx == 0x736e4978 && ecx == 0x64616574) { |