Closed Bug 1475564 Opened Last year Closed 7 months ago

Build libaom on win32

Categories

(Core :: Audio/Video: Playback, defect, P2)

63 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
relnote-firefox --- 66+
firefox63 --- wontfix
firefox65 --- wontfix
firefox66 --- fixed
firefox67 --- fixed

People

(Reporter: dminor, Assigned: glandium, NeedInfo)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

When updating libaom to v1.0.0 we hit intermittent msvc compiler OOMs on win32 that do not occur with clang-cl. To workaround this, we landed the update with av1 support disabled on win32. Once the builds switch to clang, we can reenable it.
Rank: 18
Priority: -- → P2
any plans to enable libaom on other platforms at the same time? I tried searching in bugzilla but couldn't find any information
(In reply to Vittorio Giovara from comment #1)
> any plans to enable libaom on other platforms at the same time? I tried
> searching in bugzilla but couldn't find any information

We already build libaom on the other platforms. It is currently disabled by default, it can be enabled by setting media.av1.enabled to true in about:config.

I've changed the title of this bug to make it clearer that this about building libaom on win32, not enabling it.
Summary: Enable libaom on win32 builds → Build libaom on win32
(In reply to Dan Minor [:dminor] from comment #2)
> (In reply to Vittorio Giovara from comment #1)
> > any plans to enable libaom on other platforms at the same time? I tried
> > searching in bugzilla but couldn't find any information
> 
> We already build libaom on the other platforms. It is currently disabled by
> default, it can be enabled by setting media.av1.enabled to true in
> about:config.
> 
> I've changed the title of this bug to make it clearer that this about
> building libaom on win32, not enabling it.

thanks, i was confused as i read about the various announcements
now it's clear
Hi,

I think everything is switched to clang now. And Firefox is set to enable AV1 by default _on Windows_ in 65. But it seems like it is still not being compiled on Windows 32-bit.

I wonder if things are far a long enough to start trying to build libaom on 32-bit Windows again?

(Also relevant but probably not applicable yet: Eventually, it looks like the AV1 decoding will switch to dav1d, but libaom still seems to be the default, if I'm not mistaken.)
(In reply to Dan D (volunteer tester from the community) from comment #4)
> Hi,
> 
> I think everything is switched to clang now. And Firefox is set to enable
> AV1 by default _on Windows_ in 65. But it seems like it is still not being
> compiled on Windows 32-bit.
> 
> I wonder if things are far a long enough to start trying to build libaom on
> 32-bit Windows again?
> 
> (Also relevant but probably not applicable yet: Eventually, it looks like
> the AV1 decoding will switch to dav1d, but libaom still seems to be the
> default, if I'm not mistaken.)

We're still running msvc builds, e.g. [1] so there's probably not much point in looking at this just now. We may end up switching to dav1d before the msvc builds go away.

[1] https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&selectedJob=220239981

Is it possible to enable it either (a) specifically disable it in the MSVC build configs (and then enable it generally) or (b) enable it conditionally based on the compiler so that we can ship AV1 on win32 builds?

Both are possible and I was about to write that we should do b) when I came here again and saw your comment.

Assignee: nobody → mh+mozilla
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/b5ac6baec29b
Enable libav1 when not building with msvc. r=dmajor

Backed out changeset b5ac6baec29b (Bug 1475564) for test_can_play_type_mpeg.html failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=mochitest-media&revision=b5ac6baec29b55e5270c7c2abc9ddc446907144b

Backout link: https://hg.mozilla.org/integration/autoland/rev/68941a0829dc729a979b25061c258ae51859a5a4

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=224907435&repo=autoland&lineNumber=1212
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=224907489&repo=autoland&lineNumber=1722

06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | video/mp4; codecs=vp9='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | VP9 in MP4 should be supported in MSE
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | video/mp4; codecs="vp9"='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | VP9 in MP4 should be supported in MSE
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | video/mp4; codecs="vp9.0"='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | VP9 in MP4 should be supported in MSE
06:35:40 INFO - Buffered messages finished
06:35:40 INFO - TEST-UNEXPECTED-FAIL | dom/media/test/test_can_play_type_mpeg.html | video/mp4; codecs="av1"='' - got "probably", expected ""
06:35:40 INFO - SimpleTest.is@SimpleTest/SimpleTest.js:320:5
06:35:40 INFO - check@dom/media/test/test_can_play_type_mpeg.html:25:5
06:35:40 INFO - check_mp4@dom/media/test/test_can_play_type_mpeg.html:104:5
06:35:40 INFO - @dom/media/test/test_can_play_type_mpeg.html:161:1
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mpeg='maybe'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mp3='maybe'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mpeg; codecs="mp3"='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mpeg; codecs=mp3='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mp3; codecs="mp3"='probably'
06:35:40 INFO - TEST-PASS | dom/media/test/test_can_play_type_mpeg.html | audio/mp3; codecs=mp3='probably'
06:35:40 INFO - GECKO(1452) | MEMORY STAT | vsize 570MB | vsizeMaxContiguous 941MB | residentFast 112MB | heapAllocated 13MB
06:35:40 INFO - TEST-OK | dom/media/test/test_can_play_type_mpeg.html | took 172ms

Flags: needinfo?(mh+mozilla)
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/4ca7df7a6ab5
Enable libav1 when not building with msvc. r=dmajor
Flags: needinfo?(mh+mozilla)
Status: NEW → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Comment on attachment 9040007 [details]
Bug 1475564 - Enable libav1 when not building with msvc.

Beta/Release Uplift Approval Request

Feature/Bug causing the regression

Bug 1445683

User impact if declined

We shipped AV1 enabled to Windows users, except it was not built in on 32-bits Windows since bug 1445683.

Is this code covered by automated tests?

Yes

Has the fix been verified in Nightly?

Yes

Needs manual test from QE?

No

If yes, steps to reproduce

List of other uplifts needed

None

Risk to taking this patch

Medium

Why is the change risky/not risky? (and alternatives if risky)

The code hasn't been build or tested in Windows 32-bits for more than 6 months, and since then we've changed compilers multiple times. OTOH, the feature is also about playing a specific kind of media that is not very widespread yet.

String changes made/needed

N/A

Attachment #9040007 - Flags: approval-mozilla-beta?

Comment on attachment 9040007 [details]
Bug 1475564 - Enable libav1 when not building with msvc.

OK in nightly, let's uplift to beta.
Sounds like the risk is low as there isn't a lot of media in this format yet.

Attachment #9040007 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify-

I think we can let this ride the 66 train. We might want to add a relnote item for this too since we updated the Fx65 relnotes to say 64-bit only.

See Also: → 1529020

Can you suggest a release note?

Flags: needinfo?(mh+mozilla)

"Enabled AV1 support on 32-bits Windows"? Nils, what do you think?

Flags: needinfo?(mh+mozilla) → needinfo?(drno)

Maire, over to you since Nils is on PTO.

Flags: needinfo?(mreavy)

Hi folks, I'm just a regular Firefox user. Seeing that this change might get a mention in the release notes, I wonder if macOS AV1 playback would get a mention in release notes as well?

I noticed that AV1 (media.av1.enabled) is enabled by default in Firefox 66 on macOS, from bug 1521181.

(In reply to Mike Hommey [:glandium] from comment #18)

"Enabled AV1 support on 32-bits Windows"? Nils, what do you think?

With my "Nils hat" on, this lgtm. Thanks, glandium!

Flags: needinfo?(mreavy)

Noted for 66 as: Enabled AV1 support on 32-bits Windows and MacOS -- with a link to https://research.mozilla.org/av1-media-codecs/.

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