Open Bug 1638405 Opened 4 years ago Updated 2 years ago

VP9 Video playback stuttering when using hardware acceleration

Categories

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

76 Branch
x86_64
Windows 10
defect

Tracking

()

REOPENED

People

(Reporter: seb.meinhardt+bugzillamozilla, Unassigned)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0

Steps to reproduce:

  1. Make sure that hardware acceleration is enabled
  2. Make sure that hardware acceleration is not disabled for VP9, i.e. media.wmf.vp9.enabled is true
  3. Play a video that is encoded with VP9, for example https://www.youtube.com/watch?v=7dIjpa6u8N0

Actual results:

Playback is jittery, many frame skips.

Expected results:

Smooth playback.

Additional information: There are similar bug reports from 3 years ago that led me to the workaround of disabling hardware acceleration in general, or just disabling it for VP9 by setting media.wmf.vp9.enabled to false. However, this bug was observed on a recent Firefox (76.0.1) using recent graphics drivers (Nvidia 445.75, which is a few weeks old) on a system that is generally capable of smooth playback at high resolutions (Other videos play fine, even in higher quality).

System information:
Win 10 1909,
Firefox 76.0.1 64 bit,
GTX 860M with driver 446.75

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
See Also: → 1634991

If you disable hardware acceleration do the same videos playback smoothly? When you say other videos play fine, is that non-VP9 video, or are some VP9 videos also okay?

Could you navigate to about:support and copy that information to this bug using one of the buttons provided?

Flags: needinfo?(seb.meinhardt+bugzillamozilla)
Attached file about:support
(In reply to Bryce Seager van Dyk (:bryce) from comment #2) > If you disable hardware acceleration do the same videos playback smoothly? When you say other videos play fine, is that non-VP9 video, or are some VP9 videos also okay? > > Could you navigate to `about:support` and copy that information to this bug using one of the buttons provided? Non-VP9 videos are smooth no matter the HW acceleration status. VP9 videos play smoothly only if I disable HW acceleration in general, OR if media.wmf.vp9.enabled is false. about:support follows:

(In reply to Bryce Seager van Dyk (:bryce) from comment #2)

If you disable hardware acceleration do the same videos playback smoothly? When you say other videos play fine, is that non-VP9 video, or are some VP9 videos also okay?

Could you navigate to about:support and copy that information to this bug using one of the buttons provided?

Non-VP9 videos are smooth no matter the HW acceleration status. VP9 videos play smoothly only if I disable HW acceleration in general, OR if media.wmf.vp9.enabled is false.

about:support attached.

Flags: needinfo?(seb.meinhardt+bugzillamozilla)
Severity: S3 → S2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P2

:aklotz has run into this and provided some further info.

My thoughts from Riot:

Supposition based on information above: we're dropping frames because we're creating media decoders and the stall in creating those decoders puts us behind on decodes. There are spikes on the MediaPlayback* threads that appear to be due to us waiting on decoder creation. These appear to coincide with disruptions to the PushVideo/PushAudio markers on the MediaDecoderStateMachine thread (indicating non-smooth playback).

about:support shows crashes in the wmf vp9 decoder. Something unhappy there? Persistant crashes resulting in recreation and frame loss?

S1 or S2 bugs need an assignee - could you find someone for this bug?

Flags: needinfo?(bvandyk)
Assignee: nobody → bvandyk
Flags: needinfo?(bvandyk)

nvidia GTX 860M doesn't support VP9.

It will not be used for decoding.

My guess is that somehow the nvidia drivers report that it can do it.

Please run DXVA Checker from https://bluesky-soft.com/en/DXVAChecker.html

It will list the capabilities of the HW; do you see a :
VP9_VLD_Profile0: DXVA2/D3D11, SD / HD / FHD / 4K / 8K

or similar entry?

Flags: needinfo?(seb.meinhardt+bugzillamozilla)

(In reply to Jean-Yves Avenard [:jya] from comment #7)

Please run DXVA Checker from https://bluesky-soft.com/en/DXVAChecker.html

It will list the capabilities of the HW; do you see a :
VP9_VLD_Profile0: DXVA2/D3D11, SD / HD / FHD / 4K / 8K

or similar entry?

No, it lists nothing that sounds even remotely like that. It does however remind me, that there is also the graphics unit that is built into the CPU, in this case a Intel HD Graphics 4600. AFAIK, that one should not be capable of decoding VP9, neither. Nor does it report so in the DXVAChecker. It does report a bunch of cryptic hex-strings, too, that I do not understand the meaning of.

When using the GPU monitor of DXVAChecker I can see that only the Intel GPU is active for Firefox when playing the video, showing up as both "firefox" and "dwm". And quite busy, DXVAChecker estimates some 40% usage just for that video. So I guess it does not use the "real" GPU anyway, sorry for not checking on that in the first place.

More importantly: I updated Firefox to 77.0 since I reported the bug (or rather: it auto-updated) and I can not longer reproduce the bug using 77.0. Now there were a number of recent bug reports with similar issues, so I guess my problem got solved along the way? Would it help anyone if I downgrade back to 76.0 to do further tests or should we just accept the problem as solved?

Flags: needinfo?(seb.meinhardt+bugzillamozilla)
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME

Why was this resolved? This was a problem for me on Nightly 78.

Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---

Aaron, do you still experience this bug?

Flags: needinfo?(aklotz)

It's hard to say; I have not watched any live streams lately. I did try one today on YouTube that was VP9, and it appeared to be okay, but I cannot be 100% certain.

Flags: needinfo?(aklotz)

Unassigning bugs assigned to Bryce because he no longer works at Mozilla.

Assignee: brycebugemail → nobody
Severity: S2 → S4
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: