Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Issue 1806853004: Added a bitexactness test for the beamformer in the audio processing module (Closed)

Created:
4 years, 9 months ago by peah-webrtc
Modified:
4 years, 8 months ago
CC:
webrtc-reviews_webrtc.org, Andrew MacDonald, tterriberry_mozilla.com, audio-team_agora.io, hlundin-webrtc, kwiberg-webrtc, minyue-webrtc, the sun, bjornv1
Base URL:
https://chromium.googlesource.com/external/webrtc.git@AgcBitExactness_CL
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Added a bitexactness test for the beamformer in the audio processing module BUG=webrtc:5341 Committed: https://crrev.com/ceef04613b1bea79a0b650db9e5ca5d8e153adbc Cr-Commit-Position: refs/heads/master@{#12137}

Patch Set 1 : #

Total comments: 118

Patch Set 2 : Changes in response to reviewer comments #

Total comments: 8

Patch Set 3 : Moved the bitexactness unittest code to the proper file #

Patch Set 4 : Changes in response to reviewer comments #

Patch Set 5 : Reenabled a test #

Patch Set 6 : Rebase #

Patch Set 7 : Disabled all the bitexactness tests for the beamformer due to problems with division by zero in the… #

Unified diffs Side-by-side diffs Delta from patch set Stats (+226 lines, -0 lines) Patch
M webrtc/modules/audio_processing/beamformer/nonlinear_beamformer_unittest.cc View 1 2 3 4 5 6 3 chunks +226 lines, -0 lines 0 comments Download

Messages

