diff options
author | Chip <szarlada@freemail.hu> | 2004-10-05 18:36:15 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-10-05 18:36:15 +0000 |
commit | 693390099320a7a11d4c217f15877bcc9365d033 (patch) | |
tree | ee0cb8b68d826929e9d4470c22387f3012734d32 /libavcodec | |
parent | 2b50a5a8967c9c56c9f71687415fb509359789fb (diff) | |
download | ffmpeg-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')
-rw-r--r-- | libavcodec/ppc/dsputil_altivec.c | 16 |
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) */ |