Browse Source

add_bytes passes tests

Originally committed as revision 6600 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Luca Barbato 19 years ago
parent
commit
441e8fe9c9
1 changed files with 4 additions and 7 deletions
  1. +4
    -7
      libavcodec/ppc/dsputil_altivec.c

+ 4
- 7
libavcodec/ppc/dsputil_altivec.c View File

@@ -637,12 +637,12 @@ void add_bytes_altivec(uint8_t *dst, uint8_t *src, int w) {
register vector unsigned char vdst, vsrc; register vector unsigned char vdst, vsrc;


/* dst and src are 16 bytes-aligned (guaranteed) */ /* dst and src are 16 bytes-aligned (guaranteed) */
for(i = 0 ; (i + 15) < w ; i++)
for(i = 0 ; (i + 15) < w ; i+=16)
{ {
vdst = vec_ld(i << 4, (unsigned char*)dst);
vsrc = vec_ld(i << 4, (unsigned char*)src);
vdst = vec_ld(i, (unsigned char*)dst);
vsrc = vec_ld(i, (unsigned char*)src);
vdst = vec_add(vsrc, vdst); vdst = vec_add(vsrc, vdst);
vec_st(vdst, i << 4, (unsigned char*)dst);
vec_st(vdst, i, (unsigned char*)dst);
} }
/* if w is not a multiple of 16 */ /* if w is not a multiple of 16 */
for (; (i < w) ; i++) for (; (i < w) ; i++)
@@ -1839,10 +1839,7 @@ void dsputil_init_altivec(DSPContext* c, AVCodecContext *avctx)
c->pix_sum = pix_sum_altivec; c->pix_sum = pix_sum_altivec;
c->diff_pixels = diff_pixels_altivec; c->diff_pixels = diff_pixels_altivec;
c->get_pixels = get_pixels_altivec; c->get_pixels = get_pixels_altivec;
// next one disabled as it's untested.
#if 0
c->add_bytes= add_bytes_altivec; c->add_bytes= add_bytes_altivec;
#endif /* 0 */
c->put_pixels_tab[0][0] = put_pixels16_altivec; c->put_pixels_tab[0][0] = put_pixels16_altivec;
/* the two functions do the same thing, so use the same code */ /* the two functions do the same thing, so use the same code */
c->put_no_rnd_pixels_tab[0][0] = put_pixels16_altivec; c->put_no_rnd_pixels_tab[0][0] = put_pixels16_altivec;


Loading…
Cancel
Save