New issue
Advanced search Search tips

Issue 714993 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android , iOS , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

The WebRTC echo canceller 3 is too complex on ARM platforms due to lack of SIMD optimizations

Project Member Reported by peah@chromium.org, Apr 25 2017

Issue description

The WebRTC echo canceller 3 is very complex on ARM platform. The reason for that is that Neon SIMD optimizations are not used. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad

commit 5d153c76c60fc3388d60ff3b84a9b4b5557c57ad
Author: peah <peah@webrtc.org>
Date: Wed May 03 13:45:44 2017

Reland of Added ARM Neon SIMD optimizations for AEC3 (patchset #1 id:1 of https://codereview.webrtc.org/2856113003/ )

Reason for revert:
The original patch set was correct, but the Chromium bug number needed to be corrected.

Original issue's description:
> Revert of Added ARM Neon SIMD optimizations for AEC3 (patchset #2 id:970001 of https://codereview.webrtc.org/2834073005/ )
>
> Reason for revert:
> The bug number for the chromium bug was wrong.
>
> Original issue's description:
> > Added ARM Neon optimizations for AEC3
> >
> > This CL adds Neon SIMD optimizations for AEC3 on ARM, resulting
> > in an 8 times complexity reduction. The optimizations are basically
> > identical to what was already in place for SSE2.
> >
> > BUG= chromium:14993 ,  webrtc:6018 
> >
> > Review-Url: https://codereview.webrtc.org/2834073005
> > Cr-Commit-Position: refs/heads/master@{#17993}
> > Committed: https://chromium.googlesource.com/external/webrtc/+/f246b91eba0e8d95bd3fee4634887fb6d3017811
>
> TBR=ivoc@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG= chromium:14993 ,  webrtc:6018 
>
> Review-Url: https://codereview.webrtc.org/2856113003
> Cr-Commit-Position: refs/heads/master@{#17994}
> Committed: https://chromium.googlesource.com/external/webrtc/+/b70f8cfd4d5cf6fe31a8089df9955b7e7b7ebd32

TBR=ivoc@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= chromium:714993 ,  webrtc:6018 

Review-Url: https://codereview.webrtc.org/2862573002
Cr-Commit-Position: refs/heads/master@{#17997}

[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.cc
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/adaptive_fir_filter.h
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/adaptive_fir_filter_unittest.cc
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/aec3_common.cc
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/aec3_common.h
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/matched_filter.cc
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/matched_filter.h
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/matched_filter_unittest.cc
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/vector_math.h
[modify] https://crrev.com/5d153c76c60fc3388d60ff3b84a9b4b5557c57ad/webrtc/modules/audio_processing/aec3/vector_math_unittest.cc

Comment 2 by peah@chromium.org, May 3 2017

Labels: Merge-Request-59

Comment 3 by peah@chromium.org, May 3 2017

Labels: -Pri-3 Pri-2

Comment 4 by peah@chromium.org, May 3 2017

Labels: -Merge-Request-59

Comment 5 by peah@chromium.org, May 3 2017

Labels: Merge-Request-59

Comment 6 by peah@chromium.org, May 3 2017

Labels: OS-Android OS-Chrome OS-iOS
Project Member

Comment 7 by sheriffbot@chromium.org, May 3 2017

Labels: -Merge-Request-59 Merge-Review-59 Hotlist-Merge-Review
This bug requires manual review: Reverts referenced in bugdroid comments after merge request.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 8 by peah@google.com, May 3 2017

The reverts in the CL was due to the wrong Chromium issue being referenced in the WebRTC CL (which caused this issue not being updated).
This was corrected by doing a revert, correcting the Chromium issue number, and then reverting the revert.

Please let me know if I should approach this in another way!

Comment 9 by peah@google.com, May 3 2017

The reverts in the CL was due to the wrong Chromium issue being referenced in the WebRTC CL (which caused this issue not being updated).
This was corrected by doing a revert, correcting the Chromium issue number, and then reverting the revert.

Please let me know if I should approach this in another way!
I am not sure why this is affecting iOS as well
Re #10: It affects iOS only if we should opt to use the software AEC instead of the built-in HW AEC.

Comment 12 by peah@chromium.org, May 9 2017

Just want to check the status of the merge request. Is there anything I can do here to clarify the changes? 
Yes; please provide rationale as to why this change is required to be merged to the release branch.  Why is it important for M59?  If we don't merge the patch, what bug will the user see?  If we do merge the patch, how risky is it?

Comment 14 by peah@chromium.org, May 11 2017

The rationale is that it would allow us to gain clarity in M.59 Beta for the outcome of the echo canceller 3 experiment on Chrome OS platforms. Without this merge, the part of the Chrome OS population that run on ARM platforms will be running without Neon SIMD optimisations which will skew the results.

The patch should only be affecting ARM platforms. Furthermore it will not affect anything outside the echo canceller 3 code which is only running as an experiment. Due to this the patch should be fairly safe in that it is straightforward to turn off via the experiment if something would go wrong.


Labels: -Merge-Review-59 Merge-Rejected-59
Thanks for the context, rejected for 59,  Sorry, but branches are used to help stabilize the release, which means fixing bugs, not landing new large patches solely used for experiments.  Had you requested this merge ~Apr 20 it might have been OK, but it's too late now.

Comment 16 by peah@chromium.org, May 16 2017

That makes sense! Thanks for looking reviewing this!

Comment 17 by peah@chromium.org, May 16 2017

Status: Fixed (was: Assigned)
Labels: M-60

Sign in to add a comment