History log of /external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6955870806624479723addfae6dcf5d13968796c 13-Jan-2016 Peter Kasting <pkasting@google.com> Convert channel counts to size_t.

IIRC, this was originally requested by ajm during review of the other size_t conversions I did over the past year, and I agreed it made sense, but wanted to do it separately since those changes were already gargantuan.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, henrika@webrtc.org, kjellander@webrtc.org, minyue@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

Review URL: https://codereview.webrtc.org/1316523002 .

Cr-Commit-Position: refs/heads/master@{#11229}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
25702cb1628941427fa55e528f53483f239ae011 08-Jan-2016 pkasting <pkasting@chromium.org> Misc. small cleanups.

* Better param names
* Avoid using negative values for (bogus) placeholder channel counts (mostly in tests). Since channels will be changing to size_t, negative values will be illegal; it's sufficient to use 0 in these cases.
* Use arraysize()
* Use size_t for counting frames, samples, blocks, buffers, and bytes -- most of these are already size_t in most places, this just fixes some stragglers
* reinterpret_cast<int64_t>(void*) is not necessarily safe; use uintptr_t instead
* Remove unnecessary code, e.g. dead code, needlessly long/repetitive code, or function overrides that exactly match the base definition
* Fix indenting
* Use uint32_t for timestamps (matching how it's already a uint32_t in most places)
* Spelling
* RTC_CHECK_EQ(expected, actual)
* Rewrap
* Use .empty()
* Be more pedantic about matching int/int32_t/
* Remove pointless consts on input parameters to functions
* Add missing sanity checks

All this was found in the course of constructing https://codereview.webrtc.org/1316523002/ , and is being landed separately first.

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1534193008

Cr-Commit-Position: refs/heads/master@{#11191}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
cb3f9bd9c024f11e1ee060de23bf65c7a1f9f594 30-Oct-2015 Alejandro Luebs <aluebs@webrtc.org> Make the nonlinear beamformer steerable

Depends on this CL: https://codereview.webrtc.org/1395453004/

R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1394103003 .

Cr-Commit-Position: refs/heads/master@{#10458}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
1897f77806baad82d321efb6c4c2f27f8c9458b3 20-Oct-2015 aluebs <aluebs@webrtc.org> Make the high frequency correction range depend on the target angle

Depends on this CL: https://codereview.webrtc.org/1388033002/

Review URL: https://codereview.webrtc.org/1395453004

Cr-Commit-Position: refs/heads/master@{#10331}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
4a66e4a4d8847cef1e61aec6978f64dddece3d96 20-Oct-2015 aluebs <aluebs@webrtc.org> Make the separation between target and interferer scenario depend on microphone spacing in NonlinearBeamformer

Depends on this CL: https://codereview.webrtc.org/1378973003/

Review URL: https://codereview.webrtc.org/1388033002

Cr-Commit-Position: refs/heads/master@{#10330}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
45daf7b26f49793c30e395f7ba7be30aa51936bb 17-Oct-2015 aluebs <aluebs@webrtc.org> Implement new version of the NonlinearBeamformer

Sounds better according to a MUSHRA listening test.
The computational complexity is unaffected.
An empirically estimated gain was added to compensate for the attenuation introduced by the algorithm.
There are some TODOs, which I will address in follow up CLs.

It was tested in Hangouts without headphones and highest volume, to make sure it doesn't affect the AEC.

Review URL: https://codereview.webrtc.org/1378973003

Cr-Commit-Position: refs/heads/master@{#10308}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> Add RTC_ prefix to (D)CHECKs and related macros.

We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1335923002

Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
dce40cf804019a9898b6ab8d8262466b697c56e0 24-Aug-2015 Peter Kasting <pkasting@google.com> Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

Review URL: https://codereview.webrtc.org/1230503003 .

Cr-Commit-Position: refs/heads/master@{#9768}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
b297c5a01f88219da26cffe433804963d1b70f0f 23-Jul-2015 pkasting <pkasting@chromium.org> Miscellaneous changes split from https://codereview.webrtc.org/1230503003 .

These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.

Note explanatory comments on patch set 1.

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1235643003

Cr-Commit-Position: refs/heads/master@{#9617}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
1adbacb19dbe6f4c537c9cc9d04242b61735a2b8 30-Jun-2015 bloch <bloch@google.com> Adding method IsInBeam to beamformer class.

This was previously reviewed at:
https://webrtc-codereview.appspot.com/53729004/

Review URL: https://codereview.webrtc.org/1211613005

Cr-Commit-Position: refs/heads/master@{#9517}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
645299d4e092e6e3828621045afbc2cb311476c4 28-May-2015 Andrew MacDonald <andrew@webrtc.org> Add frequency smoothing to postfilter.

Reduces musical noise with minimal impact on interferer suppression.

This also unifies the treatment of "mean bins". The "end" bin is now
inclusive in the mean range as with the "start" bin.

Corrects interpretation of quantile.

BUG=chromium:490477
R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9317}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
8db80696604f2f0526a4f30cef1e4c516396513e 19-May-2015 Alejandro Luebs <aluebs@webrtc.org> Change high frequency correction range

From 6kHz-6.5kHz to 3kHz-5kHz. Previous range had unreliable mask values, letting high frequencies from all directions through. The new range is wider and lower, which results in better estimates.

R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9213}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
cb05b72eb2f7db4478b93b16faf31ec74237453e 08-May-2015 Andrew MacDonald <andrew@webrtc.org> Add WAV and arbitrary geometry support to nlbf test.

This adds functionality from audioproc_float. The geometry parsing code
is now shared from test_utils.h. I removed the "mic_spacing" flag from
audioproc_float because it's a redundancy that I suspect isn't very
useful.

Includes a cleanup of the audio_processing test utils. They're now
packaged in targets, with the protobuf-using ones split out to avoid
requiring users to depend on protobufs.

pcm_utils is no longer needed and removed.

The primary motivation for this CL is that AudioProcessing currently
doesn't support more than two channels and we'd like a way to pass
more channels to the beamformer.

R=aluebs@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9157}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
dfa36058c945cf2ef9932a566987f648c24fa632 26-Mar-2015 Michael Graczyk <mgraczyk@chromium.org> Reparent Nonlinear beamformer under beamforming interface.

R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8862}
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc
0f663de2ec25731d538a3a7d9b4d2c21ae61af8d 13-Mar-2015 mgraczyk@chromium.org <mgraczyk@chromium.org> Rename Beamformer to NonlinearBeamformer.

R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8710}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8710 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/webrtc/modules/audio_processing/beamformer/nonlinear_beamformer.cc