4b049fcabe
Remove developing code in ns_core
...
This defines were hardcoded and the code inside of the ifdefs was never used.
BUG=webrtc:3763
R=bjornv@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24559004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7153 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 11:19:56 +00:00
37c39f3784
audio_processing: Removed use of macro WEBRTC_SPL_UMUL_16_16
...
The macro replaced is a trivial multiplication after explicit casts to uint16_t and uint32_t. This CL replaces its use with "*" and adds explicit casts if necessary.
Affected components:
* AECMobile
* AGC
* Noise Suppression (fixed point version)
BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27389004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7101 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-08 11:21:56 +00:00
c2c4117477
common_audio: Replaced WEBRTC_SPL_LSHIFT_U32 with << in audio_processing
...
Affected components:
* AECMobile
- Added a help function since the same operation was performed several times.
* Auto Gain Control
* Noise Suppression (fixed point)
BUG=3348,3353
TESTED=locally on Linux
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20219004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7076 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-05 06:01:53 +00:00
48f2568d89
audio_processing/nsx: Bug fix that could cause divide by zero
...
In the fixed point version of the Noise Suppression. At one place we subtract a value in the wrong Q-domain, which later may cause a divide by zero. Going through the floating point code that particular variable should be zero if this happens, which is what the old code tried to accomplish, but in an awkward way.
The bug has been there since development, so the likelihood of actually get a divide by zero is very small.
BUG=chromium:407812
R=ljubomir.papuga@gmail.com , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17229004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7035 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 07:58:37 +00:00
df9fef6638
common_audio: Removed macro WEBRTC_SPL_DIV
...
The macro has no built-in divide by zero check. The only thing that is done is casting to int32_t.
In addition a bug was discovered where it was supposed to do a division with rounding, but instead did a division with truncation + addition by 2. This is corrected in this CL.
BUG=3348,3353
TESTED=locally on Linux
R=kwiberg@webrtc.org , tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6998 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-28 12:57:32 +00:00
4f71e22bf9
Refactoring common_audio/signal_processing: Remove macro WEBRTC_SPL_UDIV
...
This macro is a direct use of the division operator without checking for division by zero. Hence, it is dangerous to use.
This CL replaces the macro with '/' at place.
BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org , tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14169004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6976 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 10:25:10 +00:00
047a46f8b4
Remove Android.mk build files.
...
These files are generally not maintained and break, some contain files
that don't exist anymore and do not build anymore. If we need to add
some of these back we should really set up a bot for them.
R=andrew@webrtc.org , glaznev@webrtc.org , henrike@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/15249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6974 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 08:48:51 +00:00
926707b167
Refactoring common_audio: Replace trivial multiplication macro
...
This multiplication macro literally use the '*' operator, so there is no need for it.
BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org , tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22109004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6964 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 11:42:42 +00:00
6e71d17bc9
Refactoring common_audio/signal_processing: Replaces trivial macros
...
The macros WEBRTC_SPL_ADD_SAT_W16 and WEBRTC_SPL_ADD_SAT_W32 make direct use of the corresponding functions WebRtcSpl_AddSatW16() and WebRtcSpl_AddSatW32().
This CL replaces these macros in the code.
BUG=3348,3353
TESTED=locally on linux and trybots
R=kwiberg@webrtc.org , tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21199004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6960 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-25 07:44:52 +00:00
add54ad770
Convert nsx_core_neon.S to unified syntax.
...
That way, it builds with both gcc and clang's integrated assembler.
No intentional behavior change.
BUG=chromium:124610
R=andrew@webrtc.org , johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/15199004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6945 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-21 02:23:26 +00:00
d798095a37
replace inline assembly WebRtcNsx_PrepareSpectrumNeon by intrinsics.
...
The modification only uses the unique part of the spectrum (as is done for the C and asm code). It passes
byte to byte conformance test, and the single function performance
(if not specified, the code is compiled by GCC 4.6) on different
platforms:
| run 100k times | cortex-a7 | cortex-a9 | cortex-a15 |
| use C as the base on each | (1.2Ghz) | (1.0Ghz) | (1.7Ghz) |
| CPU target | | | |
|----------------------------+-----------+-----------+------------|
| C | 100% | 100% | 100% |
| Neon asm | 18% | 14% | 19% |
| Neon inline asm | 31% | 25% | 27% |
| Neon intrinsic (GCC 4.6) | 33% | 27% | 42% |
| Neon intrinscis (GCC 4.8) | 17% | 14% | 19% |
| Neon intrinsics (LLVM 3.3) | 15% | 13% | 18% |
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13739004
Patch from Joe Yu <joe.yu@arm.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6920 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-18 17:46:45 +00:00
721f970cba
common_audio: Removes macro WEBRTC_SPL_LSHIFT_U16
...
We should avoid macros in general (see style guide) and the shift ones are particular dangerous since they assume that the user apply a non-negative shift.
Related CL: https://webrtc-codereview.appspot.com/16669004
BUG=3348,3353
TESTED=trybots and manually on linux
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6444 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-16 10:30:14 +00:00
18026abd82
common_audio/signal_processing: Removes macro WEBRTC_SPL_RSHIFT_U16
...
This macro is only used at a few places and implies a cast to uint16_t before right shifting. All places already use uint16_t. Further, the amount of shifts applied in the macro has no sanity check for negativity, makes the macro dangerous to use.
BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16669004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6393 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-11 06:53:20 +00:00
12cd443752
Noise suppression: Change signature to work on floats instead of ints
...
Internally, it already worked on floats. This patch just changes the
signature of a bunch of functions so that floats can be passed
directly from the new and improved AudioBuffer without converting the
data to int and back again first.
(The reference data to the ApmTest.Process test had to be modified
slightly; this is because the noise suppressor comes immediately after
the echo canceller, which also works on floats. If I truncate to
integers between the two steps, ApmTest.Process doesn't complain, but
of course that's exactly the sort of thing the float conversion is
supposed to let us avoid...)
BUG=
R=aluebs@webrtc.org , bjornv@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13519004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6385 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10 11:13:09 +00:00
ea9392d5eb
MIPS optimizations for NS audio processing module
...
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4139006
Patch from Ljubomir Papuga <lpapuga@mips.com >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5393 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-16 07:22:01 +00:00
d030972139
Remove unused kPowTableFrac which causes anroid clang build failure.
...
http://build.chromium.org/p/tryserver.chromium/builders/android_clang_dbg/builds/84322/steps/compile/logs/stdio
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2417004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4981 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 20:32:09 +00:00
b6a6a24fda
Updated WebRtcNsx_PrepareSpectrumNeon() in accordance with the new real FFT interface in APM. For reference, you can check https://webrtc-codereview.appspot.com/1830004/diff/92001/webrtc/modules/audio_processing/ns/nsx_core.c , line 594 "static void PrepareSpectrumC()".
...
Tested with audioproc. Bit exact.
R=andrew@webrtc.org , johannkoenig@google.com
Review URL: https://webrtc-codereview.appspot.com/1859004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4411 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 16:24:34 +00:00
fc8aaf02e1
Formalized Real 16-bit FFT for APM.
...
It also prepares for introducing Real 16-bit FFT Neon code from Openmax to SPL. CL https://webrtc-codereview.appspot.com/1819004/ takes care of that, but this CL is a prerequisite of that one.
Tested audioproc with an offline file. Bit exact.
R=andrew@webrtc.org , rtoy@google.com
Review URL: https://webrtc-codereview.appspot.com/1830004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4390 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-24 17:38:23 +00:00
d900e8bea8
Proper spacing for end-of-namespace comments.
...
BUG=
R=mflodman@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1760006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 15:12:26 +00:00
7fad4b8c9f
Include files from webrtc/.. paths in audio_processing/
...
BUG=1662
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1559004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:11:59 +00:00
b7192b8247
WebRtc_Word32 -> int32_t in audio_processing/
...
BUG=314
Review URL: https://webrtc-codereview.appspot.com/1307004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3809 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 07:50:54 +00:00
33f22d01f0
Fixed a crash issue in NSX module.
...
Run time error message for function WebRtcNsx_PrepareSpectrumNeon(): "Bad access at: 0x4f535c: vst1.16{d16, d17, d18, d19}, [r2], r12"
Cause: "anaLen" was defined as int16_t and should have been read as such in assembly function WebRtcNsx_PrepareSpectrumNeon().
Fix: Changed anaLen's definition to int in the header file instead.
BUG=b/8382174
Review URL: https://webrtc-codereview.appspot.com/1202004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3669 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-14 21:44:12 +00:00
83561fb173
Fixed a bug in WebRtcNsx_PrepareSpectrumNeon() for NS in ARM Neon platform.
...
No written bug report.
Tested with Nexus-S. Issue disappeared with the change.
Review URL: https://webrtc-codereview.appspot.com/1126006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3575 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-27 01:16:44 +00:00
2f9bd247ad
Ported assembly coding in APM from Android to iOS.
...
Bugs=none
Test=trybots, and offline file bit-exact tests.
Review URL: https://webrtc-codereview.appspot.com/1066009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3563 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-23 04:16:59 +00:00
ac46c6dac3
Replaced relative path to reference from <(webrtc_root).
...
Changed to proper include paths in AECM and NSX.
Tested on trybots.
BUG=None
Review URL: https://webrtc-codereview.appspot.com/1063014
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3450 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-31 21:06:16 +00:00
16d540eff1
Fixed text relocation code related to ARM assembly code.
...
Refer to WebRTC issue 1300.
Review URL: https://webrtc-codereview.appspot.com/1055004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3409 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 03:18:05 +00:00
f545cf8f10
Addressing webrtc issue 1237, http://code.google.com/p/webrtc/issues/detail?id=1237 .
...
Code compared to C. Bit-exact.
Review URL: https://webrtc-codereview.appspot.com/1021004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3333 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-04 17:40:21 +00:00
55cd78cfc2
Porting ARM optimization from Android to ios.
...
Tested APM and iSAC in Android. Bit-exact with original versions.
Changes include removing or changing some GCC derivatives (e.g. .fnstart, .hword), instruction syntax, etc.
Review URL: https://webrtc-codereview.appspot.com/934009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3124 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-17 00:22:46 +00:00
f3adba499e
Add Android include path so that header files can follow google style
...
BUG=1011
TEST=bot
Review URL: https://webrtc-codereview.appspot.com/930018
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3107 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-15 18:17:40 +00:00
12454028bc
Fixed and enabled ARM assembly code in AECM and NS.
...
Review URL: https://webrtc-codereview.appspot.com/860005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3060 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-07 22:34:31 +00:00
534e495df0
Qickly fixed android platform build breakage
...
TBR=ajm
Review URL: https://webrtc-codereview.appspot.com/920006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2966 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 21:21:52 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00