summaryrefslogtreecommitdiff
path: root/lib/rbcodec/dsp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/dsp')
-rw-r--r--lib/rbcodec/dsp/dsp_arm.S6
-rw-r--r--lib/rbcodec/dsp/dsp_arm_v6.S5
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/rbcodec/dsp/dsp_arm.S b/lib/rbcodec/dsp/dsp_arm.S
index 16394b8690..864abee4b6 100644
--- a/lib/rbcodec/dsp/dsp_arm.S
+++ b/lib/rbcodec/dsp/dsp_arm.S
@@ -323,7 +323,7 @@ resample_hermite:
323 add r6, r6, r0, lsl #2 @ r6 = &s[pos] 323 add r6, r6, r0, lsl #2 @ r6 = &s[pos]
324 324
325 cmp r0, #3 @ pos >= 3? history not needed 325 cmp r0, #3 @ pos >= 3? history not needed
326 ldmgedb r6, { r1-r3 } @ x3..x1 = s[pos-3]..s[pos-1] 326 ldmdbge r6, { r1-r3 } @ x3..x1 = s[pos-3]..s[pos-1]
327 bge .hrs_loadhist_done @ 327 bge .hrs_loadhist_done @
328 add r10, r0, r0, lsl #1 @ branch pc + pos*12 328 add r10, r0, r0, lsl #1 @ branch pc + pos*12
329 add pc, pc, r10, lsl #2 @ 329 add pc, pc, r10, lsl #2 @
@@ -496,7 +496,7 @@ resample_hermite:
496 ldmfd sp!, { r10, r12 } @ recover ch, h 496 ldmfd sp!, { r10, r12 } @ recover ch, h
497 subs r10, r10, #1 @ --ch 497 subs r10, r10, #1 @ --ch
498 stmia r12!, { r1-r3 } @ h[0..2] = x3..x1 498 stmia r12!, { r1-r3 } @ h[0..2] = x3..x1
499 ldmgtia sp, { r0-r2 } @ load data, src, dst 499 ldmiagt sp, { r0-r2 } @ load data, src, dst
500 bgt .hrs_channel_loop 500 bgt .hrs_channel_loop
501 501
502 ldmfd sp!, { r1-r3 } @ pop data, src, dst 502 ldmfd sp!, { r1-r3 } @ pop data, src, dst
@@ -614,7 +614,7 @@ filter_process:
614 ldr r0, [sp] @ r0 = history[channels-ch-1] 614 ldr r0, [sp] @ r0 = history[channels-ch-1]
615 subs r3, r3, #1 @ all channels processed? 615 subs r3, r3, #1 @ all channels processed?
616 stmia r0!, { r9-r12 } @ save back history, history++ 616 stmia r0!, { r9-r12 } @ save back history, history++
617 ldmhsib sp, { r1-r2 } @ r1 = buf, r2 = count 617 ldmibhs sp, { r1-r2 } @ r1 = buf, r2 = count
618 strhs r3, [sp, #12] @ store ch 618 strhs r3, [sp, #12] @ store ch
619 strhs r0, [sp] @ store history[channels-ch-1] 619 strhs r0, [sp] @ store history[channels-ch-1]
620 bhs .fp_channelloop 620 bhs .fp_channelloop
diff --git a/lib/rbcodec/dsp/dsp_arm_v6.S b/lib/rbcodec/dsp/dsp_arm_v6.S
index a36760f744..aa27ec90f6 100644
--- a/lib/rbcodec/dsp/dsp_arm_v6.S
+++ b/lib/rbcodec/dsp/dsp_arm_v6.S
@@ -18,6 +18,7 @@
18 * KIND, either express or implied. 18 * KIND, either express or implied.
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21 #include "rbcodecconfig.h"
21 22
22/**************************************************************************** 23/****************************************************************************
23 * void sample_output_mono(struct sample_io_data *this, 24 * void sample_output_mono(struct sample_io_data *this,
@@ -56,7 +57,7 @@ sample_output_mono:
56 stmia r3!, { r12, r14 } @ store So0, So1 57 stmia r3!, { r12, r14 } @ store So0, So1
57 bgt 1b @ 58 bgt 1b @
58 @ 59 @
59 ldmltfd sp!, { r4, pc } @ if count was even, we're done 60 ldmfdlt sp!, { r4, pc } @ if count was even, we're done
60 @ 61 @
612: @ 622: @
62 ldr r12, [r2] @ round, scale, saturate 63 ldr r12, [r2] @ round, scale, saturate
@@ -113,7 +114,7 @@ sample_output_stereo:
113 stmia r3!, { r6, r7 } @ store So0, So1 114 stmia r3!, { r6, r7 } @ store So0, So1
114 bgt 1b @ 115 bgt 1b @
115 @ 116 @
116 ldmltfd sp!, { r4-r7, pc } @ if count was even, we're done 117 ldmfdlt sp!, { r4-r7, pc } @ if count was even, we're done
117 @ 118 @
1182: @ 1192: @
119 ldr r6, [r2] @ r6 = Li 120 ldr r6, [r2] @ r6 = Li