Browse Source

10l, thanks to Emanuele Giaquinta <exg@gentoo.org> for testing and finding the issue

Originally committed as revision 6002 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Luca Barbato 19 years ago
parent
commit
cb243ea220
2 changed files with 10 additions and 10 deletions
  1. +4
    -4
      libavcodec/ppc/float_altivec.c
  2. +6
    -6
      libavcodec/ppc/h264_altivec.c

+ 4
- 4
libavcodec/ppc/float_altivec.c View File

@@ -138,8 +138,8 @@ static void vector_fmul_add_add_altivec(float *dst, const float *src0,
s2 = vec_ld(0, src2+i); s2 = vec_ld(0, src2+i);
edges = vec_perm(t1 ,t0, mask); edges = vec_perm(t1 ,t0, mask);
d = vec_madd(s0,s1,s2); d = vec_madd(s0,s1,s2);
t0 = vec_perm(edges, d, align);
t1 = vec_perm(d, edges, align);
t0 = vec_perm(d, edges, align);
t1 = vec_perm(edges, d, align);
vec_st(t0, 0, dst+i); vec_st(t0, 0, dst+i);
vec_st(t1, 15, dst+i); vec_st(t1, 15, dst+i);
t0 = t1; t0 = t1;
@@ -166,8 +166,8 @@ void float_to_int16_altivec(int16_t *dst, const float *src, int len)
d = vec_packs(t0,t1); d = vec_packs(t0,t1);
d1 = vec_perm(d1, d0, vec_lvsl(0,dst+i)); d1 = vec_perm(d1, d0, vec_lvsl(0,dst+i));
align = vec_lvsr(0, dst+i); align = vec_lvsr(0, dst+i);
d0 = vec_perm(d1, d, align);
d1 = vec_perm(d, d1, align);
d0 = vec_perm(d, d1, align);
d1 = vec_perm(d1, d, align);
vec_st(d0, 0, dst+i); vec_st(d0, 0, dst+i);
vec_st(d1,15, dst+i); vec_st(d1,15, dst+i);
} }


+ 6
- 6
libavcodec/ppc/h264_altivec.c View File

@@ -207,11 +207,11 @@ static inline void put_pixels16_l2_altivec( uint8_t * dst, const uint8_t * src1,


align = vec_lvsr(0, dst); align = vec_lvsr(0, dst);


tmp1 = vec_perm(edges, d, align);
tmp2 = vec_perm(d, edges, align);
tmp1 = vec_perm(d, edges, align);
tmp2 = vec_perm(edges, d, align);


vec_st(tmp2, 15, dst);
vec_st(tmp1, 0 , dst); vec_st(tmp1, 0 , dst);
vec_st(tmp2, 15, dst);


dst += dst_stride; dst += dst_stride;
} }
@@ -249,11 +249,11 @@ static inline void avg_pixels16_l2_altivec( uint8_t * dst, const uint8_t * src1,


align = vec_lvsr(0, dst); align = vec_lvsr(0, dst);


tmp1 = vec_perm(edges, d, align);
tmp2 = vec_perm(d, edges, align);
tmp1 = vec_perm(d, edges, align);
tmp2 = vec_perm(edges, d, align);


vec_st(tmp2, 15, dst);
vec_st(tmp1, 0 , dst); vec_st(tmp1, 0 , dst);
vec_st(tmp2, 15, dst);


dst += dst_stride; dst += dst_stride;
} }


Loading…
Cancel
Save