114 Commits

Author SHA1 Message Date
bjornv@webrtc.org
80d28b22b9 Changed to new ring buffer in AECM.
Replaced the old ring buffer in AECM with the new one. Also removed the old one from ring_buffer.
Changes are bit exact according to audioproc_unittest fixed.

TEST=audioproc_unittest
Review URL: http://webrtc-codereview.appspot.com/331022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1327 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-01-04 09:55:09 +00:00
bjornv@webrtc.org
70adcd46b2 Delay estimator improvements.
Robustness improvements to the delay estimator used in AECM and AEC. In AEC only for logging. Faster convergence.

TEST=audioproc_unittest + offline file tests.

output_data_fixed.pb updated despite unverified changes in r1112.
Review URL: http://webrtc-codereview.appspot.com/337006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1306 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-29 14:51:21 +00:00
andrew@webrtc.org
6d6a43d6e3 Use char as ring-buffer data type.
- Avoids a bunch of char* casts.
- Use enum type rather than char.

TEST=audioproc_unittest on Linux (float and fixed), build on Windows

Review URL: http://webrtc-codereview.appspot.com/336010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1303 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-28 22:40:15 +00:00
bjornv@webrtc.org
267d0133ff Fixed pointer operations on void.
This should fix the error on Win where pointer arithmetics are done on void pointers. Type cast to char to interpret a size.
Review URL: http://webrtc-codereview.appspot.com/329019

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1300 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-28 10:26:17 +00:00
bjornv@webrtc.org
7270a6bcc2 Merged apm-buffer branch [r1293] back to trunk.
This CL includes a larger structural change in how we handle buffers in AEC. We now perform FFT at once and move within blocks to compensate for system delays.

TEST=audioproc_unittest(float and fix), voe_auto_test
Review URL: http://webrtc-codereview.appspot.com/335012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1299 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-28 08:44:17 +00:00
pwestin@webrtc.org
f4d3b9d5a1 Cleaned up leaky symbols in NS.
Review URL: http://webrtc-codereview.appspot.com/337001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1288 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-22 12:33:08 +00:00
andrew@webrtc.org
5ae19de3ec Fix error in RtpDump::Start due to r1156.
- r1156 fixed a check on the _text member of FileWrapper. Turns out this
  was incompatibile with the RTP dumps, which want to write both binary
  and text data. Writing text data to a file open as "b" isn't actually
  an error, so I simply removed the check.
- Also cleans up the interface, most notably removing all WebRtc types.

TEST=vie_auto_test

Review URL: http://webrtc-codereview.appspot.com/317005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1175 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-13 22:59:33 +00:00
kma@webrtc.org
4a8b1eaf6e In NS, replaced a divide calculatoin by shifting, and thus saved the MIPS by 5%(ARMv7) and 10%(ARMv7-Neon). Bit is not exact with the original. Quality is similar.
Review URL: http://webrtc-codereview.appspot.com/298004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1112 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-06 18:04:48 +00:00
andrew@webrtc.org
c9cc3750cf Add missing system_wrappers dependency.
TBR=kma@webrtc.org

Review URL: http://webrtc-codereview.appspot.com/301009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1097 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-03 20:51:20 +00:00
kma@webrtc.org
b59c031660 For Android ARMv7 platforms, added a feature of dynamically detecting the existence of Neon,
and when it's present, switch to some functions optimized for Neon at run time.
Review URL: http://webrtc-codereview.appspot.com/268002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1096 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-03 18:34:50 +00:00
andrew@webrtc.org
ae7017d588 Fix missing dependency in audioproc.
TBR=bjornv@webrtc.org

Review URL: http://webrtc-codereview.appspot.com/300006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1095 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-03 01:43:29 +00:00
andrew@webrtc.org
7bf2646e4d Make protobuf use optional.
- By default, disable the AudioProcessing protobuf usage in the Chromium
  build. The standalone build is unaffected.
- Add a test for the AudioProcessing debug dumps.

TEST=audioproc_unittest

Review URL: http://webrtc-codereview.appspot.com/303003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1094 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-03 00:03:31 +00:00
bjornv@webrtc.org
132feb1270 Made tables static.
In this CL global tables have been moved to where they are actually used. If for some reason they need to be available in a larger scope we can add them again at that point.
Review URL: http://webrtc-codereview.appspot.com/303002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1075 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-12-01 15:40:50 +00:00
andrew@webrtc.org
1e91693fe2 Move stream_delay check to ProcessStream().
- was_stream_delay_set_ was being incorrectly reset in
AnalyzeReverseStream().
- Added tests to catch this case.

BUG=
TEST=audioproc_unittest

Review URL: http://webrtc-codereview.appspot.com/291011

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1054 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 18:28:57 +00:00
bjornv@webrtc.org
4b80eb4fcd Name change resampler.c/h to aec_resampler.c/h.
To avoid possible conflict with resampler in common_audio.
Review URL: http://webrtc-codereview.appspot.com/296006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1046 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-29 08:44:01 +00:00
andrew@webrtc.org
400ad6928e Fix compile warning in NS.
BUG=issue151
TEST=audioproc_unittest

