Proper fix for the corner case that would have been corrected before, praise&blame to me and exg in equal shares
Originally committed as revision 6143 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
7e82145755
commit
27303c8abc
@ -138,10 +138,10 @@ static void vector_fmul_add_add_altivec(float *dst, const float *src0,
|
||||
s2 = vec_ld(0, src2+i);
|
||||
edges = vec_perm(t1 ,t0, mask);
|
||||
d = vec_madd(s0,s1,s2);
|
||||
t0 = vec_perm(d, edges, align);
|
||||
t1 = vec_perm(edges, d, align);
|
||||
vec_st(t0, 0, dst+i);
|
||||
t1 = vec_perm(d, edges, align);
|
||||
t0 = vec_perm(edges, d, align);
|
||||
vec_st(t1, 15, dst+i);
|
||||
vec_st(t0, 0, dst+i);
|
||||
t0 = t1;
|
||||
}
|
||||
else
|
||||
|
@ -207,11 +207,11 @@ static inline void put_pixels16_l2_altivec( uint8_t * dst, const uint8_t * src1,
|
||||
|
||||
align = vec_lvsr(0, dst);
|
||||
|
||||
tmp1 = vec_perm(edges, d, align);
|
||||
tmp2 = vec_perm(d, edges, align);
|
||||
tmp1 = vec_perm(edges, d, align);
|
||||
|
||||
vec_st(tmp1, 0 , dst);
|
||||
vec_st(tmp2, 15, dst);
|
||||
vec_st(tmp1, 0 , dst);
|
||||
|
||||
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);
|
||||
|
||||
tmp1 = vec_perm(edges, d, align);
|
||||
tmp2 = vec_perm(d, edges, align);
|
||||
tmp1 = vec_perm(edges, d, align);
|
||||
|
||||
vec_st(tmp1, 0 , dst);
|
||||
vec_st(tmp2, 15, dst);
|
||||
vec_st(tmp1, 0 , dst);
|
||||
|
||||
dst += dst_stride;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user