Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

CMMChris

macrumors 6502a
Oct 28, 2019
850
794
Germany (Bavaria)
No it does not. It simply can't without any implementation for it. As I said, GPU decoders are not utilized and there is no VP9 acceleration support in Apple's VA drivers. T2 doesn't have any VP9 support embedded as well. Only H.264 and H.265 / HEVC.
 

iMacDragon

macrumors 68020
Oct 18, 2008
2,396
731
UK
Apple have only announced h264 and h265, but as seen ios 14 is supporting vp9 now too, so they presumably did have the decoding block in there not utilised. Same would go for t2.
 

CMMChris

macrumors 6502a
Oct 28, 2019
850
794
Germany (Bavaria)
Listen, I had an extensive look through the system internals and there is no hardware acceleration.
Also, how do you explain that: I own an old Retina MBP from 2014. This one comes with a Broadwell i7 and doesn't even support any hardware acceleration for VP9. Yet I can play 4k videos from YouTube in Safari with about half the CPU usage of Chrome. Like I previously said, their software decoder is just extremely efficient and that's it.
 

EugW

macrumors G5
Original poster
Jun 18, 2017
14,655
12,582
JFYI: Apple still doesn't support VP9 hardware acceleration. This applies to both Intel and AMD GPUs. Neither do their VA drivers support VP9 nor is there any sign of utilization of the GPU decoders when playing VP9 content in Safari. They use software decoding like for example Chrome does. That being said, Apple's software encoder appears to be way more efficient though. It's eating much less CPU resources which means it works better on older machines. I would prefer seeing hardware acceleration tho. But I guess that won't happen until Apple Silicon Macs appear.
That is just flat out wrong.


Listen, I had an extensive look through the system internals and there is no hardware acceleration.
Also, how do you explain that: I own an old Retina MBP from 2014. This one comes with a Broadwell i7 and doesn't even support any hardware acceleration for VP9. Yet I can play 4k videos from YouTube in Safari with about half the CPU usage of Chrome. Like I previously said, their software decoder is just extremely efficient and that's it.
Broadwell supports partial VP9 decode acceleration in Windows.

Thanks for confirming that Apple has now implemented this in macOS 11 Big Sur as well. Now we have confirmation of it both for Broadwell and for Haswell.



New features with this release:

  • Improved video playback through partial hardware acceleration support for the VP9 video format.
 
Last edited:

throAU

macrumors G3
Feb 13, 2012
9,137
7,294
Perth, Western Australia
Listen, I had an extensive look through the system internals and there is no hardware acceleration.
Also, how do you explain that: I own an old Retina MBP from 2014. This one comes with a Broadwell i7 and doesn't even support any hardware acceleration for VP9. Yet I can play 4k videos from YouTube in Safari with about half the CPU usage of Chrome. Like I previously said, their software decoder is just extremely efficient and that's it.

No, you can’t without hardware acceleration. Are you using Big Sur? ON previous versions, Safari does not play 4k video through youtube. you get downgraded to 1080p

The software decoder for other people doing vp9 is not inefficient to the degree that you think you are seeing with Safari.
 

Ritsuka

Cancelled
Sep 3, 2006
1,464
969
No, it's definitely using an hardware decoder, even on arm. Just take a sample of VTDecoderXPCService, the frames are coming from AppleGVA framework on Intel and from AppleVideoDecoder on arm.

My Macs are more recents then yours, but it's definitely an hardware decoder:
/System/Library/Video/Plug-Ins/AppleGVAVPXDecoder.bundle on Intel
/System/Library/Video/Plug-Ins/AppleVideoDecoder.bundle on Arm

from the bundle Info.plist:

Code:
<key>VTCodecType</key>
    <string>qvp9</string>
<key>VTIsHardwareAccelerated</key>
    <true/>
 

iMacDragon

macrumors 68020
Oct 18, 2008
2,396
731
UK
Yep, can confirm on tracing through activity monitor, find the same bundle.

There is just zero way that a 4k decode could be software on that little cpu.
 
  • Like
Reactions: throAU and EugW

