diff options
Diffstat (limited to 'lib/rbcodec/dsp')
-rw-r--r-- | lib/rbcodec/dsp/dsp_arm.S | 6 | ||||
-rw-r--r-- | lib/rbcodec/dsp/dsp_arm_v6.S | 5 |
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 | @ |
61 | 2: @ | 62 | 2: @ |
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 | @ |
118 | 2: @ | 119 | 2: @ |
119 | ldr r6, [r2] @ r6 = Li | 120 | ldr r6, [r2] @ r6 = Li |