Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: webrtc/modules/audio_processing/aec/aec_core_mips.cc

Issue 1939723002: Removed the state as an input to OverdriveAndSuppress in the AEC. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase with latest master Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 ".set pop \n\t" 635 ".set pop \n\t"
636 : [f0] "=&f" (f0), [f1] "=&f" (f1), [f2] "=&f" (f2), 636 : [f0] "=&f" (f0), [f1] "=&f" (f1), [f2] "=&f" (f2),
637 [f3] "=&f" (f3), [f4] "=&f" (f4), [f5] "=&f" (f5), 637 [f3] "=&f" (f3), [f4] "=&f" (f4), [f5] "=&f" (f5),
638 [f6] "=&f" (f6), [f7] "=&f" (f7), [len] "=&r" (len), 638 [f6] "=&f" (f6), [f7] "=&f" (f7), [len] "=&r" (len),
639 [fft_tmp] "=&r" (fft_tmp), [aRe] "+r" (aRe), [aIm] "+r" (aIm) 639 [fft_tmp] "=&r" (fft_tmp), [aRe] "+r" (aRe), [aIm] "+r" (aIm)
640 : [fft] "r" (fft) 640 : [fft] "r" (fft)
641 : "memory"); 641 : "memory");
642 } 642 }
643 } 643 }
644 644
645 void WebRtcAec_OverdriveAndSuppress_mips(AecCore* aec, 645 void WebRtcAec_OverdriveAndSuppress_mips(float overdrive_scaling,
646 float hNl[PART_LEN1], 646 float hNl[PART_LEN1],
647 const float hNlFb, 647 const float hNlFb,
648 float efw[2][PART_LEN1]) { 648 float efw[2][PART_LEN1]) {
649 int i; 649 int i;
650 const float one = 1.0; 650 const float one = 1.0;
651 float* p_hNl; 651 float* p_hNl;
652 float* p_efw0; 652 float* p_efw0;
653 float* p_efw1; 653 float* p_efw1;
654 const float* p_WebRtcAec_wC; 654 const float* p_WebRtcAec_wC;
655 float temp1, temp2, temp3, temp4; 655 float temp1, temp2, temp3, temp4;
(...skipping 22 matching lines...) Expand all
678 #endif // #if !defined(MIPS32_R2_LE) 678 #endif // #if !defined(MIPS32_R2_LE)
679 "swc1 %[temp1], 0(%[p_hNl]) \n\t" 679 "swc1 %[temp1], 0(%[p_hNl]) \n\t"
680 "1: \n\t" 680 "1: \n\t"
681 "addiu %[p_wC], %[p_wC], 4 \n\t" 681 "addiu %[p_wC], %[p_wC], 4 \n\t"
682 ".set pop \n\t" 682 ".set pop \n\t"
683 : [temp1] "=&f" (temp1), [temp2] "=&f" (temp2), [temp3] "=&f" (temp3), 683 : [temp1] "=&f" (temp1), [temp2] "=&f" (temp2), [temp3] "=&f" (temp3),
684 [temp4] "=&f" (temp4), [p_wC] "+r" (p_WebRtcAec_wC) 684 [temp4] "=&f" (temp4), [p_wC] "+r" (p_WebRtcAec_wC)
685 : [hNlFb] "f" (hNlFb), [one] "f" (one), [p_hNl] "r" (p_hNl) 685 : [hNlFb] "f" (hNlFb), [one] "f" (one), [p_hNl] "r" (p_hNl)
686 : "memory"); 686 : "memory");
687 687
688 hNl[i] = powf(hNl[i], aec->overDriveSm * WebRtcAec_overDriveCurve[i]); 688 hNl[i] = powf(hNl[i], overdrive_scaling * WebRtcAec_overDriveCurve[i]);
689 689
690 __asm __volatile( 690 __asm __volatile(
691 "lwc1 %[temp1], 0(%[p_hNl]) \n\t" 691 "lwc1 %[temp1], 0(%[p_hNl]) \n\t"
692 "lwc1 %[temp3], 0(%[p_efw1]) \n\t" 692 "lwc1 %[temp3], 0(%[p_efw1]) \n\t"
693 "lwc1 %[temp2], 0(%[p_efw0]) \n\t" 693 "lwc1 %[temp2], 0(%[p_efw0]) \n\t"
694 "addiu %[p_hNl], %[p_hNl], 4 \n\t" 694 "addiu %[p_hNl], %[p_hNl], 4 \n\t"
695 "mul.s %[temp3], %[temp3], %[temp1] \n\t" 695 "mul.s %[temp3], %[temp3], %[temp1] \n\t"
696 "mul.s %[temp2], %[temp2], %[temp1] \n\t" 696 "mul.s %[temp2], %[temp2], %[temp1] \n\t"
697 "addiu %[p_efw0], %[p_efw0], 4 \n\t" 697 "addiu %[p_efw0], %[p_efw0], 4 \n\t"
698 "addiu %[p_efw1], %[p_efw1], 4 \n\t" 698 "addiu %[p_efw1], %[p_efw1], 4 \n\t"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 } 770 }
771 771
772 void WebRtcAec_InitAec_mips(void) { 772 void WebRtcAec_InitAec_mips(void) {
773 WebRtcAec_FilterFar = WebRtcAec_FilterFar_mips; 773 WebRtcAec_FilterFar = WebRtcAec_FilterFar_mips;
774 WebRtcAec_FilterAdaptation = WebRtcAec_FilterAdaptation_mips; 774 WebRtcAec_FilterAdaptation = WebRtcAec_FilterAdaptation_mips;
775 WebRtcAec_ScaleErrorSignal = WebRtcAec_ScaleErrorSignal_mips; 775 WebRtcAec_ScaleErrorSignal = WebRtcAec_ScaleErrorSignal_mips;
776 WebRtcAec_ComfortNoise = WebRtcAec_ComfortNoise_mips; 776 WebRtcAec_ComfortNoise = WebRtcAec_ComfortNoise_mips;
777 WebRtcAec_OverdriveAndSuppress = WebRtcAec_OverdriveAndSuppress_mips; 777 WebRtcAec_OverdriveAndSuppress = WebRtcAec_OverdriveAndSuppress_mips;
778 } 778 }
779 } // namespace webrtc 779 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_processing/aec/aec_core_internal.h ('k') | webrtc/modules/audio_processing/aec/aec_core_neon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698