As part of style this CL includes changing the input aggressiveness mode from int16_t to int. No other style changes made.
Impact on:
- Audio Processing: Changed return value on MapSetting().
- Function test in audio_conference_mixer already uses int. No action.
- NetEq: Function pointer changes and input parameter changes in SetVADMode() and SetVADModeInternal().
- Audio Coding: Uses enum ACMVADMode which is type independent.
- VAD: Two unit tests.
TESTS=vad_unittests, neteq_unittests, audioproc_unittest
Review URL: https://webrtc-codereview.appspot.com/373001
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1544 4adac7df-926f-26a2-2b94-8c16560cd09d
Performance verified on a few 32 kHz files.
BUG=
TEST=audioproc, audioproc_unittest
Updated output_data_float.pb
Changes in SWB tests (3, 6, 9 and 12) as
Running test 3 of 12...
src/modules/audio_processing/test/unit_test.cc:1182: Failure
Value of: max_output_average
Actual: 1363
Expected: test->max_output_average()
Which is: 1386
Running test 6 of 12...
src/modules/audio_processing/test/unit_test.cc:1182: Failure
Value of: max_output_average
Actual: 2070
Expected: test->max_output_average()
Which is: 2109
Running test 9 of 12...
src/modules/audio_processing/test/unit_test.cc:1182: Failure
Value of: max_output_average
Actual: 1314
Expected: test->max_output_average()
Which is: 1336
Running test 12 of 12...
src/modules/audio_processing/test/unit_test.cc:1182: Failure
Value of: max_output_average
Actual: 2049
Expected: test->max_output_average()
Which is: 2085
Review URL: https://webrtc-codereview.appspot.com/344013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1465 4adac7df-926f-26a2-2b94-8c16560cd09d
When targeting 32-bit Linux, we need to pass -msse2 to gcc to compile
SSE2 intrinsics. However, -msse2 also gives gcc license to automatically
generate SSE2 instructions wherever it pleases. This will crash our code
on processors without SSE2 support.
This change breaks the files with SSE2 intrinsics into separate targets,
such that we can limit the scope of -msse2 to where it's needed.
We no longer need to employ the WEBRTC_USE_SSE2 define; the build system
decides when SSE2 is supported and compiles the appropriate files.
TBR=bjornv@webrtc.org
TEST=audioproc (performance testing), audioproc_unittest, video_processing_unittests, build on Linux (targeting ia32/x64, with disable_sse2==0/1), Mac, Windows
Review URL: http://webrtc-codereview.appspot.com/352008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1425 4adac7df-926f-26a2-2b94-8c16560cd09d
I found some issues in building ARMv5 with ICM. This CL includes fixes,
and a design change which now will exclude any NEON libraries unless
the build is for dynamic detection or for Neon specifically.
Review URL: http://webrtc-codereview.appspot.com/330021
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1335 4adac7df-926f-26a2-2b94-8c16560cd09d
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
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
- 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
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
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
- 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
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