New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 663582 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug

Blocked on:
issue webrtc:9071



Sign in to add a comment

Consider removing openmax_dl from Windows (and other desktop builds)

Project Member Reported by scottmg@chromium.org, Nov 9 2016

Issue description

The README.chromium says it's only for Android. But in https://codereview.webrtc.org/2485303002/ we discovered it's building for desktops in general.

https://cs.chromium.org/chromium/src/third_party/webrtc/build/webrtc.gni?rcl=0&l=93

Should it be doing that? Should I remove it from the build on Windows, Linux, and Mac?
 
Labels: TE-NeedsTriageHelp

Comment 2 by guidou@chromium.org, Nov 14 2016

Owner: kjellander@chromium.org
Status: Assigned (was: Unconfirmed)
kjellander@: Can you take a look at this issue related to build files?
Cc: mgraczyk@chromium.org
Owner: aluebs@chromium.org
I don't know enough about openmax to blindly turn it off for those platforms. 
Assigning to Alex who should know (+CC mgraczyk).

Comment 4 by aluebs@chromium.org, Nov 15 2016

Cc: -mgraczyk@chromium.org
Owner: hlundin@chromium.org
I thought that openmax was the preferred FFT implementation except on iOS, ARM and MIPS, but Henrik should know better.

Comment 5 by rtoy@chromium.org, Nov 15 2016

Can't speak for webrtc, but webaudio definitely uses openmax for the FFT implementation on Android (all architectures).  For desktop, webaudio uses ffmpeg on linux and windows and OSX's vDSP library.

But since Project Spitzer has landed, we should probably revisit this on Android. I suspect ffmpeg's FFT is faster on x86.  (But slower on ARM the last time I mesaured.)

Comment 6 by guidou@chromium.org, Mar 13 2018

hlundin@: Is this bug still valid?

Comment 7 by guidou@chromium.org, Mar 13 2018

Components: -Blink>WebRTC Blink>WebRTC>Audio
Cc: maxmorin@chromium.org olka@chromium.org
Bumping the priority on this - removing openmax on desktop would reduce binary size of the WebRTC lib (when used outside of Chrome) as well as remove a third_party dependency, which is a good step towards running the APM in AudioService.
Labels: -Pri-3 M-68 Pri-1
Owner: alessiob@chromium.org
Alessio, can you take a look at this situation?
Sure
Status: Started (was: Assigned)
I've created https://webrtc-review.googlesource.com/c/src/+/69641 just to see how trybots react when openmax_dl is disabled on Windows. Note that such change should not land as it is; the safe way is to first implement a C++ way to not use openmax_dl on Windows in a controlled fashion and then, if we see no fire, we can land the CL that sets rtc_use_openmax_dl as a build flag.

Comment 14 by rtoy@chromium.org, Apr 12 2018

Does webrtc need openmax_dl?  openmax_dl was written originally to provide the FFT for Android on arm and then it acquired FFTs for arm64, x86, and mips.  All for Android.  And for WebAudio.
#14 By looking at the webrtc.gni, the answer should be yes:

  if (!is_ios && (current_cpu != "arm" || arm_version >= 7) &&
      current_cpu != "mips64el" && !build_with_mozilla) {
    rtc_use_openmax_dl = true
  } else {
    rtc_use_openmax_dl = false
  }

rtc_use_openmax_dl is used in webrtc/common_audio to define RTC_USE_OPENMAX_DL and include the 3pp dep when needed (see https://cs.chromium.org/search/?q=rtc_use_openmax_dl)

And openmax_dl is currently used on Windows (I don't know if this is the original intention). If we want to be 100% sure about the actual usage, we should add stats.

Comment 16 by rtoy@chromium.org, Apr 12 2018

Ok.  I do know that WebAudio (for which openmax_dl was originally written) does not use openmax_dl except on Android.  Windows should be using the FFT from ffmpeg.

I don't know anything about webrtc usage of openmax_dl.  Perhaps webrtc wants to use some of the fixed-point FFT routines?  Don't know why this should only be for windows, though.  I'd ask Andrew MacDonald about this, but he's no longer at Google.
Blockedon: webrtc:9071
I just noticed that we have a related bug in webrtc for this (see https://bugs.chromium.org/p/webrtc/issues/detail?id=9071). I will carry on work referring to that bug since its description matches what I'm going to do - i.e., removing openmax_dl.
Status: Fixed (was: Started)
Note that openmax_dl has been removed only in WebRTC.

Sign in to add a comment