summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2007-10-24 23:30:55 +0000
committerThom Johansen <thomj@rockbox.org>2007-10-24 23:30:55 +0000
commitf6b358dfa0bda1132666fcdbb5bb69305c1235fb (patch)
treef029af0efb51e368f0944cf375a081148f4e3c22 /apps
parent4c913fced3096d298b2a66bdb8be485d7a07207e (diff)
downloadrockbox-f6b358dfa0bda1132666fcdbb5bb69305c1235fb.tar.gz
rockbox-f6b358dfa0bda1132666fcdbb5bb69305c1235fb.zip
Negate _after_ output so we don't negate the whole output signal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15294 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/libspeex/filters_cf.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/codecs/libspeex/filters_cf.S b/apps/codecs/libspeex/filters_cf.S
index dd650844c8..48804eb571 100644
--- a/apps/codecs/libspeex/filters_cf.S
+++ b/apps/codecs/libspeex/filters_cf.S
@@ -31,6 +31,7 @@
31 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33*/ 33*/
34
34 .text 35 .text
35/* void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack) */ 36/* void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack) */
36 .global iir_mem16 37 .global iir_mem16
@@ -70,8 +71,8 @@ iir_mem16:
70 move.l %a6, %d0 | Clip high 71 move.l %a6, %d0 | Clip high
712: 722:
72 sub.l %d1, %d0 | Bias clipped result back to [-32767..32767] 73 sub.l %d1, %d0 | Bias clipped result back to [-32767..32767]
73 neg.l %d0 | msac.w is bugged in gas, do this for now
74 move.w %d0, (%a5)+ | Write result to y[i] 74 move.w %d0, (%a5)+ | Write result to y[i]
75 neg.l %d0 | msac.w is bugged in gas, do this for now
75 move.l (%a4)+, %a6 | Fetch den[0] and den[1] 76 move.l (%a4)+, %a6 | Fetch den[0] and den[1]
76 mac.w %a6u, %d0l, %acc0 77 mac.w %a6u, %d0l, %acc0
77 mac.w %a6l, %d0l, (%a4)+, %a6, %acc1 78 mac.w %a6l, %d0l, (%a4)+, %a6, %acc1
@@ -126,8 +127,8 @@ iir_mem16:
126 move.l %a6, %d0 | Clip high 127 move.l %a6, %d0 | Clip high
1272: 1282:
128 sub.l %d1, %d0 | Bias clipped result back to [-32767..32767] 129 sub.l %d1, %d0 | Bias clipped result back to [-32767..32767]
129 neg.l %d0 | msac.w is bugged in gas, do this for now
130 move.w %d0, (%a5)+ | Write result to y[i] 130 move.w %d0, (%a5)+ | Write result to y[i]
131 neg.l %d0 | msac.w is bugged in gas, do this for now
131 move.l (%a4)+, %a6 | Fetch den[0] and den[1] 132 move.l (%a4)+, %a6 | Fetch den[0] and den[1]
132 mac.w %a6u, %d0l, %acc0 133 mac.w %a6u, %d0l, %acc0
133 mac.w %a6l, %d0l, (%a4)+, %a6, %acc1 134 mac.w %a6l, %d0l, (%a4)+, %a6, %acc1