EugW

macrumors G5
Original poster
Jun 18, 2017
14,655
12,582
I just added this to the original post:

So far we have evidence that:

1. Safari in Big Sur has support for 4K VP9 decode, but no HDR yet (beta 4).
2. It is hardware acceleration.
3. For the hardware acceleration, we have seen support for Kaby Lake and later, but also partial support for Haswell and Broadwell, and presumably Skylake.
4. This hardware acceleration is not utilized by Chrome. Chrome offers HDR support, but it's buggy so far.
 

CMMChris

macrumors 6502a
Oct 28, 2019
850
794
Germany (Bavaria)
@Ritsuka I know about that but there is no hardware acceleration. If macOS would support hardware acceleration for VP9, it would be part in the VA driver for the respective GPU. And as I previously said, the VA drivers for Intel and AMD GPUs so far only support H.264 and H.265 hardware acceleration.

Also, when actually playing a VP9 video and looking at the loaded plugins of VTDecoderXPCService, the Radeon or Intel VA driver should be loaded if hardware acceleration is present. But it is not. This is software decoding - period.

Plus: When decoding or encoding H.264 / H.265 with hardware acceleration, you actually see activity on the UVE / UVD (in case of AMD) hardware in IOReg. With VP9 this is not the case.

I guess they will support VP9 HWA on Apple Silicon. Maybe they also plan implementing it for Intel and AMD. But at the moment they definitely did not.
 
Last edited:

Ritsuka

Cancelled
Sep 3, 2006
1,464
969
Did you try only on your 2014 on on more recent ones too? Because on my Macs (and on the A12z one too) it's definitely hardware accelerated, VTDecoderXPCService calls AppleGVA on Intel and that's where the hardware decoder are hooked up.
And the VideoToolbox component class is called "VPX HW Decoder"…

And anyway, it's not realistic to use only 8% of a core (the cpu usage of VTDecoderXPCService) to decode a 4k VP9 stream. If that was the case, there would be no need to make an hardware decoder.
 
  • Like
Reactions: throAU and EugW

ArPe

macrumors 65816
May 31, 2020
1,281
3,325
Here’s a screen grab of GPU decoding on Windows. The RTX 2080 is doing full hardware decoding. Would be good to see the AMD cards (Internal and eGPU) doing that in macOS because the decoder alone doesn’t consume much energy. Navi has VP9 support.
FD7C08F0-3E5F-4C0A-877A-39ADD6289118.jpeg
 
Last edited:
  • Like
Reactions: EugW

EugW

macrumors G5
Original poster
Jun 18, 2017
14,655
12,582
Here’s a screen grab of GPU decoding on Windows. The RTX 2080 is doing full hardware decoding. Would be good to see the AMD cards (Internal and eGPU) doing that in macOS because the decoder alone doesn’t consume much energy. Navi has VP9 support.
I'm not optimistic. Does Apple support HEVC decode acceleration at all on AMD? Or is it all Intel iGPU and Apple T2?

Then again, I'm surprised that Apple supports hardware VP9 decode on anything older than Kaby Lake, so anything can happen.

P.S It seems everyone likes the Costa Rica 4K 60fps HDR video for testing. I wonder how much ad revenue Jacob & Katie make on this just from computer geeks like us testing their equipment. ;)
 

Ritsuka

Cancelled
Sep 3, 2006
1,464
969
Yes HEVC on AMD Vega and later is supported. My Radeon Vega 56 in an eGPU box is the one that decodes HEVC when an external display is connected.
 
  • Like
Reactions: throAU and EugW

ArPe

macrumors 65816
May 31, 2020
1,281
3,325
Yes HEVC on AMD Vega and later is supported. My Radeon Vega 56 in an eGPU box is the one that decodes HEVC when an external display is connected.

Yes but we’re on the subject of VP9. Before Navi the Polaris and Vega didn’t do VP9 very well. Here’s the Nvidia chart showing how recent it was added to their cards.

 

ArPe