Review URL: http://webrtc-codereview.appspot.com/290005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1041 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-28 21:33:42 +00:00
andrew@webrtc.org
1e39bc80dc Handle debug files from multiple AEC instances.
Review URL: http://webrtc-codereview.appspot.com/295006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1036 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-27 23:46:23 +00:00
andrew@webrtc.org
a919d3a643 Don't return a zero delay with insufficient data.
For estimating a delay over a long segment (e.g. a file) this can
throw off the estimate. Better not to add values to the AEC's histogram
until they're reliable.

BUG=
TEST=audiproc, audioproc_unittest

Review URL: http://webrtc-codereview.appspot.com/292004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1035 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-27 23:40:58 +00:00
andrew@webrtc.org
ba028a31c9 Fix sample rate printout in process_test.
TBR=bjornv

Review URL: http://webrtc-codereview.appspot.com/292005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1008 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-23 20:37:12 +00:00
andrew@webrtc.org
828af1b4b9 Add lookahead to the delay estimator.
TEST=audioproc_unittest

Review URL: http://webrtc-codereview.appspot.com/279014

git-svn-id: http://webrtc.googlecode.com/svn/trunk@992 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 22:40:27 +00:00
andrew@webrtc.org
8594f7688b Add a gyp variable for AEC debug dumps.
TEST=process_test.cc

Review URL: http://webrtc-codereview.appspot.com/276012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@987 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-22 00:51:41 +00:00
kma@webrtc.org
a249f35203 Correct several makefile errors for Android build.
Review URL: http://webrtc-codereview.appspot.com/267024

git-svn-id: http://webrtc.googlecode.com/svn/trunk@986 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-21 22:16:10 +00:00
bjornv@webrtc.org
2f047ccede Removed unnecessary variable to avoid compiler error on Win.
Review URL: http://webrtc-codereview.appspot.com/267021

git-svn-id: http://webrtc.googlecode.com/svn/trunk@975 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-18 12:03:25 +00:00
bjornv@webrtc.org
6a9835d59c Delay estimator structural changes.
Improved the way we handle different data types (float vs fixed) and reduced the complexity by nearly 50%.
We now have a generic struct for both float and fixed delay estimators and a core struct for the binary spectrum based delay estimator. All wrapper codes (for both fixed and float) are gathered in delay_estimator_wrappers.*.
Moved out the far end history buffer to AEC(M).
Added a union to handle difference types when create.
Review URL: http://webrtc-codereview.appspot.com/277004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@973 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-18 08:30:34 +00:00
kjellander@webrtc.org
0403ef419f Restructuring and adding unit test targets on project level instead of in common_audio.
Review URL: http://webrtc-codereview.appspot.com/280001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@959 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-17 08:35:47 +00:00
andrew@webrtc.org
755b04a06e Add RMS computation for the RTP level indicator.
- Compute RMS over a packet's worth of audio to be sent in Channel, rather than the captured audio in TransmitMixer.
- We now use the entire packet rather than the last 10 ms frame.
- Restore functionality to LevelEstimator.
- Fix a bug in the splitting filter.
- Fix a number of bugs in process_test related to a poorly named
  AudioFrame member.
- Update the unittest protobuf and float reference output.
- Add audioproc unittests.
- Reenable voe_extended_tests, and add a real function test.
- Use correct minimum level of 127.

TEST=audioproc_unittest, audioproc, voe_extended_test, voe_auto_test

Review URL: http://webrtc-codereview.appspot.com/279003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@950 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-15 16:57:56 +00:00
andrew@webrtc.org
0db7dc6e18 Add file-playing channels to voe_cmd_test.
Fix file reading and writing.

TEST=voe_cmd_test

Review URL: http://webrtc-codereview.appspot.com/279001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@938 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-13 01:34:05 +00:00
andrew@webrtc.org
cd8243807e Unpack the full set of audioproc data.
Review URL: http://webrtc-codereview.appspot.com/276004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@937 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-11 19:13:36 +00:00
andrew@webrtc.org
c4f129f97c Improve the mixing saturation protection scheme.
A single participant is not processed at all. With multiple
participants, we divide-by-2 as before when mixing. Afterwards,
the mixed signal is limited by the AGC to -7 dBFS and then doubled to
restore the original level.

This preserves the level while guaranteeing good saturation protection.

Add a test to voe_auto_test. Hijack and improve the existing mixing test
for this.

TEST=voe_auto_test, voe_cmd_test

Review URL: http://webrtc-codereview.appspot.com/241013

