OLD | NEW |
1 @ | 1 @ |
2 @ Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. | 2 @ Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
3 @ | 3 @ |
4 @ Use of this source code is governed by a BSD-style license | 4 @ Use of this source code is governed by a BSD-style license |
5 @ that can be found in the LICENSE file in the root of the source | 5 @ that can be found in the LICENSE file in the root of the source |
6 @ tree. An additional intellectual property rights grant can be found | 6 @ tree. An additional intellectual property rights grant can be found |
7 @ in the file PATENTS. All contributing project authors may | 7 @ in the file PATENTS. All contributing project authors may |
8 @ be found in the AUTHORS file in the root of the source tree. | 8 @ be found in the AUTHORS file in the root of the source tree. |
9 @ | 9 @ |
10 | 10 |
11 @ Contains a function for the core loop in the normalized lattice AR | 11 @ Contains a function for the core loop in the normalized lattice AR |
12 @ filter routine for iSAC codec, optimized for ARMv7 platforms. | 12 @ filter routine for iSAC codec, optimized for ARMv7 platforms. |
13 @ | 13 @ |
14 @ Output is bit-exact with the reference C code in lattic_c.c | 14 @ Output is bit-exact with the reference C code in lattic_c.c |
15 @ | 15 @ |
16 @ Register usage: | 16 @ Register usage: |
17 @ | 17 @ |
18 @ r0: &ar_g_Q0 | 18 @ r0: &ar_g_Q0 |
19 @ r1: &ar_f_Q0 | 19 @ r1: &ar_f_Q0 |
20 @ r2: &cth_Q15 | 20 @ r2: &cth_Q15 |
21 @ r3: &sth_Q15 | 21 @ r3: &sth_Q15 |
22 @ r4: out loop counter | 22 @ r4: out loop counter |
23 @ r5: tmpAR | 23 @ r5: tmpAR |
24 @ r9: inner loop counter | 24 @ r9: inner loop counter |
25 @ r12: constant #16384 | 25 @ r12: constant #16384 |
26 @ r6, r7, r8, r10, r11: scratch | 26 @ r6, r7, r8, r10, r11: scratch |
27 | 27 |
28 #include "webrtc/system_wrappers/interface/asm_defines.h" | 28 #include "webrtc/system_wrappers/include/asm_defines.h" |
29 #include "settings.h" | 29 #include "settings.h" |
30 | 30 |
31 GLOBAL_FUNCTION WebRtcIsacfix_FilterArLoop | 31 GLOBAL_FUNCTION WebRtcIsacfix_FilterArLoop |
32 .align 2 | 32 .align 2 |
33 DEFINE_FUNCTION WebRtcIsacfix_FilterArLoop | 33 DEFINE_FUNCTION WebRtcIsacfix_FilterArLoop |
34 push {r4-r11} | 34 push {r4-r11} |
35 | 35 |
36 add r1, #2 @ &ar_f_Q0[1] | 36 add r1, #2 @ &ar_f_Q0[1] |
37 mov r12, #16384 | 37 mov r12, #16384 |
38 mov r4, #HALF_SUBFRAMELEN | 38 mov r4, #HALF_SUBFRAMELEN |
(...skipping 29 matching lines...) Expand all Loading... |
68 bgt ORDER_COEF_LOOP | 68 bgt ORDER_COEF_LOOP |
69 | 69 |
70 strh r5, [r0] @ Output: ar_g_Q0[0] = tmpAR; | 70 strh r5, [r0] @ Output: ar_g_Q0[0] = tmpAR; |
71 strh r5, [r1], #2 @ Output: ar_f_Q0[n+1] = tmpAR; | 71 strh r5, [r1], #2 @ Output: ar_f_Q0[n+1] = tmpAR; |
72 | 72 |
73 subs r4, #1 | 73 subs r4, #1 |
74 bne HALF_SUBFRAME_LOOP | 74 bne HALF_SUBFRAME_LOOP |
75 | 75 |
76 pop {r4-r11} | 76 pop {r4-r11} |
77 bx lr | 77 bx lr |
OLD | NEW |