Total messages: 29 (10 generated)
peah-webrtc
Hi, I've been setting up bitexactness tests for all the APM submodules. This test is ...
4 years, 9 months ago (2016-03-18 07:28:02 UTC) #4
peah-webrtc
Correcting reviewer email address.
4 years, 9 months ago (2016-03-18 09:20:21 UTC) #6
hlundin-webrtc
lgtm
4 years, 9 months ago (2016-03-18 11:53:29 UTC) #7
aluebs-webrtc
I am not sure how useful these kind of tests are, since they don't capture ...
4 years, 9 months ago (2016-03-18 22:51:53 UTC) #8
peah-webrtc
I partly agree about the usefulness. The best thing would definitely be to have a ...
4 years, 9 months ago (2016-03-21 06:34:28 UTC) #9
peah-webrtc
https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc File webrtc/modules/audio_processing/beamformer_unittest.cc (right): https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc#newcode22 webrtc/modules/audio_processing/beamformer_unittest.cc:22: const int kNumFramesToProcess = 1000; On 2016/03/18 22:51:51, aluebs-webrtc ...
4 years, 9 months ago (2016-03-21 08:02:09 UTC) #10
aluebs-webrtc
Thank you for doing the moving in a different patch. https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc File webrtc/modules/audio_processing/beamformer_unittest.cc (right): https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc#newcode24 ...
4 years, 9 months ago (2016-03-22 12:15:56 UTC) #11
peah-webrtc
Hi, Thanks for the comments. I have made changes accordingly but there is currently an ...
4 years, 9 months ago (2016-03-23 22:06:20 UTC) #12
aluebs-webrtc
Today the beamformer is not used anywhere with more than 2 mics as far as ...
4 years, 9 months ago (2016-03-24 11:14:25 UTC) #13
peah-webrtc
https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc File webrtc/modules/audio_processing/beamformer_unittest.cc (right): https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc#newcode115 webrtc/modules/audio_processing/beamformer_unittest.cc:115: // TODO(peah): Investigate why the nonlinear_beamformer.cc causes a DCHECK ...
4 years, 9 months ago (2016-03-24 11:51:30 UTC) #14
aluebs-webrtc
lgtm, once you add a TODO to test on more channels. Also, let's discuss offline ...
4 years, 8 months ago (2016-03-28 23:01:17 UTC) #15
peah-webrtc
https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc File webrtc/modules/audio_processing/beamformer_unittest.cc (right): https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc#newcode117 webrtc/modules/audio_processing/beamformer_unittest.cc:117: TEST(BeamformerBitExactnessTest, On 2016/03/28 23:01:17, aluebs-webrtc wrote: > On 2016/03/24 ...
4 years, 8 months ago (2016-03-29 05:19:19 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1806853004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1806853004/140001
4 years, 8 months ago (2016-03-29 05:35:48 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: linux_ubsan on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_ubsan/builds/825)
4 years, 8 months ago (2016-03-29 05:58:20 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1806853004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1806853004/160001
4 years, 8 months ago (2016-03-29 11:04:09 UTC) #24
commit-bot: I haz the power
Committed patchset #7 (id:160001)
4 years, 8 months ago (2016-03-29 12:35:53 UTC) #25
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/ceef04613b1bea79a0b650db9e5ca5d8e153adbc Cr-Commit-Position: refs/heads/master@{#12137}
4 years, 8 months ago (2016-03-29 12:36:08 UTC) #27
aluebs-webrtc
On 2016/03/29 05:19:19, peah-webrtc wrote: > https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc > File webrtc/modules/audio_processing/beamformer_unittest.cc (right): > > https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_processing/beamformer_unittest.cc#newcode117 > ...
4 years, 8 months ago (2016-03-29 15:04:25 UTC) #28
peah-webrtc
4 years, 8 months ago (2016-03-29 17:04:53 UTC) #29
Message was sent while issue was closed.
On 2016/03/29 15:04:25, aluebs-webrtc wrote:
> On 2016/03/29 05:19:19, peah-webrtc wrote:
> >
>
https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_proc...
> > File webrtc/modules/audio_processing/beamformer_unittest.cc (right):
> > 
> >
>
https://codereview.webrtc.org/1806853004/diff/40001/webrtc/modules/audio_proc...
> > webrtc/modules/audio_processing/beamformer_unittest.cc:117:
> > TEST(BeamformerBitExactnessTest,
> > On 2016/03/28 23:01:17, aluebs-webrtc wrote:
> > > On 2016/03/24 11:51:30, peah-webrtc wrote:
> > > > On 2016/03/24 11:14:25, aluebs-webrtc wrote:
> > > > > On 2016/03/23 22:06:19, peah-webrtc wrote:
> > > > > > On 2016/03/22 12:15:55, aluebs-webrtc wrote:
> > > > > > > On 2016/03/21 08:02:08, peah-webrtc wrote:
> > > > > > > > On 2016/03/18 22:51:52, aluebs-webrtc wrote:
> > > > > > > > > This test would be a lot simpler if we use TEST_P and
> > > > > > > INSTANTIATE_TEST_CASE_P.
> > > > > > > > 
> > > > > > > > Very likely, but I could not come up with a good way to in an
> > explicit
> > > > > > manner
> > > > > > > > combine the testvectors with the input parameters in
> > > > > > INSTANTIATE_TEST_CASE_P.
> > > > > > > Do
> > > > > > > > you have any suggestion on how to achieve that?
> > > > > > > 
> > > > > > > You can have a function, similar to CreateArrayGeometry, that
> returns
> > > the
> > > > > > > reference from the sample rate, the geometry case and the
direction
> > > case.
> > > > > > 
> > > > > > Ah, then I see. That is a good suggestion and most likely it would
> > produce
> > > > > more
> > > > > > compact code. One drawback is, however, that it is not possible to
> > disable
> > > > > > tests. The way the tests are set up in this test is how the
reviewers
> of
> > > the
> > > > > > first of the submodule bitexactness tests preferred it to be. And
even
> > > > though
> > > > > it
> > > > > > is a bit verbose, I like that it is very explicit. 
> > > > > 
> > > > > I think using TEST_P is exactly as verbose, since you have to manually
> add
> > > > each
> > > > > case you want to test, but it avoids to repeat the code. And you could
> > > disable
> > > > a
> > > > > specific test by commenting out the line where you instantiate it. Did
> the
> > > > > original reviewers evaluate using TEST_P? Because they might also
prefer
> > > this,
> > > > > and in that case it would be good to also port all the rest of the
tests
> > to
> > > > this
> > > > > mode.
> > > > 
> > > > Yes, the initial version of the bitexactness test for the highpass
filter
> > > > (https://codereview.webrtc.org/1510493004) was using TEST_P and
> > > > INSTANTIATE_TEST_CASE_P.
> > > > The argument against that was that normal tests was easier to understand
> and
> > > > maintain which I agree with. Furthermore, I think it is more explicit to
> > > disable
> > > > test in the GTEST manner rather than commenting them out. I think that
it
> > > makes
> > > > sense to have the bitexactness tests for all the APM submodules done in
> the
> > > same
> > > > way.
> > > 
> > > I don't see any comments of the reviewers before the patch you removed the
> > > TEST_P, but I trust you had an offline discussion with them. I agree that
> all
> > > submodule-tests should be consistent, but I personally think that if there
> is
> > a
> > > nice feature to make tests parametric, why not use it. If everybody agrees
> on
> > > not using TEST_P, I will not oppose to that.
> > 
> > The comment is there with the timestamp 2015-12-10 08:53:49 UTC.
> 
> I didn't see that comment, because I was checking the comments on the patches
> themselves. Thank you for pointing that out.
> But the TODO was never added.

Ouch! Sorry about. I'm creating a new CL for that now.

Powered by Google App Engine
This is Rietveld 408576698