24 Commits

Author SHA1 Message Date
bjornv@webrtc.org
7ded92b71e Re-committing r3428
TBR=ajm
BUG=None

Review URL: https://webrtc-codereview.appspot.com/1066008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3436 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-30 16:16:59 +00:00
bjornv@webrtc.org
e12b1b562c Revert 3428
> Delay estimator wrapper API changes. This should finalize the changes to delay estimator making it work for multi-probe.
> 
> The changes are summarized here:
> 
> delay_estimator.*
> -----------------
> Replaced assert() with correct error check. This is consistent with previous versions of the delay_estimator, i.e., to check for valid parameters where they are actually used and not high up in a wrapper layer.
> 
> delay_estimator_internal.h
> --------------------------
> Pulled out the far-end part of DelayEstimator struct and put it in DelayEstimatorFarend. The only common parameter is spectrum_size, which we store in both and thereby avoiding having a Farend pointer in DelayEstimator.
> 
> delay_estimator_wrapper.*
> -------------------------
> Added and updated descriptions. From Free(), Create(), Init() the far-end parts have been put in separate Farend versions. Same goes for the Process() which now has an AddFarSpectrum() version.
> The flow of calls should be something like (in pseudo-code)
> 
> far* = CreateFarend(history_size)
> near* = Create(far, lookahead)
> InitFarend(far)
> Init(near)
> while call ongoing
>   AddFarSpectrum(far, far_spectrum)
>   Process(near, near_spectrum)
> end while
> Free(near)
> FreeFarend(far)
> 
> delay_estimator_unittest.cc
> ---------------------------
> Added farend support setting up calls as mentioned above.
> 
> aecm_core.*
> -----------
> Cleaned up some lint warnings.
> Added delay_estimator_farend pointer. Called Create(), Init() and Free() in above mentioned order.
> If AddFarSpectrumFix() was not successfully done, we end and return -1. This is what we would have done for Process().
> 
> aec_core.*
> ----------
> Cleaned up some lint warnings.
> Added delay_estimator_farend pointer. Calls in proper order. Since we only use the delay estimator for logging there is no error handling. We only call Process() if AddFarSpectrum() was successful though.
> 
> TEST=audioproc_unittest, trybots
> BUG=None
> 
> Review URL: https://webrtc-codereview.appspot.com/1076006

TBR=bjornv@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1062008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3429 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 21:30:26 +00:00
bjornv@webrtc.org
61ec7daa57 Delay estimator wrapper API changes. This should finalize the changes to delay estimator making it work for multi-probe.
The changes are summarized here:

delay_estimator.*
-----------------
Replaced assert() with correct error check. This is consistent with previous versions of the delay_estimator, i.e., to check for valid parameters where they are actually used and not high up in a wrapper layer.

delay_estimator_internal.h
--------------------------
Pulled out the far-end part of DelayEstimator struct and put it in DelayEstimatorFarend. The only common parameter is spectrum_size, which we store in both and thereby avoiding having a Farend pointer in DelayEstimator.

delay_estimator_wrapper.*
-------------------------
Added and updated descriptions. From Free(), Create(), Init() the far-end parts have been put in separate Farend versions. Same goes for the Process() which now has an AddFarSpectrum() version.
The flow of calls should be something like (in pseudo-code)

far* = CreateFarend(history_size)
near* = Create(far, lookahead)
InitFarend(far)
Init(near)
while call ongoing
  AddFarSpectrum(far, far_spectrum)
  Process(near, near_spectrum)
end while
Free(near)
FreeFarend(far)

delay_estimator_unittest.cc
---------------------------
Added farend support setting up calls as mentioned above.

aecm_core.*
-----------
Cleaned up some lint warnings.
Added delay_estimator_farend pointer. Called Create(), Init() and Free() in above mentioned order.
If AddFarSpectrumFix() was not successfully done, we end and return -1. This is what we would have done for Process().

aec_core.*
----------
Cleaned up some lint warnings.
Added delay_estimator_farend pointer. Calls in proper order. Since we only use the delay estimator for logging there is no error handling. We only call Process() if AddFarSpectrum() was successful though.

TEST=audioproc_unittest, trybots
BUG=None

