OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 } | 751 } |
752 | 752 |
753 // Filter the data in the frequency domain, and create spectrum. | 753 // Filter the data in the frequency domain, and create spectrum. |
754 void WebRtcNsx_PrepareSpectrum_mips(NoiseSuppressionFixedC* inst, | 754 void WebRtcNsx_PrepareSpectrum_mips(NoiseSuppressionFixedC* inst, |
755 int16_t* freq_buf) { | 755 int16_t* freq_buf) { |
756 uint16_t *noiseSupFilter = inst->noiseSupFilter; | 756 uint16_t *noiseSupFilter = inst->noiseSupFilter; |
757 int16_t *real = inst->real; | 757 int16_t *real = inst->real; |
758 int16_t *imag = inst->imag; | 758 int16_t *imag = inst->imag; |
759 int32_t loop_count = 2; | 759 int32_t loop_count = 2; |
760 int16_t tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6; | 760 int16_t tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6; |
761 int16_t tmp16 = (inst->anaLen << 1) - 4; | 761 int16_t tmp16 = (int16_t)(inst->anaLen << 1) - 4; |
762 int16_t* freq_buf_f = freq_buf; | 762 int16_t* freq_buf_f = freq_buf; |
763 int16_t* freq_buf_s = &freq_buf[tmp16]; | 763 int16_t* freq_buf_s = &freq_buf[tmp16]; |
764 | 764 |
765 __asm __volatile ( | 765 __asm __volatile ( |
766 ".set push \n\t" | 766 ".set push \n\t" |
767 ".set noreorder \n\t" | 767 ".set noreorder \n\t" |
768 //first sample | 768 //first sample |
769 "lh %[tmp_1], 0(%[noiseSupFilter]) \n\t" | 769 "lh %[tmp_1], 0(%[noiseSupFilter]) \n\t" |
770 "lh %[tmp_2], 0(%[real]) \n\t" | 770 "lh %[tmp_2], 0(%[real]) \n\t" |
771 "lh %[tmp_3], 0(%[imag]) \n\t" | 771 "lh %[tmp_3], 0(%[imag]) \n\t" |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
992 "4: \n\t" | 992 "4: \n\t" |
993 ".set pop \n\t" | 993 ".set pop \n\t" |
994 : [t0] "=&r" (t0), [r0] "=&r" (r0), [r1] "=&r" (r1), | 994 : [t0] "=&r" (t0), [r0] "=&r" (r0), [r1] "=&r" (r1), |
995 [r2] "=&r" (r2), [r3] "=&r" (r3) | 995 [r2] "=&r" (r2), [r3] "=&r" (r3) |
996 : [len] "r" (len), [shift] "r" (shift), [in] "r" (in), | 996 : [len] "r" (len), [shift] "r" (shift), [in] "r" (in), |
997 [out] "r" (out) | 997 [out] "r" (out) |
998 : "memory" | 998 : "memory" |
999 ); | 999 ); |
1000 } | 1000 } |
1001 | 1001 |
OLD | NEW |