Originally committed as revision 25085 to svn://svn.ffmpeg.org/ffmpeg/trunk
Unified · Split
| @@ -21,10 +21,17 @@ · 20 unmodified lines | ||
| 21 | 21 | |
| 22 | 22 | int av_get_cpu_flags(void) |
| 23 | 23 | { |
| 24 | − if (ARCH_ARM) return ff_get_cpu_flags_arm(); | |
| 25 | − if (ARCH_PPC) return ff_get_cpu_flags_ppc(); | |
| 26 | − if (ARCH_X86) return ff_get_cpu_flags_x86(); | |
| 27 | − return 0; | |
| 24 | + static int flags, checked; | |
| 25 | + | |
| 26 | + if (checked) | |
| 27 | + return flags; | |
| 28 | + | |
| 29 | + if (ARCH_ARM) flags = ff_get_cpu_flags_arm(); | |
| 30 | + if (ARCH_PPC) flags = ff_get_cpu_flags_ppc(); | |
| 31 | + if (ARCH_X86) flags = ff_get_cpu_flags_x86(); | |
| 32 | + | |
| 33 | + checked = 1; | |
| 34 | + return flags; | |
| 28 | 35 | } |
| 29 | 36 | |
| 30 | 37 | #ifdef TEST |