git-svn-id: http://webrtc.googlecode.com/svn/trunk@920 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-10 03:41:22 +00:00
andrew@webrtc.org
4b13fc9c09 Add delay modification to process_test.
Review URL: http://webrtc-codereview.appspot.com/266007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@916 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-09 19:27:11 +00:00
andrew@webrtc.org
89088b963e Fix the path to protoc.gypi.
It was mistakenly pointing to the trunk/build rather than the
trunk/src/build copy, causing the Chrome build to fail.

TEST=./build/gyp_chromium in Chrome

Review URL: http://webrtc-codereview.appspot.com/253006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@883 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-03 20:43:45 +00:00
andrew@webrtc.org
18ee6ec8e9 Use __inline in NS-fixed.
The use of "inline" was failing to build on Windows.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/255003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@860 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 17:07:46 +00:00
andrew@webrtc.org
3119ecfec8 Fix audioproc build errors on Windows.
BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/254003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@859 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-11-01 17:00:18 +00:00
andrew@webrtc.org
cb18121990 Add an unpacker tool for audioproc debug files.
- It only unpacks audio data at the moment.
- Also switch to Chrome's protoc.gypi for protobuf targets. This reduces
  the complexity of our targets.

Review URL: http://webrtc-codereview.appspot.com/241009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@817 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-26 00:27:17 +00:00
kma@webrtc.org
ca325ececd Corrected a linux build error introduced in issue 246005.
Review URL: http://webrtc-codereview.appspot.com/246008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@809 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-25 02:36:09 +00:00
kma@webrtc.org
913644b92d For commiting changes in CL 277002, due to file structure changes introduced during
the review of the code.
Review URL: http://webrtc-codereview.appspot.com/246005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@805 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-24 21:36:33 +00:00
bjornv@webrtc.org
4c636764b7 Updated the AEC delay logging to output values in ms. PB output updated.
Review URL: http://webrtc-codereview.appspot.com/223003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@770 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 08:47:40 +00:00
andrew@webrtc.org
4d5d5c1267 Reorganize the audio_processing source.
- Remove main and source directories.
- Change .gyp, .gypi and Android.mk files correspondingly. No other
  source changes.

Review URL: http://webrtc-codereview.appspot.com/241001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@767 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-19 01:40:33 +00:00
kjellander@webrtc.org
61f07c3184 I have made a small fix so it will execute properly from the default working directory location (trunk), finding its resource files.
The ApmTest.Process test is still failing and needs to be resolved.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/194002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@761 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-18 06:54:58 +00:00
kma@webrtc.org
af57de006a Some code style changes in audio_processing/ns/main/source/ by Astyle,
with a little manual modification.
Review URL: http://webrtc-codereview.appspot.com/201002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@698 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-05 23:36:01 +00:00
kma@webrtc.org
bbc1f10187 Changed modules/audio_processing/utility/Android.mk, to correct a build error in
Android with the change from version r674.
Review URL: http://webrtc-codereview.appspot.com/197003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@694 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-05 18:09:02 +00:00
kma@webrtc.org
bf39ff4271 Some general optimization in NS.
No big effort in introducing new style.
Speed improved ~2%.
Bit exact.
Will introduce mulpty-and-accumulate and sqrt_floor next, which increase speed another 2% or so.

Note: In function WebRtcNsx_DataAnalysis, did the block separation because I found one "if" case is more frequent than "else" within a for loop; rest is kind of code re-aligning.
Review URL: http://webrtc-codereview.appspot.com/181002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@692 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-05 17:10:06 +00:00
bjornv@google.com
1ba3dbecbb Adds possibility to log delay estimates in AEC.
Review URL: http://webrtc-codereview.appspot.com/178001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@674 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-10-03 08:18:10 +00:00
kma@google.com
c611b1a950 Bit-exact with non-Neon version.
Review URL: http://webrtc-codereview.appspot.com/180002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@660 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-28 16:03:38 +00:00
andrew@webrtc.org
18421f2063 Remove unnecessary include from NS interface.
http://code.google.com/p/webrtc/issues/detail?id=46
Review URL: http://webrtc-codereview.appspot.com/183001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@656 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-27 19:50:52 +00:00
bjornv@google.com
a2c6ea09b0 Removed a segmentation fault error when processing near_file only.
Review URL: http://webrtc-codereview.appspot.com/174001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@650 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-27 08:04:45 +00:00
turajs@google.com
cf136186f5 Deleting matlab files
git-svn-id: http://webrtc.googlecode.com/svn/trunk@647 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 21:49:25 +00:00
turajs@google.com
13335ccd7a Deleting matlab files
git-svn-id: http://webrtc.googlecode.com/svn/trunk@646 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 21:47:25 +00:00
turajs@google.com
610f478705 Deleting matlab files
git-svn-id: http://webrtc.googlecode.com/svn/trunk@645 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 21:45:34 +00:00
turajs@google.com
53439d9982 Deleting matlab files
git-svn-id: http://webrtc.googlecode.com/svn/trunk@644 4adac7df-926f-26a2-2b94-8c16560cd09d
2011-09-23 21:44:00 +00:00