Open Bug 1253923 Opened 9 years ago Updated 2 years ago

media.hardware-video-decoding.force-enabled = true doesn't work

Categories

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

47 Branch
x86_64
Windows 7
defect

Tracking

()

Tracking Status
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- wontfix

People

(Reporter: Virtual, Unassigned)

References

Details

(Keywords: nightly-community)

After landing patches from bug #1242343, which blacklist msmpeg2vdec.dll, I wanted to force enable video hardware acceleration by setting to "true" this setting "media.hardware-video-decoding.force-enabled" in "about:config" and it didn't do a thing, as I still get "Supports Hardware H264 Decoding = No; Failed to create H264 decoder"
Priority: -- → P1
As soon as bug 1253395 lands, this bug here will become obsolete. (But definitely something to keep in mind when working on alternate solution to the crashes that prompted bug 1242343.)
Depends on: 1253395
Your comment 0 led me to believe that you were only referring to the inability to prevent the msmpeg2vdec.dll blacklisting (from bug 1242343) through a pref -- which was indeed correct. But since that specific blacklisting is being reverted (bug 1253395), the non-working pref is moot in that case. I'll remove dependencies for these bugs. Now if you're saying that "media.hardware-video-decoding.force-enabled" doesn't have the expected effect in other situations, then we should keep this bug open. Though it would be nice to have a concrete list of things that don't work but (you think) should.
No longer blocks: 1254389
No longer depends on: 1253395
Component: Audio/Video → Audio/Video: Playback
I need to revisit this... Probably not as important now that bug 1253395 has landed.
Flags: needinfo?(gsquelart)
Priority: P1 → P5

"media.hardware-video-decoding.force-enabled" doesn't exist anymore.

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(gsquelart)
Resolution: --- → WONTFIX

(In reply to Gerald Squelart [:gerald] (he/him) from comment #5)

"media.hardware-video-decoding.force-enabled" doesn't exist anymore.

Are you sure? I'm still having it in about:config and it's still visible in Searchfox ( https://searchfox.org/mozilla-central/search?q=media.hardware-video-decoding.force-enabled&path= )

Flags: needinfo?(gsquelart)

If you look at the Searchfox results, it's only mentioned in a list of known static prefs, but there's is no code actually checking it! I'm guessing it's an oversight.

Compare with "media.hardware-video-decoding.enabled": https://searchfox.org/mozilla-central/search?q=media.hardware-video-decoding.enabled&case=false&regexp=false&path= , where you can see it's used in gfx/thebes/gfxPlatform.cpp.

I'll open a bug for the media team to remove the unused "media.hardware-video-decoding.force-enabled".

Flags: needinfo?(gsquelart)
Status: VERIFIED → REOPENED
Flags: needinfo?(gsquelart)
Resolution: WONTFIX → ---

It looks like I was wrong about "media.hardware-video-decoding.enabled", it's used in code under a different name: https://searchfox.org/mozilla-central/rev/d061ba55ac76f41129618d638f4ef674303ec103/gfx/thebes/gfxPlatform.cpp#2447
Sorry for the confusion, Virtual_ManPL.

Andreas, I've been out of media playback for a while, so could you please find someone who may be better able to follow up?
I'm resetting the priority, so you can triage it appropriately again.

Flags: needinfo?(gsquelart)
Priority: P5 → --

Ok, so coming in 3.5 years after the bulk of this was filed let's back up a bit. Virtual, do you still experience these problems?

In code it looks like we'll allow using hw decoding if media.hardware-video-decoding.force-enabled is true and media.hardware-video-decoding.failed is false. Note that media.hardware-video-decoding.failed gets set after a sanity test has run. The sanity test gets re-run after a change in graphics card or driver, or after a Firefox update. You could force it to be re-run by setting sanity-test.running to false and restarting I suppose.

It looks like media.hardware-video-decoding.force-enabled isn't designed to have an effect if the hardware-decoded video cannot be rendered, because that wouldn't be useful anyway. That seems reasonable to me. Does this match what you have experienced?

Flags: needinfo?(Virtual)
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → INACTIVE

(In reply to Andreas Pehrson [:pehrsons] (On leave; back Aug 1st 2020) from comment #11)

Ok, so coming in 3.5 years after the bulk of this was filed let's back up a bit. Virtual, do you still experience these problems?

No, I can't reproduce it anymore. It was reproducible for me after landing bug #1242343. After landing additional fix in bug #1253395, I can't reproduce it anymore, as I have now hardware accelerated video decoding enabled. Maybe someone still can reproduce it.

(In reply to Andreas Pehrson [:pehrsons] (On leave; back Aug 1st 2020) from comment #11)

In code it looks like we'll allow using hw decoding if media.hardware-video-decoding.force-enabled is true and media.hardware-video-decoding.failed is false. Note that media.hardware-video-decoding.failed gets set after a sanity test has run. The sanity test gets re-run after a change in graphics card or driver, or after a Firefox update. You could force it to be re-run by setting sanity-test.running to false and restarting I suppose.

It looks like media.hardware-video-decoding.force-enabled isn't designed to have an effect if the hardware-decoded video cannot be rendered, because that wouldn't be useful anyway. That seems reasonable to me. Does this match what you have experienced?

Thank you very much for very detailed information! My point was that, when bug #1242343 landed, it forced disabled hardware accelerated video decoding. When I wanted to forced enabled it by using "media.hardware-video-decoding.force-enabled" preference and setting it to "true" in about:config/Advanced Preferences, it did nothing. In my opinion, it should omit any test, etc. and force enable what I wanted, same as it's with other preferences, like for example, it is with: remote, ipc, e10s, layers, direct2d, direct3d, webrender, etc.

Status: RESOLVED → REOPENED
Flags: needinfo?(Virtual)
Resolution: INACTIVE → ---

Hey Virtual,
Can you still reproduce this or should we close it?

Flags: needinfo?(Virtual)

Yes. The issue still occurs. It was explained in detail in comment #12.

Flags: needinfo?(Virtual)

In the process of migrating remaining bugs to the new severity system, the severity for this bug cannot be automatically determined. Please retriage this bug using the new severity system.

Severity: major → --
Severity: -- → S4
Priority: -- → P4

Hello. Maybe this is wrong thread for such, but fix media.hardware-video-decoding.failed I have win 7 x64 and it was set to true value. I think, this is because I'm overclocking for several weeks and have videographics driver crashed several time, during Firefox open with twitch stream plays, after driver restart, I saw blank firefox window, had to close it and I think from this problem started

Just found the reason of why I'm always have huge CPU load while playing twitch = youtube vids, while my GPU video engine load is 0 always. Tried graphics driver reinstall / turn on off hardware accel in FF settings, nothing.

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