Mercurial > libavcodec.hg
comparison ppc/float_altivec.c @ 3583:562758eaf7bf libavcodec
10l, thanks to Emanuele Giaquinta <exg@gentoo.org> for testing and finding the issue
| author | lu_zero |
|---|---|
| date | Tue, 15 Aug 2006 20:36:05 +0000 |
| parents | 49082584828a |
| children | ff6720290478 |
comparison
equal
deleted
inserted
replaced
| 3582:6310389a9688 | 3583:562758eaf7bf |
|---|---|
| 136 s0 = vec_ld(0, src0+i); | 136 s0 = vec_ld(0, src0+i); |
| 137 s1 = vec_ld(0, src1+i); | 137 s1 = vec_ld(0, src1+i); |
| 138 s2 = vec_ld(0, src2+i); | 138 s2 = vec_ld(0, src2+i); |
| 139 edges = vec_perm(t1 ,t0, mask); | 139 edges = vec_perm(t1 ,t0, mask); |
| 140 d = vec_madd(s0,s1,s2); | 140 d = vec_madd(s0,s1,s2); |
| 141 t0 = vec_perm(edges, d, align); | 141 t0 = vec_perm(d, edges, align); |
| 142 t1 = vec_perm(d, edges, align); | 142 t1 = vec_perm(edges, d, align); |
| 143 vec_st(t0, 0, dst+i); | 143 vec_st(t0, 0, dst+i); |
| 144 vec_st(t1, 15, dst+i); | 144 vec_st(t1, 15, dst+i); |
| 145 t0 = t1; | 145 t0 = t1; |
| 146 } | 146 } |
| 147 else | 147 else |
| 164 t1 = vec_cts(s1, 0); | 164 t1 = vec_cts(s1, 0); |
| 165 d1 = vec_ld(15, dst+i); | 165 d1 = vec_ld(15, dst+i); |
| 166 d = vec_packs(t0,t1); | 166 d = vec_packs(t0,t1); |
| 167 d1 = vec_perm(d1, d0, vec_lvsl(0,dst+i)); | 167 d1 = vec_perm(d1, d0, vec_lvsl(0,dst+i)); |
| 168 align = vec_lvsr(0, dst+i); | 168 align = vec_lvsr(0, dst+i); |
| 169 d0 = vec_perm(d1, d, align); | 169 d0 = vec_perm(d, d1, align); |
| 170 d1 = vec_perm(d, d1, align); | 170 d1 = vec_perm(d1, d, align); |
| 171 vec_st(d0, 0, dst+i); | 171 vec_st(d0, 0, dst+i); |
| 172 vec_st(d1,15, dst+i); | 172 vec_st(d1,15, dst+i); |
| 173 } | 173 } |
| 174 else | 174 else |
| 175 for(i=0; i<len-7; i+=8) { | 175 for(i=0; i<len-7; i+=8) { |