Review URL: https://webrtc-codereview.appspot.com/1076006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3428 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 18:55:59 +00:00
andrew@webrtc.org
63e0964039 Fix webrtc compilation errors for Chrome Win64
Mostly disabling warnings in the gyp files.

BUG=1348
BUG=http://crbug.com/166496
BUG=http://crbug.com/167187

Review URL: https://webrtc-codereview.appspot.com/1063011
Patch from Justin Schuh <jschuh@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3423 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-29 06:45:22 +00:00
bjornv@webrtc.org
8526459a2e Added tests for multiple near-end support.
TEST=trybots, audioproc_unittest
BUG=None

Review URL: https://webrtc-codereview.appspot.com/1063007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3417 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 22:33:17 +00:00
bjornv@webrtc.org
57f3a11958 Short CL: only name change.
From |handle| to |self| for consistency.

BUG=None

Review URL: https://webrtc-codereview.appspot.com/1072005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3416 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 22:02:15 +00:00
bjornv@webrtc.org
94c213af1a Separated far-end handling in BinaryDelayEstimator.
This CL is one step in a larger change of the DelayEstimator where we will open up for multiple near-end signals.

This particular CL separates the low level far-end parts without affecting the usage externally. This is a first step towards separating the far-end and near-end parts giving the user the control.

BUG=None
TEST=audioproc_unittests, trybots

Review URL: https://webrtc-codereview.appspot.com/1068005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3415 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 15:53:41 +00:00
kma@webrtc.org
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
andrew@webrtc.org
ae1a58bba4 Replace AudioFrame's operator= with CopyFrom().
Enforce DISALLOW_COPY_AND_ASSIGN to catch offenders.

Review URL: https://webrtc-codereview.appspot.com/1031007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3395 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-22 04:44:30 +00:00
bjornv@webrtc.org
bb599b7089 This CL includes part of changes in a larger one. The final goal is to allow multiple delay estimators using the same reference (far-end) to save computational complexity.
BUG=None

Review URL: https://webrtc-codereview.appspot.com/1024010

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3391 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 23:16:46 +00:00
bjornv@webrtc.org
a2d8b75f29 An API to get the internal estimation quality in the delay estimator has been added. Unit tests have been updated. There is no impact to other parts in WebRTC.
BUG=None

Review URL: https://webrtc-codereview.appspot.com/1036004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3390 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-18 21:54:15 +00:00
andrew@webrtc.org
bafdae3cfc Fix simulated analog gain in audioproc.
* It doesn't make much sense to apply at all when reading from the protobuf.
* Reduced the gain to be closer to actual mics.

BUG=1260

Review URL: https://webrtc-codereview.appspot.com/1027007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3366 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-11 23:11:29 +00:00
kma@webrtc.org
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
kjellander@webrtc.org
10abe25f6d Make audioproc output files be written to output dir by default.
This makes the following files be written into the output dir instead of
the current working dir:
* out.pcm
* vad_out.dat
* ns_prob.dat

TEST=out/Debug/audioproc -aecm -ns -agc --fixed_digital --perf -pb
resources/audioproc.aecdump
All trybots passing.
BUG=none

Review URL: https://webrtc-codereview.appspot.com/1003005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3302 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-17 18:28:07 +00:00
kma@webrtc.org
0e739508e0 Added buildbot benchmarking in iSAC and APM into Android platform build.
Review URL: https://webrtc-codereview.appspot.com/964022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3247 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 15:26:28 +00:00
andrew@webrtc.org
b43502e388 Revert 3170 - Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

TBR=kma@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/969009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3172 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 23:57:38 +00:00
kma@webrtc.org
4cd8f1f182 Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3170 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 22:02:47 +00:00
kma@webrtc.org
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
andrew@webrtc.org
d72b3d6c81 Fix cpplint errors in audio_processing.h
TBR=leozwang@webrtc.org
BUG=1114

Review URL: https://webrtc-codereview.appspot.com/934015

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3108 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-15 21:46:06 +00:00
leozwang@webrtc.org
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
kma@webrtc.org
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
andrew@webrtc.org
8186534111 Only reinitialize AudioProcessing when needed.
This takes away the burden from the user, resulting in cleaner code.

Review URL: https://webrtc-codereview.appspot.com/941005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3010 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-27 00:28:27 +00:00
leozwang@webrtc.org
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
andrew@webrtc.org
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