summaryrefslogtreecommitdiff
path: root/apps/codecs/libwavpack/arm.S
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libwavpack/arm.S')
-rw-r--r--apps/codecs/libwavpack/arm.S12
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/codecs/libwavpack/arm.S b/apps/codecs/libwavpack/arm.S
index 0b92bfccd7..233bfd3a52 100644
--- a/apps/codecs/libwavpack/arm.S
+++ b/apps/codecs/libwavpack/arm.S
@@ -31,9 +31,7 @@
31 * 31 *
32 * This is written to work on a ARM7TDMI processor. This version only uses the 32 * This is written to work on a ARM7TDMI processor. This version only uses the
33 * 32-bit multiply-accumulate instruction and so will overflow with 24-bit 33 * 32-bit multiply-accumulate instruction and so will overflow with 24-bit
34 * WavPack files. The advanced 64-bit multiply instructions in the ARM will 34 * WavPack files.
35 * provide full resolution for this, but are somewhat slower and have not
36 * been included yet.
37 */ 35 */
38 .text 36 .text
39 .align 37 .align
@@ -248,7 +246,7 @@ term_2_loop:
248term_default_loop: 246term_default_loop:
249 ldr ip, [r1] @ get original sample 247 ldr ip, [r1] @ get original sample
250 ldr r3, [r1, -r2, asl #3] @ get decorrelation value based on term 248 ldr r3, [r1, -r2, asl #3] @ get decorrelation value based on term
251 mla r8, r4, r3, r11 @ mult decorr value by weight, round, 249 mla r8, r3, r4, r11 @ mult decorr value by weight, round,
252 add r8, ip, r8, asr #10 @ shift and add to new sample 250 add r8, ip, r8, asr #10 @ shift and add to new sample
253 str r8, [r1], #4 @ store update sample 251 str r8, [r1], #4 @ store update sample
254 cmp r3, #0 252 cmp r3, #0
@@ -260,7 +258,7 @@ term_default_loop:
260 258
261.L350: ldr ip, [r1] @ do the same thing for right channel 259.L350: ldr ip, [r1] @ do the same thing for right channel
262 ldr r3, [r1, -r2, asl #3] 260 ldr r3, [r1, -r2, asl #3]
263 mla r8, r0, r3, r11 261 mla r8, r3, r0, r11
264 add r8, ip, r8, asr #10 262 add r8, ip, r8, asr #10
265 str r8, [r1], #4 263 str r8, [r1], #4
266 cmp r3, #0 264 cmp r3, #0
@@ -330,7 +328,7 @@ term_minus_1_loop:
330 movlt r4, r10 328 movlt r4, r10
331 329
332.L361: ldr r2, [r1, #-4] @ for right channel the decorrelation value 330.L361: ldr r2, [r1, #-4] @ for right channel the decorrelation value
333 mla r3, r0, lr, r11 @ is the just updated right sample (in lr) 331 mla r3, lr, r0, r11 @ is the just updated right sample (in lr)
334 add r3, r2, r3, asr #10 332 add r3, r2, r3, asr #10
335 str r3, [r1, #-4] 333 str r3, [r1, #-4]
336 cmp lr, #0 334 cmp lr, #0
@@ -386,7 +384,7 @@ term_minus_2_loop:
386 movlt r0, r10 384 movlt r0, r10
387 385
388.L380: ldr r2, [r1, #0] @ for left channel the decorrelation value 386.L380: ldr r2, [r1, #0] @ for left channel the decorrelation value
389 mla r3, r4, lr, r11 @ is the just updated left sample (in lr) 387 mla r3, lr, r4, r11 @ is the just updated left sample (in lr)
390 add r3, r2, r3, asr #10 388 add r3, r2, r3, asr #10
391 str r3, [r1], #8 389 str r3, [r1], #8
392 cmp lr, #0 390 cmp lr, #0