Mercurial > libavcodec.hg
comparison ppc/float_altivec.c @ 4387:05ab6e897ffd libavcodec
10l, there is a corner case afterall...
author | lu_zero |
---|---|
date | Tue, 23 Jan 2007 12:04:48 +0000 |
parents | c8c591fe26f8 |
children | d5ba514e3f4a |
comparison
equal
deleted
inserted
replaced
4386:09849d8689d6 | 4387:05ab6e897ffd |
---|---|
74 int i; | 74 int i; |
75 vector float d, s0, s1, s2, t0, t1, edges; | 75 vector float d, s0, s1, s2, t0, t1, edges; |
76 vector unsigned char align = vec_lvsr(0,dst), | 76 vector unsigned char align = vec_lvsr(0,dst), |
77 mask = vec_lvsl(0, dst); | 77 mask = vec_lvsl(0, dst); |
78 | 78 |
79 t0 = vec_ld(0, dst); | |
80 #if 0 //FIXME: there is still something wrong | 79 #if 0 //FIXME: there is still something wrong |
81 if (step == 2) { | 80 if (step == 2) { |
82 int y; | 81 int y; |
83 vector float d0, d1, s3, t2; | 82 vector float d0, d1, s3, t2; |
84 vector unsigned int sel = | 83 vector unsigned int sel = |
132 } | 131 } |
133 } else | 132 } else |
134 #endif | 133 #endif |
135 if (step == 1 && src3 == 0) | 134 if (step == 1 && src3 == 0) |
136 for (i=0; i<len-3; i+=4) { | 135 for (i=0; i<len-3; i+=4) { |
136 t0 = vec_ld(0, dst+i); | |
137 t1 = vec_ld(15, dst+i); | 137 t1 = vec_ld(15, dst+i); |
138 s0 = vec_ld(0, src0+i); | 138 s0 = vec_ld(0, src0+i); |
139 s1 = vec_ld(0, src1+i); | 139 s1 = vec_ld(0, src1+i); |
140 s2 = vec_ld(0, src2+i); | 140 s2 = vec_ld(0, src2+i); |
141 edges = vec_perm(t1 ,t0, mask); | 141 edges = vec_perm(t1 ,t0, mask); |
142 d = vec_madd(s0,s1,s2); | 142 d = vec_madd(s0,s1,s2); |
143 t1 = vec_perm(d, edges, align); | 143 t1 = vec_perm(d, edges, align); |
144 t0 = vec_perm(edges, d, align); | 144 t0 = vec_perm(edges, d, align); |
145 vec_st(t1, 15, dst+i); | 145 vec_st(t1, 15, dst+i); |
146 vec_st(t0, 0, dst+i); | 146 vec_st(t0, 0, dst+i); |
147 t0 = t1; | |
148 } | 147 } |
149 else | 148 else |
150 ff_vector_fmul_add_add_c(dst, src0, src1, src2, src3, len, step); | 149 ff_vector_fmul_add_add_c(dst, src0, src1, src2, src3, len, step); |
151 } | 150 } |
152 | 151 |