summaryrefslogtreecommitdiff
path: root/libavutil/ppc/cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil/ppc/cpu.c')
-rw-r--r--libavutil/ppc/cpu.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/libavutil/ppc/cpu.c b/libavutil/ppc/cpu.c
index 298185684b..0f1e982624 100644
--- a/libavutil/ppc/cpu.c
+++ b/libavutil/ppc/cpu.c
@@ -1,28 +1,32 @@
/*
- * This file is part of Libav.
+ * This file is part of FFmpeg.
*
- * Libav is free software; you can redistribute it and/or
+ * FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
- * Libav is distributed in the hope that it will be useful,
+ * FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with Libav; if not, write to the Free Software
+ * License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "config.h"
+
#ifdef __APPLE__
#include <sys/sysctl.h>
#elif defined(__linux__)
#include <asm/cputable.h>
#include <linux/auxvec.h>
#include <fcntl.h>
+#if HAVE_UNISTD_H
#include <unistd.h>
+#endif
#elif defined(__OpenBSD__)
#include <sys/param.h>
#include <sys/sysctl.h>
@@ -33,9 +37,9 @@
#include <proto/exec.h>
#endif /* __APPLE__ */
+#include "libavutil/avassert.h"
#include "libavutil/cpu.h"
#include "libavutil/cpu_internal.h"
-#include "config.h"
/**
* This function MAY rely on signal() or fork() in order to make sure AltiVec
@@ -93,6 +97,8 @@ int ff_get_cpu_flags_ppc(void)
if (buf[i + 1] & PPC_FEATURE_HAS_POWER8)
ret |= AV_CPU_FLAG_POWER8;
#endif
+ if (ret & AV_CPU_FLAG_VSX)
+ av_assert0(ret & AV_CPU_FLAG_ALTIVEC);
goto out;
}
}
@@ -101,7 +107,7 @@ int ff_get_cpu_flags_ppc(void)
out:
close(fd);
return ret;
-#elif CONFIG_RUNTIME_CPUDETECT
+#elif CONFIG_RUNTIME_CPUDETECT && defined(__linux__)
#define PVR_G4_7400 0x000C
#define PVR_G5_970 0x0039
#define PVR_G5_970FX 0x003C