aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/ppc
diff options
context:
space:
mode:
authorAlex Beregszaszi2004-04-26 08:51:56 +0000
committerAlex Beregszaszi2004-04-26 08:51:56 +0000
commitd890d4aed1c38c99a07c4f10e45b6369499f00fc (patch)
tree1b26a28418216d3caef93956bf7d60e12ffc5252 /libavcodec/ppc
parent16f5ef9c70a908f7457dfc619316f469fe55c60e (diff)
disable hadamard for gcc below 3.3 - better fix awaited
Originally committed as revision 3075 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ppc')
-rw-r--r--libavcodec/ppc/dsputil_altivec.c2
-rw-r--r--libavcodec/ppc/dsputil_ppc.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/ppc/dsputil_altivec.c b/libavcodec/ppc/dsputil_altivec.c
index 0c49ce36b0..ff6e870b7c 100644
--- a/libavcodec/ppc/dsputil_altivec.c
+++ b/libavcodec/ppc/dsputil_altivec.c
@@ -1302,6 +1302,7 @@ POWERPC_PERF_STOP_COUNT(altivec_put_no_rnd_pixels16_xy2_num, 1);
#endif /* ALTIVEC_USE_REFERENCE_C_CODE */
}
+#if (__GNUC__ * 100 + __GNUC_MINOR__ >= 330)
int hadamard8_diff8x8_altivec(/*MpegEncContext*/ void *s, uint8_t *dst, uint8_t *src, int stride, int h){
POWERPC_PERF_DECLARE(altivec_hadamard8_diff8x8_num, 1);
int sum;
@@ -1611,6 +1612,7 @@ POWERPC_PERF_START_COUNT(altivec_hadamard8_diff16_num, 1);
POWERPC_PERF_STOP_COUNT(altivec_hadamard8_diff16_num, 1);
return score;
}
+#endif
int has_altivec(void)
{
diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c
index b70de73289..55a4587f95 100644
--- a/libavcodec/ppc/dsputil_ppc.c
+++ b/libavcodec/ppc/dsputil_ppc.c
@@ -279,8 +279,10 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx)
c->gmc1 = gmc1_altivec;
+#if (__GNUC__ * 100 + __GNUC_MINOR__ >= 330)
c->hadamard8_diff[0] = hadamard8_diff16_altivec;
c->hadamard8_diff[1] = hadamard8_diff8x8_altivec;
+#endif
#ifdef CONFIG_ENCODERS
if (avctx->dct_algo == FF_DCT_AUTO ||