From: J?rgen K. <jk...@us...> - 2001-09-03 19:00:32
|
Update of /cvsroot/xine/xine-lib/src/xine-engine In directory usw-pr-cvs1:/tmp/cvs-serv16044 Modified Files: cpu_accel.c Log Message: Detect x86 SSE extension (for libavcodec/ffmpeg) Index: cpu_accel.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/cpu_accel.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- cpu_accel.c 2001/08/07 12:41:46 1.4 +++ cpu_accel.c 2001/09/03 19:00:28 1.5 @@ -70,19 +70,25 @@ cpuid (0x00000001, eax, ebx, ecx, edx); if (! (edx & 0x00800000)) /* no MMX */ return 0; - caps = MM_ACCEL_X86_MMX; + if (edx & 0x02000000) /* SSE - identical to AMD MMX extensions */ - caps = MM_ACCEL_X86_MMX | MM_ACCEL_X86_MMXEXT; + caps |= MM_ACCEL_X86_SSE | MM_ACCEL_X86_MMXEXT; + if (edx & 0x04000000) /* SSE2 */ + caps |= MM_ACCEL_X86_SSE2; + cpuid (0x80000000, eax, ebx, ecx, edx); if (eax < 0x80000001) /* no extended capabilities */ return caps; cpuid (0x80000001, eax, ebx, ecx, edx); - if (edx & 0x80000000) + if (edx & 0x80000000) /* 3DNOW */ caps |= MM_ACCEL_X86_3DNOW; + + if (edx & 0x40000000) /* 3DNOWEXT */ + /*caps |= MM_ACCEL_X86_???*/ ; if (AMD && (edx & 0x00400000)) /* AMD MMX extensions */ caps |= MM_ACCEL_X86_MMXEXT; |