Mercurial > libavcodec.hg
comparison ppc/dsputil_altivec.c @ 3545:e2a589e55906 libavcodec
Minor fix
author | lu_zero |
---|---|
date | Thu, 03 Aug 2006 14:37:58 +0000 |
parents | 6aabb2bec46c |
children | 5f97ba9a4eaa |
comparison
equal
deleted
inserted
replaced
3544:8bb61d9a2c40 | 3545:e2a589e55906 |
---|---|
1700 | 1700 |
1701 static void vorbis_inverse_coupling_altivec(float *mag, float *ang, | 1701 static void vorbis_inverse_coupling_altivec(float *mag, float *ang, |
1702 int blocksize) | 1702 int blocksize) |
1703 { | 1703 { |
1704 int i; | 1704 int i; |
1705 vector float m, a; | 1705 vector float m, a, s0, s1; |
1706 vector bool int t0, t1; | 1706 vector bool int t0, t1; |
1707 const vector unsigned int v_31 = //XXX | 1707 const vector unsigned int v_31 = //XXX |
1708 vec_add(vec_add(vec_splat_u32(15),vec_splat_u32(15)),vec_splat_u32(1)); | 1708 vec_add(vec_add(vec_splat_u32(15),vec_splat_u32(15)),vec_splat_u32(1)); |
1709 for(i=0; i<blocksize; i+=4) { | 1709 for(i=0; i<blocksize; i+=4) { |
1710 m = vec_ld(0, mag+i); | 1710 m = vec_ld(0, mag+i); |
1711 a = vec_ld(0, ang+i); | 1711 a = vec_ld(0, ang+i); |
1712 t0 = vec_cmple(m, (vector float)vec_splat_u32(0)); | 1712 t0 = vec_cmple(m, (vector float)vec_splat_u32(0)); |
1713 t1 = vec_cmple(a, (vector float)vec_splat_u32(0)); | 1713 t1 = vec_cmple(a, (vector float)vec_splat_u32(0)); |
1714 a = vec_xor(a, vec_sl((vector unsigned int)t0, v_31)); // (a ^ sign(m)) | 1714 a = vec_xor(a, (vector float) vec_sl((vector unsigned int)t0, v_31)); |
1715 t0 = vec_and(a, t1); | 1715 s0 = vec_and(a, t1); |
1716 t1 = vec_andc(a, t1); | 1716 s1 = vec_andc(a, t1); |
1717 a = vec_add(m, t0); | 1717 a = vec_add(m, s0); |
1718 m = vec_sub(m, t1); | 1718 m = vec_sub(m, s1); |
1719 vec_ste(a, 0, ang+i); | 1719 vec_ste(a, 0, ang+i); |
1720 vec_ste(m, 0, mag+i); | 1720 vec_ste(m, 0, mag+i); |
1721 } | 1721 } |
1722 } | 1722 } |
1723 | 1723 |