Mercurial > libavcodec.hg
changeset 4311:f9325f2bc762 libavcodec
Add SSSE3 (Core2 aka Conroe/Merom/Woodcrester new instructions) detection
author | gpoirier |
---|---|
date | Mon, 18 Dec 2006 22:43:09 +0000 |
parents | a0c0c7bebd64 |
children | eb0ae1ce40a5 |
files | dsputil.h i386/cputest.c |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/dsputil.h Mon Dec 18 19:27:28 2006 +0000 +++ b/dsputil.h Mon Dec 18 22:43:09 2006 +0000 @@ -484,6 +484,7 @@ #define MM_SSE2 0x0010 /* PIV SSE2 functions */ #define MM_3DNOWEXT 0x0020 /* AMD 3DNowExt */ #define MM_SSE3 0x0040 /* Prescott SSE3 functions */ +#define MM_SSSE3 0x0080 /* Conroe SSSE3 functions */ extern int mm_flags;
--- a/i386/cputest.c Mon Dec 18 19:27:28 2006 +0000 +++ b/i386/cputest.c Mon Dec 18 22:43:09 2006 +0000 @@ -87,6 +87,8 @@ rval |= MM_SSE2; if (ecx & 1) rval |= MM_SSE3; + if (ecx & 0x00000200 ) + rval |= MM_SSSE3; } cpuid(0x80000000, max_ext_level, ebx, ecx, edx); @@ -104,11 +106,13 @@ } #if 0 - av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s\n", + av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s\n", (rval&MM_MMX) ? "MMX ":"", (rval&MM_MMXEXT) ? "MMX2 ":"", (rval&MM_SSE) ? "SSE ":"", (rval&MM_SSE2) ? "SSE2 ":"", + (rval&MM_SSE3) ? "SSE3 ":"", + (rval&MM_SSSE3) ? "SSSE3 ":"", (rval&MM_3DNOW) ? "3DNow ":"", (rval&MM_3DNOWEXT) ? "3DNowExt ":""); #endif