aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2010-02-17 16:29:17 -0800
committerGloria Wang <gwang@google.com>2010-02-17 16:29:17 -0800
commit021523c8f11a487b993a1bce5304752b21754574 (patch)
tree04260fda14cde09092683277ed0f0cb5719f165d
parentd75baf2eee5ddd155009e7f0a79b175ae6026762 (diff)
downloadexternal_tremolo-021523c8f11a487b993a1bce5304752b21754574.zip
external_tremolo-021523c8f11a487b993a1bce5304752b21754574.tar.gz
external_tremolo-021523c8f11a487b993a1bce5304752b21754574.tar.bz2
Fix for Ogg playback issues for "Ringing Alarm".
-rw-r--r--Tremolo/mdct.c2
-rw-r--r--Tremolo/mdctARM.s8
2 files changed, 5 insertions, 5 deletions
diff --git a/Tremolo/mdct.c b/Tremolo/mdct.c
index 450819b..15140ba 100644
--- a/Tremolo/mdct.c
+++ b/Tremolo/mdct.c
@@ -406,7 +406,7 @@ void mdct_backward(int n, DATA_TYPE *in){
mdct_step8(in,n,step>>2);
#else
step = mdct_backwardARM(n, in);
- if (step < 1)
+ if (step <= 1)
mdct_step8(in,n,step);
#endif
}
diff --git a/Tremolo/mdctARM.s b/Tremolo/mdctARM.s
index 2141c4a..d7df88b 100644
--- a/Tremolo/mdctARM.s
+++ b/Tremolo/mdctARM.s
@@ -954,7 +954,7 @@ mdct_bufferflies_loop3:
LDMFD r13,{r0-r3}
mdct_bitreverseARM:
- @ r0 = points
+ @ r0 = points = n
@ r1 = in
@ r2 = step
@ r3 = shift
@@ -962,7 +962,6 @@ mdct_bitreverseARM:
MOV r4, #0 @ r4 = bit = 0
ADD r5, r1, r0, LSL #1 @ r5 = w = x + (n>>1)
ADR r6, bitrev
- SUB r3, r3, #2 @ r3 = shift -= 2
SUB r5, r5, #8
brev_lp:
LDRB r7, [r6, r4, LSR #6]
@@ -971,7 +970,8 @@ brev_lp:
ADD r4, r4, #1 @ bit++
@ stall XScale
ORR r7, r7, r8, LSL #6 @ r7 = bitrev[bit]
- ADD r9, r1, r7, LSR r3 @ r9 = xx = x + (b>>shift)
+ MOV r7, r7, LSR r3
+ ADD r9, r1, r7, LSL #2 @ r9 = xx = x + (b>>shift)
CMP r5, r9 @ if (w > xx)
LDR r10,[r5],#-8 @ r10 = w[0] w -= 2
LDRGT r11,[r5,#12] @ r11 = w[1]
@@ -988,7 +988,7 @@ brev_lp:
@ r0 = points
@ r1 = in
@ r2 = step
- @ r3 = shift-2
+ @ r3 = shift
CMP r2, #4 @ r5 = T = (step>=4) ?
LDRGE r5, =sincos_lookup0 @ sincos_lookup0 +