[FFmpeg-cvslog] r18302 - in trunk/libavcodec: avcodec.h x86/cpuid.c
conrad
subversion
Wed Apr 1 11:11:33 CEST 2009
Author: conrad
Date: Wed Apr 1 11:11:32 2009
New Revision: 18302
Log:
Add SSE4 detection support
Modified:
trunk/libavcodec/avcodec.h
trunk/libavcodec/x86/cpuid.c
Modified: trunk/libavcodec/avcodec.h
==============================================================================
--- trunk/libavcodec/avcodec.h Wed Apr 1 10:55:31 2009 (r18301)
+++ trunk/libavcodec/avcodec.h Wed Apr 1 11:11:32 2009 (r18302)
@@ -1462,6 +1462,8 @@ typedef struct AVCodecContext {
#define FF_MM_3DNOWEXT 0x0020 ///< AMD 3DNowExt
#define FF_MM_SSE3 0x0040 ///< Prescott SSE3 functions
#define FF_MM_SSSE3 0x0080 ///< Conroe SSSE3 functions
+#define FF_MM_SSE4 0x0100 ///< Penryn SSE4.1 functions
+#define FF_MM_SSE42 0x0200 ///< Nehalem SSE4.2 functions
#define FF_MM_IWMMXT 0x0100 ///< XScale IWMMXT
#define FF_MM_ALTIVEC 0x0001 ///< standard AltiVec
Modified: trunk/libavcodec/x86/cpuid.c
==============================================================================
--- trunk/libavcodec/x86/cpuid.c Wed Apr 1 10:55:31 2009 (r18301)
+++ trunk/libavcodec/x86/cpuid.c Wed Apr 1 11:11:32 2009 (r18302)
@@ -85,7 +85,11 @@ int mm_support(void)
if (ecx & 1)
rval |= FF_MM_SSE3;
if (ecx & 0x00000200 )
- rval |= FF_MM_SSSE3
+ rval |= FF_MM_SSSE3;
+ if (ecx & 0x00080000 )
+ rval |= FF_MM_SSE4;
+ if (ecx & 0x00100000 )
+ rval |= FF_MM_SSE42;
#endif
;
}
@@ -105,13 +109,15 @@ int mm_support(void)
}
#if 0
- av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s\n",
+ av_log(NULL, AV_LOG_DEBUG, "%s%s%s%s%s%s%s%s%s%s\n",
(rval&FF_MM_MMX) ? "MMX ":"",
(rval&FF_MM_MMXEXT) ? "MMX2 ":"",
(rval&FF_MM_SSE) ? "SSE ":"",
(rval&FF_MM_SSE2) ? "SSE2 ":"",
(rval&FF_MM_SSE3) ? "SSE3 ":"",
(rval&FF_MM_SSSE3) ? "SSSE3 ":"",
+ (rval&FF_MM_SSE4) ? "SSE4.1 ":"",
+ (rval&FF_MM_SSE42) ? "SSE4.2 ":"",
(rval&FF_MM_3DNOW) ? "3DNow ":"",
(rval&FF_MM_3DNOWEXT) ? "3DNowExt ":"");
#endif
More information about the ffmpeg-cvslog
mailing list