summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-03-12 08:36:42 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-03-12 08:36:42 +0000
commita26917e2075ccda527f50f1035ae5be19072f81f (patch)
tree56362c21398ddfb30ca84efbe9cf44327c23d8a0
parent1b05ea8ffe7e2ac36d77c5ff712805f6fb476d1e (diff)
downloadrockbox-a26917e2075ccda527f50f1035ae5be19072f81f.tar.gz
rockbox-a26917e2075ccda527f50f1035ae5be19072f81f.zip
Coldfire DSP Assembly: Fix a bug in the resampler that would only affect one frame on the transition from up to down. Fix a bug in sample output that could be the cause of reported FLAC glitching. Output routines now pass all alignment and size combination tests.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12733 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/dsp_cf.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/dsp_cf.S b/apps/dsp_cf.S
index 497b551be3..af9ac1fa4b 100644
--- a/apps/dsp_cf.S
+++ b/apps/dsp_cf.S
@@ -170,7 +170,7 @@ dsp_upsample:
170 clr.w %d5 | 170 clr.w %d5 |
171 eor.l %d5, %d6 | pos == 0? 171 eor.l %d5, %d6 | pos == 0?
172 beq.b .usstart_0 | no? transistion from down 172 beq.b .usstart_0 | no? transistion from down
173 cmp.l %d3, %d6 | past end of samples? 173 cmp.l %d2, %d6 | past end of samples?
174 bge.b .usloop_skip | yes? skip loop 174 bge.b .usloop_skip | yes? skip loop
175 lea.l -4(%a3, %d6.l*4), %a3 | %a3 = s = &s[pos-1] (previous) 175 lea.l -4(%a3, %d6.l*4), %a3 | %a3 = s = &s[pos-1] (previous)
176 move.l (%a3)+, %d0 | %d0 = *s++ 176 move.l (%a3)+, %d0 | %d0 = *s++
@@ -347,8 +347,8 @@ sample_output_stereo:
347 moveq.l #28, %d0 | %d0 = second line bound 347 moveq.l #28, %d0 | %d0 = second line bound
348 add.l %a4, %d0 | 348 add.l %a4, %d0 |
349 and.l #0xfffffff0, %d0 | 349 and.l #0xfffffff0, %d0 |
350 cmp.l %a4, %d0 | at least a full line? 350 cmp.l %a0, %d0 | at least a full line?
351 blo.w .sos_longloop_1_start | no? jump to trailing longword 351 bhi.w .sos_longloop_1_start | no? jump to trailing longword
352 sub.l #16, %d0 | %d1 = first line bound 352 sub.l #16, %d0 | %d1 = first line bound
353 cmp.l %a4, %d0 | any leading longwords? 353 cmp.l %a4, %d0 | any leading longwords?
354 bls.b .sos_lineloop_start | no? jump to line loop 354 bls.b .sos_lineloop_start | no? jump to line loop
@@ -441,8 +441,8 @@ sample_output_mono:
441 moveq.l #28, %d0 | %d0 = second line bound 441 moveq.l #28, %d0 | %d0 = second line bound
442 add.l %a3, %d0 | 442 add.l %a3, %d0 |
443 and.l #0xfffffff0, %d0 | 443 and.l #0xfffffff0, %d0 |
444 cmp.l %a3, %d0 | at least a full line? 444 cmp.l %a0, %d0 | at least a full line?
445 blo.w .som_longloop_1_start | no? jump to trailing longword 445 bhi.w .som_longloop_1_start | no? jump to trailing longword
446 sub.l #16, %d0 | %d1 = first line bound 446 sub.l #16, %d0 | %d1 = first line bound
447 cmp.l %a3, %d0 | any leading longwords? 447 cmp.l %a3, %d0 | any leading longwords?
448 bls.b .som_lineloop_start | no? jump to line loop 448 bls.b .som_lineloop_start | no? jump to line loop