macrumors 65816
May 31, 2020
1,281
3,325
I'm not optimistic. Does Apple support HEVC decode acceleration at all on AMD? Or is it all Intel iGPU and Apple T2?

Then again, I'm surprised that Apple supports hardware VP9 decode on anything older than Kaby Lake, so anything can happen.

P.S It seems everyone likes the Costa Rica 4K 60fps HDR video for testing. I wonder how much ad revenue Jacob & Katie make on this just from computer geeks like us testing their equipment. ;)

Its popular because it’s a top three search result. They can probably supplement their living costs well enough.
 

Superhai

macrumors 6502a
Apr 21, 2010
734
577
Its popular because it’s a top three search result. They can probably supplement their living costs well enough.
Their videos are also great so it is not undeserved. But there are other great videos as well on YouTube so maybe we should try to link to those. And I don’t mean those who just piggyback on other creators.
 

Superhai

macrumors 6502a
Apr 21, 2010
734
577
On my Mac it seem that AppleIntelHSWVA.bundle is called from videotoolbox. I downloaded a 8k 60 HDR video and created a mp4 file with the vp9 coded file. And while I so far did not get QuickTime to accept it( only sound) in Safari it will run actually and without the network bottleneck it is quite fluent, not perfect but I remind you this is old mbp with two-core haswell. The CPU usage was between 60-80% but the system is responsive. If this is pure software I am amazed and wonder why Apple did not invest in vp9 before.
 

startergo

macrumors 603
Sep 20, 2018
5,019
2,282
Some statistics. This is with RX-480 and gt-640 installed. The playback is from the Gt-640 because NVIDIA kills AMD in BigSur:
1596917010210.png

1596917034870.png

1596917247901.png
 

startergo

macrumors 603
Sep 20, 2018
5,019
2,282
And this is when I removed the GT-640:
1596917894892.png

As you can see GPU usage is not indicated as before, but the CPU usage is same as before -18-20%. So I believe the system does not indicate that WindowServer process is allocated to the GPU as in the previous test, but I doubt that is accurate as the CPU usage is the same in both cases.
 

ArPe

macrumors 65816
May 31, 2020
1,281
3,325
And this is when I removed the GT-640:
View attachment 942111
As you can see GPU usage is not indicated as before, but the CPU usage is same as before -18-20%. So I believe the system does not indicate that WindowServer process is allocated to the GPU as in the previous test, but I doubt that is accurate as the CPU usage is the same in both cases.

I don’t think Kepler does VP9. Nvidia support for it begins with Pascal 10 series.

According to Nvidia the only Kepler that does decode is on GRID products only (these are massive servers with 100s of GPUs)


If that’s the case the GPU activity you are seeing above is something other than decoding.
 

startergo

macrumors 603
Sep 20, 2018
5,019
2,282
I don’t think Kepler does VP9. Nvidia support for it begins with Maxwell 10 series.

If that’s the case the GPU activity you are seeing above is something other than decoding.
I think it actually indicates AMD activity, but it is wrongly associated with NVIDIA
 

ArPe

macrumors 65816
May 31, 2020
1,281
3,325
I think it actually indicates AMD activity, but it is wrongly associated with NVIDIA

Not sure. Your 480 is Polaris which sucks for VP9. You are probably seeing the GUI or WindowServer push the GPU.
 

startergo

macrumors 603
Sep 20, 2018
5,019
2,282
Well if it is purely CPU decoding I think it is a great job, because with only 20%cpu usage I can play 8k60hz without a problem. For instance same video 4k30hz plays with a lot of stuttering in Catalina and it is almost unwatchable.
 

CMMChris

macrumors 6502a
Oct 28, 2019
850
794
Germany (Bavaria)
VTDecoderXPCService calls AppleGVA on Intel and that's where the hardware decoder are hooked up.
And the VideoToolbox component class is called "VPX HW Decoder"…

AppleGVA is always called even with software decoding. If hardware encoding is active, the VA driver of your GPU (Intel or AMD) is listed in VTDecoderXPCService. As I said numerous times now: This is not the case for VP9 and VA Drivers do not contain any VP9 support.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.