summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Javier Cabello Torres <fjcabello@visual-tools.com>2002-11-25 16:58:41 +0000
committerMichael Niedermayer <michaelni@gmx.at>2002-11-25 16:58:41 +0000
commit57fc25764261abe71b6cf7571eca182f8acf5795 (patch)
tree5549c1c455c337d9a585f5a26985f43087758c5c
parent525e51e8a362362067b3cb6eae46e7ec12553027 (diff)
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.c15
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) {