Can't select 4K H.264 video on YouTube since Firefox 54

VERIFIED FIXED in Firefox 56



Audio/Video: Playback
3 months ago
3 months ago


(Reporter: John, Assigned: gerald, NeedInfo)



54 Branch
Windows 7

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox54 wontfix, firefox55 wontfix, firefox56 verified)


MozReview Requests


Submitter Diff Changes Open Issues Last Updated
Error loading review requests:


(3 attachments)



3 months ago
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Build ID: 20170413192749

Steps to reproduce:

1. Go to about:config and set media.webm.enabled to false to force YouTube to serve H.264.
2. Open
3. See the available resolution selection.

Actual results:

Max. available resolution is 1080p.

Expected results:

1440p and 2160p should also be available.

The last version that worked fine was 53.0.3, the issue started from 54.0. The latest Nightly also has this problem. I'm using Windows 7 64-bit.


3 months ago
OS: Unspecified → Windows 7
Hardware: Unspecified → x86_64
Per Microsoft’s own documentation, windows 7 h264 decoder doesn’t support resolution greater than 1080p.

You’ll need to update to Windows 8 or Windows 10
Last Resolved: 3 months ago
Resolution: --- → INVALID
Note, you can override this restrictions with the media.wmf.allow-unsupported-resolutions preference setting it to true

Comment 3

3 months ago
Created attachment 8889242 [details]
YouTube 4K video playing on Windows 7

Comment 4

3 months ago
Yes, according to "In Windows 7, the maximum supported resolution is 1920 × 1088 pixels for both software and DXVA decoding.". However it's only true if the Platform update (KB2670838) is not installed. It's very easy to check by playing any local 4K mp4 file in Firefox. If KB2670838 is not installed, it won't play, and if the update is installed, it will play just fine. I guess Microsoft just didn't bother to update their documentation.

I've tried the media.wmf.allow-unsupported-resolutions preference, and it brought 1440p and 2160p back, but it didn't play these resolutions only showing the spinner. I've attached a screenshot to prove that it worked fine in Firefox 53 and below.

I'm not planning to update to Windows 8 or Windows 10 anytime soon. I'm not a fan of them for many reasons.
Flags: needinfo?(jyavenard)


3 months ago
Resolution: INVALID → ---
:Gerald you implemented that change. What do you think?
Flags: needinfo?(jyavenard) → needinfo?(gsquelart)

Comment 6

3 months ago
Thanks for this info John, quite enlightening.

I should probably re-enable higher resolutions where possible.

However, if you're saying they still don't actually play, I'm not sure if *I* can fix that, as the resolution-check is only done in one spot, after that it should all be down to the Windows decoder to do its job.

Anyway, I'll investigate...
Assignee: nobody → gsquelart
Ever confirmed: true
Flags: needinfo?(gsquelart)

Comment 7

3 months ago
You're right Gerald, media.wmf.allow-unsupported-resolutions actually works fine. After reading your comment I tried to install 54 again and this time it worked perfectly both with and without DXVA. So the last time something was wrong on my end, sorry for the misinformation.

I think the best way would be to detect if the Platform Update is installed and only automatically enable resolutions > 1920 × 1088 on Windows 7 in that case. One way to do it is to check the version of the decoder dll (msmpeg2vdec.dll). It's 6.1.7601.18514 in the original Windows 7 SP1 and 12.0.9200.16426 after the Platform Update. But if doing something like this is not feasible, I guess it's all right to leave it under the preference as it is now.

Comment 8

3 months ago
As a test I installed win7 in a new VM, it had the old decoder 6.something that couldn't play the >1080p resolutions.

I then let Windows update itself using the default-selected updates.
The new decoder 12.0.9200.16426 was installed (without manually installing KB2670838) and I could play the higher-resolution videos.

So I'll just look for that version (or later) to allow higher resolutions.
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)

Comment 11

3 months ago
Comment on attachment 8889853 [details]
Bug 1383541 - WMFDecoderModule shouldn't call useless IsH264DecoderBlacklisted() -
Attachment #8889853 - Flags: review?(jyavenard) → review+

Comment 12

3 months ago
Comment on attachment 8889854 [details]
Bug 1383541 - Allow 4096x2304 H264 on win7 with recent decoder -
Attachment #8889854 - Flags: review?(jyavenard) → review+

Comment 13

3 months ago
Pushed by
WMFDecoderModule shouldn't call useless IsH264DecoderBlacklisted() - r=jya
Allow 4096x2304 H264 on win7 with recent decoder - r=jya

Comment 14

3 months ago
Last Resolved: 3 months ago3 months ago
status-firefox56: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla56

Comment 15

3 months ago
I've tried the latest Nightly with different updates and the results are:
1) If KB2670838 is installed, msmpeg2vdec.dll gets updated to 12.0.9200.16426, and 1440p and 2160p are available;
2) If KB2977728 or KB3110329 is installed on top of KB2670838, msmpeg2vdec.dll gets updated to 12.0.9200.17037, and 1440p and 2160p are also available;
3) If KB2670838 is not installed, msmpeg2vdec.dll stays at versions 6.1.*, and only 1080p and below are available.

So it works perfectly, thanks for the fix Gerald!


3 months ago

Comment 16

3 months ago
Thank you John for initially reporting the issue, and testing the fix.

Though I'm told our sandboxing will become stricter and may eventually break this fix. NI:myself to revisit...
Flags: needinfo?(gsquelart)
I'm confirming that it's fixed, starting in Mozilla Firefox 56.0a1 (2017-07-26).
Thank you very much! I'm marking this bug as VERIFIED.
Has STR: --- → yes
status-firefox54: --- → affected
status-firefox55: --- → affected
status-firefox56: fixed → verified
status-firefox-esr52: --- → unaffected
Keywords: regression
QA Contact: Virtual
Too late for 54
status-firefox54: affected → wontfix
status-firefox55: affected → wontfix
You need to log in before you can comment on or make changes to this bug.