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 |
(...skipping 20 matching lines...) Expand all Loading... |
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 |
39 sub r4, #1 @ Outer loop counter = HALF_SUBFRAMELEN - 1 | 39 sub r4, #1 @ Outer loop counter = HALF_SUBFRAMELEN - 1 |
40 | 40 |
41 HALF_SUBFRAME_LOOP: @ for(n = 0; n < HALF_SUBFRAMELEN - 1; n++) | 41 HALF_SUBFRAME_LOOP: @ for (n = 0; n < HALF_SUBFRAMELEN - 1; n++) |
42 | 42 |
43 ldr r9, [sp, #32] @ Restore the inner loop counter to order_coef | 43 ldr r9, [sp, #32] @ Restore the inner loop counter to order_coef |
44 ldrh r5, [r1] @ tmpAR = ar_f_Q0[n+1] | 44 ldrh r5, [r1] @ tmpAR = ar_f_Q0[n+1] |
45 add r0, r9, asl #1 @ Restore r0 to &ar_g_Q0[order_coef] | 45 add r0, r9, asl #1 @ Restore r0 to &ar_g_Q0[order_coef] |
46 add r2, r9, asl #1 @ Restore r2 to &cth_Q15[order_coef] | 46 add r2, r9, asl #1 @ Restore r2 to &cth_Q15[order_coef] |
47 add r3, r9, asl #1 @ Restore r3 to &sth_Q15[order_coef] | 47 add r3, r9, asl #1 @ Restore r3 to &sth_Q15[order_coef] |
48 | 48 |
49 ORDER_COEF_LOOP: @ for(k = order_coef ; k > 0; k--) | 49 ORDER_COEF_LOOP: @ for (k = order_coef; k > 0; k--) |
50 | 50 |
51 ldrh r7, [r3, #-2]! @ sth_Q15[k - 1] | 51 ldrh r7, [r3, #-2]! @ sth_Q15[k - 1] |
52 ldrh r6, [r2, #-2]! @ cth_Q15[k - 1] | 52 ldrh r6, [r2, #-2]! @ cth_Q15[k - 1] |
53 | 53 |
54 ldrh r8, [r0, #-2] @ ar_g_Q0[k - 1] | 54 ldrh r8, [r0, #-2] @ ar_g_Q0[k - 1] |
55 smlabb r11, r7, r5, r12 @ sth_Q15[k - 1] * tmpAR + 16384 | 55 smlabb r11, r7, r5, r12 @ sth_Q15[k - 1] * tmpAR + 16384 |
56 smlabb r10, r6, r5, r12 @ cth_Q15[k - 1] * tmpAR + 16384 | 56 smlabb r10, r6, r5, r12 @ cth_Q15[k - 1] * tmpAR + 16384 |
57 smulbb r7, r7, r8 @ sth_Q15[k - 1] * ar_g_Q0[k - 1] | 57 smulbb r7, r7, r8 @ sth_Q15[k - 1] * ar_g_Q0[k - 1] |
58 smlabb r11, r6, r8, r11 @ cth_Q15[k - 1] * ar_g_Q0[k - 1] + | 58 smlabb r11, r6, r8, r11 @ cth_Q15[k - 1] * ar_g_Q0[k - 1] + |
59 @ (sth_Q15[k - 1] * tmpAR + 16384) | 59 @ (sth_Q15[k - 1] * tmpAR + 16384) |
60 | 60 |
61 sub r10, r10, r7 @ cth_Q15[k - 1] * tmpAR + 16384 - | 61 sub r10, r10, r7 @ cth_Q15[k - 1] * tmpAR + 16384 - |
62 @ (sth_Q15[k - 1] * ar_g_Q0[k - 1]) | 62 @ (sth_Q15[k - 1] * ar_g_Q0[k - 1]) |
63 ssat r11, #16, r11, asr #15 | 63 ssat r11, #16, r11, asr #15 |
64 ssat r5, #16, r10, asr #15 | 64 ssat r5, #16, r10, asr #15 |
65 strh r11, [r0], #-2 @ Output: ar_g_Q0[k] | 65 strh r11, [r0], #-2 @ Output: ar_g_Q0[k] |
66 | 66 |
67 subs r9, #1 | 67 subs r9, #1 |
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 |