Closed Bug 1519004 Opened 5 years ago Closed 1 year ago

Consider to tun on MOZ_LIBAV_FFT on android/aarch64

Categories

(Core :: Web Audio, enhancement, P2)

ARM64
Android
enhancement

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox111 --- wontfix
firefox112 --- wontfix
firefox113 --- fixed

People

(Reporter: m_kato, Assigned: m_kato)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 4 obsolete files)

(In reply to Karl Tomlinson (:karlt) from bug 1518994 comment #3)

ffmpeg has aarch64 assembly for FFTs. We'd need to import fft_init_aarch64.c and fft_neon.S from libavcodec/aarch64 into ffvpx, similarly to some of what was done in bug 1476231.

Also, FLAC in libavcodec doesn't have aarch64's assembler, but libavutil also has aarch64 assembler.

  • No additional ASFLAG for aarch64 build to use assembler of ffmpeg
  • We need add files into avutils/aarch64 too.
  • We won't need VP8/VP9 for android. Android has platform decoder. FLAC + FFT only.
Assignee: nobody → m_kato
Blocks: 1515602
Rank: 15
Priority: -- → P2

Import aarch64 files from n4.0.2 tag

Add generated config.h that is generated by Ubuntu 18.04/aarch64.

Depends on D18044

Add moz.build files and modify some files to build for aarch64.

Depends on D18045

ffvpx uses FFVPX_ASFLAGS flags to build cpu specific code, so I
add -march=armv8-a like libjpeg-turbo's build option.

Also, LIBAV_FF is same.

Depends on D18046

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:m_kato, could you have a look please?

Flags: needinfo?(m_kato)

Was this ever ready to land? Maybe I can finish it up?

I need rebase this then re-review this since this is old patch.

Flags: needinfo?(m_kato)
Severity: normal → S3
Attachment #9040032 - Attachment is obsolete: true
Attachment #9040033 - Attachment is obsolete: true
Attachment #9040034 - Attachment is obsolete: true
Attachment #9040035 - Attachment is obsolete: true

"Convolution reverb" of https://padenot.github.io/webaudio-benchmark/ improves
from 8x to 14x on Android/aarch64.

Also, Android/x86 improves from 19x to 21x.

Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/130fdbc14ed3
Use MOZ_LIBAV_FFT on Android if not arm32. r=padenot
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

Since this patch uses assembler code we haven't tested on Android before, it should probably ride the trains with 113 (and not be uplifted to Beta 112).

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: