Closed Bug 1515210 Opened 9 months ago Closed 7 months ago

no open h.264 cisco codec for webrtc support for aarch64

Categories

(Core :: Audio/Video: GMP, enhancement, P3)

ARM64
Windows 10
enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox66 --- wontfix
firefox67 --- fixed

People

(Reporter: asa, Assigned: dminor)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

We don't have an OpenH264 video codec in the latest treeherder builds of Firefox on Windows on Snapdragon. Who will save us with an aarch64 codec?
No longer depends on: aarch64-eme
jesup had some context on what needs to be done here.
Flags: needinfo?(rjesup)
Aha...I forgot to hit "submit" on this comment.

I've discussed this briefly with the Cisco maintainer for OpenH264, Hank Peng.  From my message:

"   I know OpenH264 supports Arm64 for Android. We'd probably 
    build under clang if possible (as opposed to MSVC, which we're using for 
    the moment for Arm64 windows, but we've deprecated/unsupported MSVC in 
    general, and once some clang bugs are fixed we'll transition everything 
    back to clang).  Other imported libraries are waiting on that to turn on 
    arm64 inline asm and the like.
    
    I suspect about all that will be needed (at least if we can use clang) 
    will be some makefile/etc mods, and kicking off the builds."

Hank is discussing it with his team.
Flags: needinfo?(rjesup)
Priority: -- → P3

Jesup, have you heard anything back from Hank/Cisco on this?

Flags: needinfo?(rjesup)

"Hi Randell,
Let me talk about this requirement with team and give you an update later on." -- 12/10/2018

Flags: needinfo?(rjesup)
Assignee: nobody → huili2

Assigned this bug to huili2@cisco.com, who is the developer of openh264 lib.

Daniel Minor will look into building OpenH264 on ARM, as per Nils Ohlmeier. So assign this bug to him.

Assignee: huili2 → dminor
make OS=msvc ARCH=arm64 CXX=clang-cl

Works until we hit the first assembly file. It then tries to run gas-preprocessor.pl. I grabbed a copy from libav [1] which looks to have patches for arm64 support landing recently, but it errors out at line 217, which is attempting to open the input file.

[1] https://github.com/libav/gas-preprocessor

I think that just means I'm missing armasm64.exe in my path.

For decoding we no longer need OpenH264.

For encoding we need bug 1524918 to be completed.

This would also provide much better performance on those machines than a software encoder.

Blocks: 1524918
No longer blocks: arm64-windows-bugs

I wonder if there will be any arm64 windows laptops that lack hardware h264 support. If not, focusing on bug 1524918 would make more sense.

(In reply to Dan Minor [:dminor] from comment #10)

I wonder if there will be any arm64 windows laptops that lack hardware h264 support. If not, focusing on bug 1524918 would make more sense.

I would expect there to be hardware support. What is the timeline on 1524918?

I discussed this with Nils and he would like to make sure we have a software openh264 codec as a fallback.

I have a local build of the plugin with a few small changes required to the openh264 makefiles and gas-preprocessor.pl. I'll look at putting together a taskcluster configuration next. I think I'll be able to workaround the gas-preprocessor.pl change in that environment.

Status: NEW → ASSIGNED

Try run here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=03afc8fb027e55e607c495662f1ac3dc9faeb271

Although we don't build the unit tests on Taskcluster, I have built and run them locally using clang-cl.

Pushed by dminor@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/af9d2cb592c5
Build openh264 plugin for win64-aarch64; r=Callek

I've filed Bug 1533071 to track enabling the plugin and testing it in Firefox.

Blocks: 1533071
Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.