OLD | NEW |
1 @ | 1 @ |
2 @ Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 @ Copyright (c) 2012 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 17 matching lines...) Expand all Loading... |
28 @ r4: Iteration counter for the outer loop. | 28 @ r4: Iteration counter for the outer loop. |
29 @ r5: data_out[j] as multiplication inputs | 29 @ r5: data_out[j] as multiplication inputs |
30 @ r6: Calculated value for output data_out[]; interation counter for inner loop | 30 @ r6: Calculated value for output data_out[]; interation counter for inner loop |
31 @ r7: Partial sum of a filtering multiplication results | 31 @ r7: Partial sum of a filtering multiplication results |
32 @ r8: Partial sum of a filtering multiplication results | 32 @ r8: Partial sum of a filtering multiplication results |
33 @ r9: &data_out[], for filtering input; data_in[i] | 33 @ r9: &data_out[], for filtering input; data_in[i] |
34 @ r10: coefficients[j] | 34 @ r10: coefficients[j] |
35 @ r11: Scratch | 35 @ r11: Scratch |
36 @ r12: &coefficients[j] | 36 @ r12: &coefficients[j] |
37 | 37 |
38 #include "webrtc/system_wrappers/interface/asm_defines.h" | 38 #include "webrtc/system_wrappers/include/asm_defines.h" |
39 | 39 |
40 GLOBAL_FUNCTION WebRtcSpl_FilterARFastQ12 | 40 GLOBAL_FUNCTION WebRtcSpl_FilterARFastQ12 |
41 .align 2 | 41 .align 2 |
42 DEFINE_FUNCTION WebRtcSpl_FilterARFastQ12 | 42 DEFINE_FUNCTION WebRtcSpl_FilterARFastQ12 |
43 push {r4-r11} | 43 push {r4-r11} |
44 | 44 |
45 ldrsh r12, [sp, #32] @ data_length | 45 ldrsh r12, [sp, #32] @ data_length |
46 subs r4, r12, #1 | 46 subs r4, r12, #1 |
47 beq ODD_LENGTH @ jump if data_length == 1 | 47 beq ODD_LENGTH @ jump if data_length == 1 |
48 | 48 |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 @ sum1 += coefficients[1] * data_out[i - 1]; | 209 @ sum1 += coefficients[1] * data_out[i - 1]; |
210 @ } | 210 @ } |
211 @ | 211 @ |
212 @ output1 = coefficients[0] * data_in[i]; | 212 @ output1 = coefficients[0] * data_in[i]; |
213 @ output1 -= sum1; | 213 @ output1 -= sum1; |
214 @ // Saturate and store the output. | 214 @ // Saturate and store the output. |
215 @ output1 = WEBRTC_SPL_SAT(134215679, output1, -134217728); | 215 @ output1 = WEBRTC_SPL_SAT(134215679, output1, -134217728); |
216 @ data_out[i] = (int16_t)((output1 + 2048) >> 12); | 216 @ data_out[i] = (int16_t)((output1 + 2048) >> 12); |
217 @ } | 217 @ } |
218 @} | 218 @} |
OLD | NEW |