You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Fix cpu flags test program
Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
		| @@ -39,32 +39,45 @@ int av_get_cpu_flags(void) | ||||
| #undef printf | ||||
| #include <stdio.h> | ||||
|  | ||||
| static const struct { | ||||
|     int flag; | ||||
|     const char *name; | ||||
| } cpu_flag_tab[] = { | ||||
| #if   ARCH_ARM | ||||
|     { AV_CPU_FLAG_IWMMXT,    "iwmmxt"     }, | ||||
| #elif ARCH_PPC | ||||
|     { AV_CPU_FLAG_ALTIVEC,   "altivec"    }, | ||||
| #elif ARCH_X86 | ||||
|     { AV_CPU_FLAG_MMX,       "mmx"        }, | ||||
|     { AV_CPU_FLAG_MMX2,      "mmx2"       }, | ||||
|     { AV_CPU_FLAG_SSE,       "sse"        }, | ||||
|     { AV_CPU_FLAG_SSE2,      "sse2"       }, | ||||
|     { AV_CPU_FLAG_SSE2SLOW,  "sse2(slow)" }, | ||||
|     { AV_CPU_FLAG_SSE3,      "sse3"       }, | ||||
|     { AV_CPU_FLAG_SSE3SLOW,  "sse3(slow)" }, | ||||
|     { AV_CPU_FLAG_SSSE3,     "ssse3"      }, | ||||
|     { AV_CPU_FLAG_ATOM,      "atom"       }, | ||||
|     { AV_CPU_FLAG_SSE4,      "sse4.1"     }, | ||||
|     { AV_CPU_FLAG_SSE42,     "sse4.2"     }, | ||||
|     { AV_CPU_FLAG_AVX,       "avx"        }, | ||||
|     { AV_CPU_FLAG_3DNOW,     "3dnow"      }, | ||||
|     { AV_CPU_FLAG_3DNOWEXT,  "3dnowext"   }, | ||||
| #endif | ||||
|     { 0 } | ||||
| }; | ||||
|  | ||||
| int main(void) | ||||
| { | ||||
|     int cpu_flags = av_get_cpu_flags(); | ||||
|     int i; | ||||
|  | ||||
|     printf("cpu_flags = 0x%08X\n", cpu_flags); | ||||
|     printf("cpu_flags = %s%s%s%s%s%s%s%s%s%s%s%s%s\n", | ||||
| #if   ARCH_ARM | ||||
|            cpu_flags & AV_CPU_FLAG_IWMMXT   ? "IWMMXT "     : "", | ||||
| #elif ARCH_PPC | ||||
|            cpu_flags & AV_CPU_FLAG_ALTIVEC  ? "ALTIVEC "    : "", | ||||
| #elif ARCH_X86 | ||||
|            cpu_flags & AV_CPU_FLAG_MMX      ? "MMX "        : "", | ||||
|            cpu_flags & AV_CPU_FLAG_MMX2     ? "MMX2 "       : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE      ? "SSE "        : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE2     ? "SSE2 "       : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE2SLOW ? "SSE2(slow) " : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE3     ? "SSE3 "       : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE3SLOW ? "SSE3(slow) " : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSSE3    ? "SSSE3 "      : "", | ||||
|            cpu_flags & AV_CPU_FLAG_ATOM     ? "Atom "       : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE4     ? "SSE4.1 "     : "", | ||||
|            cpu_flags & AV_CPU_FLAG_SSE42    ? "SSE4.2 "     : "", | ||||
|            cpu_flags & AV_CPU_FLAG_AVX      ? "AVX "        : "", | ||||
|            cpu_flags & AV_CPU_FLAG_3DNOW    ? "3DNow "      : "", | ||||
|            cpu_flags & AV_CPU_FLAG_3DNOWEXT ? "3DNowExt "   : ""); | ||||
| #endif | ||||
|     printf("cpu_flags ="); | ||||
|     for (i = 0; cpu_flag_tab[i].flag; i++) | ||||
|         if (cpu_flags & cpu_flag_tab[i].flag) | ||||
|             printf(" %s", cpu_flag_tab[i].name); | ||||
|     printf("\n"); | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user