From 61d793ef13ac2ef8f9c2b41b71430f21fac80337 Mon Sep 17 00:00:00 2001 From: Mike Melanson Date: Sun, 1 Feb 2004 05:31:16 +0000 Subject: sync to ffmpeg build 4699 CVS patchset: 6090 CVS date: 2004/02/01 05:31:16 --- src/libffmpeg/libavcodec/ppc/dsputil_altivec.c | 40 +++++++++++--------------- src/libffmpeg/libavcodec/ppc/dsputil_altivec.h | 16 +++++------ src/libffmpeg/libavcodec/ppc/dsputil_ppc.c | 24 +++++++++++----- src/libffmpeg/libavcodec/ppc/dsputil_ppc.h | 1 + src/libffmpeg/libavcodec/ppc/mpegvideo_ppc.c | 3 +- 5 files changed, 43 insertions(+), 41 deletions(-) (limited to 'src/libffmpeg/libavcodec/ppc') diff --git a/src/libffmpeg/libavcodec/ppc/dsputil_altivec.c b/src/libffmpeg/libavcodec/ppc/dsputil_altivec.c index 635480784..d1a294365 100644 --- a/src/libffmpeg/libavcodec/ppc/dsputil_altivec.c +++ b/src/libffmpeg/libavcodec/ppc/dsputil_altivec.c @@ -45,7 +45,7 @@ static void sigill_handler (int sig) } #endif /* CONFIG_DARWIN */ -int pix_abs16x16_x2_altivec(uint8_t *pix1, uint8_t *pix2, int line_size) +int sad16_x2_altivec(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) { int i; int s __attribute__((aligned(16))); @@ -57,7 +57,7 @@ int pix_abs16x16_x2_altivec(uint8_t *pix1, uint8_t *pix2, int line_size) s = 0; sad = (vector unsigned int)vec_splat_u32(0); - for(i=0;i<16;i++) { + for(i=0;ipix_abs16x16_x2 = pix_abs16x16_x2_altivec; - c->pix_abs16x16_y2 = pix_abs16x16_y2_altivec; - c->pix_abs16x16_xy2 = pix_abs16x16_xy2_altivec; - c->pix_abs16x16 = pix_abs16x16_altivec; - c->pix_abs8x8 = pix_abs8x8_altivec; - c->sad[0]= sad16x16_altivec; - c->sad[1]= sad8x8_altivec; + c->pix_abs[0][1] = sad16_x2_altivec; + c->pix_abs[0][2] = sad16_y2_altivec; + c->pix_abs[0][3] = sad16_xy2_altivec; + c->pix_abs[0][0] = sad16_altivec; + c->pix_abs[1][0] = sad8_altivec; + c->sad[0]= sad16_altivec; + c->sad[1]= sad8_altivec; c->pix_norm1 = pix_norm1_altivec; c->sse[1]= sse8_altivec; c->sse[0]= sse16_altivec; @@ -270,6 +272,14 @@ void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) c->gmc1 = gmc1_altivec; +#ifdef CONFIG_ENCODERS + if (avctx->dct_algo == FF_DCT_AUTO || + avctx->dct_algo == FF_DCT_ALTIVEC) + { + c->fdct = fdct_altivec; + } +#endif //CONFIG_ENCODERS + if ((avctx->idct_algo == FF_IDCT_AUTO) || (avctx->idct_algo == FF_IDCT_ALTIVEC)) { diff --git a/src/libffmpeg/libavcodec/ppc/dsputil_ppc.h b/src/libffmpeg/libavcodec/ppc/dsputil_ppc.h index 4cb299dd9..d672edfcb 100644 --- a/src/libffmpeg/libavcodec/ppc/dsputil_ppc.h +++ b/src/libffmpeg/libavcodec/ppc/dsputil_ppc.h @@ -40,6 +40,7 @@ enum powerpc_perf_index { altivec_fft_num = 0, altivec_gmc1_num, altivec_dct_unquantize_h263_num, + altivec_fdct, altivec_idct_add_num, altivec_idct_put_num, altivec_put_pixels16_num, diff --git a/src/libffmpeg/libavcodec/ppc/mpegvideo_ppc.c b/src/libffmpeg/libavcodec/ppc/mpegvideo_ppc.c index 18e86dce9..a83a0aa5c 100644 --- a/src/libffmpeg/libavcodec/ppc/mpegvideo_ppc.c +++ b/src/libffmpeg/libavcodec/ppc/mpegvideo_ppc.c @@ -72,7 +72,8 @@ void MPV_common_init_ppc(MpegEncContext *s) (s->avctx->dct_algo == FF_DCT_ALTIVEC)) { s->dct_quantize = dct_quantize_altivec; - s->dct_unquantize_h263 = dct_unquantize_h263_altivec; + s->dct_unquantize_h263_intra = dct_unquantize_h263_altivec; + s->dct_unquantize_h263_inter = dct_unquantize_h263_altivec; } } else #endif -- cgit v1.2.3