Closed Bug 1273902 Opened 5 years ago Closed 5 years ago

Add VP9 hardware decoding support for Nvidia Pascal GPU family & Maxwell GM206 GPU

Categories

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

defect

Tracking

()

RESOLVED DUPLICATE of bug 1292374
Tracking Status
platform-rel --- +

People

(Reporter: ionnv, Unassigned)

Details

(Whiteboard: [platform-rel-nVidia])

http://www.hardocp.com/images/articles/1463427458xepmrLV68z_2_15_l.gif

Nvidia Pascal GPU family has full VP9 VLD hardware decoding, all decoding steps done on the GPU's hardware decoder ASIC.

https://www.microsoft.com/en-us/download/details.aspx?id=49188

http://forum.doom9.org/showthread.php?p=1759920#post1759920

"Late last year Microsoft published a specification on VP9 DXVA2 hardware acceleration. Shortly after, both Intel and NVIDIA started to support this in their hardware.
This version of LAV Video enables using the hardware acceleration in the latest NVIDIA GPUs (GTX950/960)"

Maxwell GTX 960/GTX 950(GM206) also fully supports VP9 VLD hardware decoding.

Adding VP9 hardware decoding support would reduce CPU usage when decoding VP9 4K videos.
Unfortunately, Microsoft hasn't exposed this functionality via the MFT API which we use for decoding video on windows.

Only Intel has a mechanism working via MFT.

We do not have a direct DXVA decoder.
Mass change P2 -> P3
Priority: P2 → P3
platform-rel: --- → ?
Whiteboard: [platform-rel-nVidia]
Don't want to sound like a broken record because I already complained in bug 1292374 tracker entry, but could this please get higher priority?
Watching VP9 videos with Firefox on YouTube drains notebook battery life and even with my overclocked 2500k, I can't watch 4k 60fps VP9 video without framedrops in Firefox, while it works without problems and with low power consumption in both Edge and Chrome, thanks to DXVA decoding on GTX 1070.
platform-rel: ? → +
(In reply to walmartguy from comment #3)
> Don't want to sound like a broken record because I already complained in bug
> 1292374 tracker entry, but could this please get higher priority?
> Watching VP9 videos with Firefox on YouTube drains notebook battery life and
> even with my overclocked 2500k, I can't watch 4k 60fps VP9 video without
> framedrops in Firefox, while it works without problems and with low power
> consumption in both Edge and Chrome, thanks to DXVA decoding on GTX 1070.

Playing this video:
https://www.youtube.com/watch?v=TN-pwblNxU4, forcing 4K @ 30Hz
If you right click on the player window and select "stats for nerds" you'll see exactly what codec is used.

Using a Maxwell GM206 card here with i7-6700HQ processor.
Edge is using mp4/h264 which is hardware accelerated, always enabling webm/vp9 in about:flags, 32.2% CPU uage.
Chrome Canary is using webm/vp9 and shows a 32.5% CPU usage. AFAIK, Chrome has no support for nvidia DXVA support (only intel and amd: https://cs.chromium.org/chromium/src/media/gpu/dxva_video_decode_accelerator_win.cc?sq=package:chromium&dr=CSs&l=60)

Firefox Nightly using mp4/h264 is hardware accelerated. Turning on webm/vp9, it shows a 22% CPU usage, 10% less than chrome canary and edge.

Pretty certain that here, Firefox will drain your battery far less than either chrome or edge.
(In reply to Jean-Yves Avenard [:jya] from comment #4) 
> Playing this video:
> https://www.youtube.com/watch?v=TN-pwblNxU4, forcing 4K @ 30Hz
> If you right click on the player window and select "stats for nerds" you'll
> see exactly what codec is used.
That video is not 60fps. The following Big Buck Bunny video is 4k 60fps:
https://www.youtube.com/watch?v=aqz-KE-bpKQ

> Using a Maxwell GM206 card here with i7-6700HQ processor.
> Edge is using mp4/h264 which is hardware accelerated, always enabling
> webm/vp9 in about:flags, 32.2% CPU uage.
Edge is using VP9 here according to the YT nerd stats, and I have 5% CPU usage with the 4k 30fps video (the tool Nvidia Inspector can show you have the VPU of the GPU is used, which is the case for me).
The WebM/VP9 flag in Edge's config is set to the default "automatic" setting. Dunno why it doesn't choose hardware decoding for you by default. I have clean Windows 10 Redstone installation with latest Nvidia drivers...


> Chrome Canary is using webm/vp9 and shows a 32.5% CPU usage. AFAIK, Chrome
> has no support for nvidia DXVA support (only intel and amd:
> https://cs.chromium.org/chromium/src/media/gpu/
> dxva_video_decode_accelerator_win.cc?sq=package:chromium&dr=CSs&l=60)
This is outdated information. Chrome 54 supports DXVA VP9 on Nvidia, and of course H.264 for a very long time as well.


> Firefox Nightly using mp4/h264 is hardware accelerated. Turning on webm/vp9,
> it shows a 22% CPU usage, 10% less than chrome canary and edge.
I get >90% CPU usage and frame drops with YT 4k 60fps VP9 video like the linked above.
With Edge and Chrome, I have <10% CPU usage and no drops.

> Pretty certain that here, Firefox will drain your battery far less than
> either chrome or edge.
Since Edge and Chrome both support DXVA for VP9 on Nvidia and Firefox does not, this is simply impossible.
Firefox uses Media Foundation because DirectShow(older API) is deprecated on Win7 & Win10.

Edge uses a MFT decoder with VP9 support right? Wouldn't it be possible to use what Win10 Anniversary Edition provided MFT decoder just like how Firefox uses Win7/Win10's MFT decoder for H.264 hardware decoding on hardware that supports it?
The new MFT is only working with Intel processors. We have a bug opened with a pending patch to enable that feature. It won't help with nvidia.
Our assumptions were wrong. Enabling the new VP9 MFT will enable hardware acceleration on the nvidia too. And AMD once they upgrade their drivers
Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1292374
You need to log in before you can comment on or make changes to this bug.