aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/ppc
diff options
context:
space:
mode:
authorChip <szarlada@freemail.hu>2004-10-05 18:36:15 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-10-05 18:36:15 +0000
commit693390099320a7a11d4c217f15877bcc9365d033 (patch)
treeee0cb8b68d826929e9d4470c22387f3012734d32 /libavcodec/ppc
parent2b50a5a8967c9c56c9f71687415fb509359789fb (diff)
downloadffmpeg-693390099320a7a11d4c217f15877bcc9365d033.tar.gz
Altivec test on AmigaOS4 patch by (Chip <szarlada at freemail dot hu>)
Originally committed as revision 3561 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ppc')
-rw-r--r--libavcodec/ppc/dsputil_altivec.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/ppc/dsputil_altivec.c b/libavcodec/ppc/dsputil_altivec.c
index 60e63c799d..57b687dfde 100644
--- a/libavcodec/ppc/dsputil_altivec.c
+++ b/libavcodec/ppc/dsputil_altivec.c
@@ -27,6 +27,11 @@
#ifdef CONFIG_DARWIN
#include <sys/sysctl.h>
#else /* CONFIG_DARWIN */
+#ifdef __AMIGAOS4__
+#include <exec/exec.h>
+#include <interfaces/exec.h>
+#include <proto/exec.h>
+#else /* __AMIGAOS4__ */
#include <signal.h>
#include <setjmp.h>
@@ -44,6 +49,7 @@ static void sigill_handler (int sig)
siglongjmp (jmpbuf, 1);
}
#endif /* CONFIG_DARWIN */
+#endif /* __AMIGAOS4__ */
int sad16_x2_altivec(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
{
@@ -1616,6 +1622,15 @@ POWERPC_PERF_STOP_COUNT(altivec_hadamard8_diff16_num, 1);
int has_altivec(void)
{
+#ifdef __AMIGAOS4__
+ ULONG result = 0;
+ extern struct ExecIFace *IExec;
+
+ IExec->GetCPUInfoTags(GCIT_VectorUnit, &result, TAG_DONE);
+ if (result == VECTORTYPE_ALTIVEC) return 1;
+ return 0;
+#else /* __AMIGAOS4__ */
+
#ifdef CONFIG_DARWIN
int sels[2] = {CTL_HW, HW_VECTORUNIT};
int has_vu = 0;
@@ -1646,6 +1661,7 @@ int has_altivec(void)
}
#endif /* CONFIG_DARWIN */
return 0;
+#endif /* __AMIGAOS4__ */
}
/* next one assumes that ((line_size % 8) == 0) */