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.
Sampling process 628 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling VTDecoderXPCService (pid 628) every 1 millisecond
Process: VTDecoderXPCService [628]
Path: /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService
Load Address: 0x10d63d000
Identifier: VTDecoderXPCService
Version: ???
Code Type: X86-64
Parent Process: ??? [1]
Date/Time: 2020-08-09 08:06:11.835 +0200
Launch Time: 2020-08-09 08:05:42.596 +0200
OS Version: macOS 11.0 (20A5343i)
Report Version: 7
Analysis Tool: /usr/bin/sample
Physical footprint: 174.7M
Physical footprint (peak): 174.7M
----
Call graph:
2 Thread_8585 DispatchQueue_1: com.apple.main-thread (serial)
+ 2 start (in libdyld.dylib) + 1 [0x7fff6bc98851]
+ 2 main (in VTDecoderXPCService) + 16 [0x10d640f96]
+ 2 xpc_main (in libxpc.dylib) + 437 [0x7fff6bf254fb]
+ 2 _xpc_objc_main (in libxpc.dylib) + 825 [0x7fff6bf25a73]
+ 2 -[NSRunLoop(NSRunLoop) run] (in Foundation) + 76 [0x7fff2d3893e4]
+ 2 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] (in Foundation) + 212 [0x7fff2d2fafd1]
+ 2 CFRunLoopRunSpecific (in CoreFoundation) + 563 [0x7fff2a927134]
+ 2 __CFRunLoopRun (in CoreFoundation) + 1315 [0x7fff2a927d40]
+ 2 __CFRunLoopServiceMachPort (in CoreFoundation) + 316 [0x7fff2a929650]
+ 2 mach_msg (in libsystem_kernel.dylib) + 60 [0x7fff6be07590]
+ 2 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff6be0721e]
2 Thread_8595
+ 1 start_wqthread (in libsystem_pthread.dylib) + 15 [0x7fff6bed04c3]
+ ! 1 _pthread_wqthread (in libsystem_pthread.dylib) + 414 [0x7fff6bed1556]
+ ! 1 __workq_kernreturn (in libsystem_kernel.dylib) + 10 [0x7fff6be088de]
+ 1 start_wqthread (in libsystem_pthread.dylib) + 0 [0x7fff6bed04b4]
2 Thread_9123
+ 2 thread_start (in libsystem_pthread.dylib) + 15 [0x7fff6bed04d7]
+ 2 _pthread_start (in libsystem_pthread.dylib) + 224 [0x7fff6bed49b4]
+ 2 ??? (in AppleGVA) load address 0x7fff3edea000 + 0x6b7be [0x7fff3ee557be]
+ 2 ??? (in AppleGVA) load address 0x7fff3edea000 + 0x6ba03 [0x7fff3ee55a03]
+ 2 ??? (in AppleGVA) load address 0x7fff3edea000 + 0xb0978 [0x7fff3ee9a978]
+ 1 ??? (in AppleGVAVPXDecoder) load address 0x10d760000 + 0x2e1c [0x10d762e1c]
+ ! 1 _CFRelease (in CoreFoundation) + 238 [0x7fff2a9f2910]
+ ! 1 BBufFinalize (in CoreMedia) + 144 [0x7fff2bdae860]
+ ! 1 receivedMemoryAllocator_Deallocate (in CoreMedia) + 338 [0x7fff2be8b5ab]
+ ! 1 receivedMemoryAllocator_tellOriginToDecrementUseCountOfBlock (in CoreMedia) + 270 [0x7fff2be8b6e5]
+ ! 1 -[OS_xpc_object dealloc] (in libxpc.dylib) + 17 [0x7fff6bf157ec]
+ ! 1 _xpc_dictionary_dispose (in libxpc.dylib) + 34 [0x7fff6bf15bbf]
+ ! 1 _xpc_dictionary_node_free (in libxpc.dylib) + 68 [0x7fff6bf15cdf]
+ ! 1 -[OS_xpc_object dealloc] (in libxpc.dylib) + 47 [0x7fff6bf1580a]
+ ! 1 _objc_rootDealloc (in libobjc.A.dylib) + 62 [0x7fff6aa15f42]
+ ! 1 objc_destructInstance (in libobjc.A.dylib) + 146 [0x7fff6aa16011]
+ ! 1 objc_object::sidetable_clearDeallocating() (in libobjc.A.dylib) + 83 [0x7fff6aa16315]
+ ! 1 _os_unfair_lock_lock_slow (in libsystem_platform.dylib) + 162 [0x7fff6bec5145]
+ ! 1 __ulock_wait (in libsystem_kernel.dylib) + 10 [0x7fff6be0896e]
+ 1 ??? (in AppleGVAVPXDecoder) load address 0x10d760000 + 0x2ee4 [0x10d762ee4]
+ 1 VTDecoderSessionEmitDecodedFrame (in VideoToolbox) + 1247 [0x7fff375093c8]
+ 1 ??? (in VideoToolbox) load address 0x7fff37500000 + 0xf8cdd [0x7fff375f8cdd]
+ 1 ??? (in VideoToolbox) load address 0x7fff37500000 + 0xe4074 [0x7fff375e4074]
+ 1 xpc_connection_send_message_with_reply_sync (in libxpc.dylib) + 238 [0x7fff6bf1b852]
+ 1 dispatch_mach_send_with_result_and_wait_for_reply (in libdispatch.dylib) + 50 [0x7fff6bc57abe]
+ 1 _dispatch_mach_send_and_wait_for_reply (in libdispatch.dylib) + 518 [0x7fff6bc576c6]
+ 1 mach_msg (in libsystem_kernel.dylib) + 60 [0x7fff6be07590]
+ 1 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff6be0721e]
1 Thread_8591
+ 1 start_wqthread (in libsystem_pthread.dylib) + 15 [0x7fff6bed04c3]
+ 1 _pthread_wqthread (in libsystem_pthread.dylib) + 414 [0x7fff6bed1556]
+ 1 __workq_kernreturn (in libsystem_kernel.dylib) + 10 [0x7fff6be088de]
1 Thread_8594
+ 1 thread_start (in libsystem_pthread.dylib) + 15 [0x7fff6bed04d7]
+ 1 _pthread_start (in libsystem_pthread.dylib) + 224 [0x7fff6bed49b4]
+ 1 _dispatch_worker_thread (in libdispatch.dylib) + 284 [0x7fff6bc505e3]
+ 1 _dispatch_semaphore_wait_slow (in libdispatch.dylib) + 58 [0x7fff6bc42066]
+ 1 _dispatch_sema4_timedwait (in libdispatch.dylib) + 76 [0x7fff6bc41c3a]
+ 1 semaphore_timedwait_trap (in libsystem_kernel.dylib) + 10 [0x7fff6be07272]
1 Thread_8594 DispatchQueue_93: vtdecoder-connection-event-queue-0x7f9331419a00 (serial)
+ 1 thread_start (in libsystem_pthread.dylib) + 15 [0x7fff6bed04d7]
+ 1 _pthread_start (in libsystem_pthread.dylib) + 224 [0x7fff6bed49b4]
+ 1 _dispatch_worker_thread (in libdispatch.dylib) + 218 [0x7fff6bc505a1]
+ 1 _dispatch_root_queue_drain (in libdispatch.dylib) + 326 [0x7fff6bc507a5]
+ 1 _dispatch_lane_invoke (in libdispatch.dylib) + 426 [0x7fff6bc4805e]
+ 1 _dispatch_lane_serial_drain (in libdispatch.dylib) + 263 [0x7fff6bc47407]
+ 1 _dispatch_mach_invoke (in libdispatch.dylib) + 498 [0x7fff6bc59508]
+ 1 _dispatch_lane_serial_drain (in libdispatch.dylib) + 263 [0x7fff6bc47407]
+ 1 _dispatch_mach_msg_invoke (in libdispatch.dylib) + 441 [0x7fff6bc58997]
+ 1 _dispatch_client_callout4 (in libdispatch.dylib) + 9 [0x7fff6bc417c7]
+ 1 _xpc_connection_mach_event (in libxpc.dylib) + 935 [0x7fff6bf1c140]
+ 1 _xpc_connection_call_event_handler (in libxpc.dylib) + 56 [0x7fff6bf1d2d4]
+ 1 ??? (in VideoToolbox) load address 0x7fff37500000 + 0xe4f33 [0x7fff375e4f33]
+ 1 ??? (in AppleGVAVPXDecoder) load address 0x10d760000 + 0x2c8d [0x10d762c8d]
+ 1 ??? (in AppleGVA) load address 0x7fff3edea000 + 0xb0609 [0x7fff3ee9a609]
+ 1 ??? (in AppleGVA) load address 0x7fff3edea000 + 0xafab6 [0x7fff3ee99ab6]
+ 1 ??? (in AppleGVA) load address 0x7fff3edea000 + 0x6b6b8 [0x7fff3ee556b8]
+ 1 ??? (in AppleGVA) load address 0x7fff3edea000 + 0x6b77d [0x7fff3ee5577d]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x2474b [0x11436874b]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x277456 [0x1145bb456]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x277312 [0x1145bb312]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x20c222 [0x114550222]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x210005 [0x114554005]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x6b65d [0x1143af65d]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x65cae [0x1143a9cae]
+ 1 ??? (in AppleIntelKBLGraphicsVADriver) load address 0x114344000 + 0x253b7e [0x114597b7e]
+ 1 IOAccelResourceFinishEvent (in IOAccelerator) + 148 [0x7fff529e6354]
+ 1 IOConnectCallMethod (in IOKit) + 186 [0x7fff2da5491f]
+ 1 io_connect_method (in IOKit) + 383 [0x7fff2da54b08]
+ 1 mach_msg (in libsystem_kernel.dylib) + 60 [0x7fff6be07590]
+ 1 mach_msg_trap (in libsystem_kernel.dylib) + 10 [0x7fff6be0721e]
1 Thread_8597
1 start_wqthread (in libsystem_pthread.dylib) + 0 [0x7fff6bed04b4]
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
In windows in Brave and Firefox I can't even play 8k@60hz video. It stutters like hell:
View attachment 942240
Good job Apple!
Partial hardware VP9 decode support includes Haswell and Broadwell.Good job Apple but bad job Firefox and Brave for not using Quick Sync or improving YouTube support. Partial VP9 support was introduced with Skylake and full support came with Kabylake, Coffeelake etc
Partial hardware VP9 decode support includes Haswell and Broadwell.
There is no VP9 support in quick sync in ivy bridge and no quick sync at all in Xeon x-5690 what I was testing with. VP8 support starts with Broadwell and partial VP9 support starts with Skylake. Kaby Lake, Coffee Lake, Whiskey Lake, Comet Lake add full fixed-function VP9 8-bit and 10-bit decoding acceleration and 8-bit encoding acceleration. So everything would be either software or hardware (through the video card) decoding.Good job Apple but bad job Firefox and Brave for not using Quick Sync or improving YouTube support. Partial VP9 support was introduced with Skylake and full support came with Kabylake, Coffeelake etc
Good job Apple but bad job Firefox and Brave for not using Quick Sync or improving YouTube support. Partial VP9 support was introduced with Skylake and full support came with Kabylake, Coffeelake etc
It doesn‘t work like that on macOS. Software doesn‘t have direct access to the decoders and encoders. They need to use Apple‘s VideoToolbox (AppleGVA) framework to implement it. It‘s Apple who did the poor job not supporting VP9 for so long. Now as they do, other browsers beside Safari will for sure offer accelerated VP9 playback as well.
VP9 hardware decoding has been added in beta 4, so less than a week ago. Firefox and Chrome surely will add support for it soon.
I tried to embed a vp9 file with HDR in a html file, and Safari just keep trying to reload it but can’t play it. It would be interesting to see if it works differently on a Mac that’s supporting HDR.
It’s a mp4 with HDR vp9 video. But a webm will probably be just as fine.a webm downloaded from youtube? what process using to try? could attempt it here.
I already posted a link from Intel indicating the Haswell and Broadwell support for partial VP9 decode acceleration, but here it is again:I’m not seeing it in the Intel Quick Sync docs and Wikipedia entry I referred to.
Sweet. I guess we will have to see how far back that hardware decode goes. Certainly all the 2017 or later Macs have the Intel hardware decode built in, except on the iMac Pro and the Mac Pro. However, I wonder if Apple is also supporting it on the GPUs and if so, that would include the iMac Pro and latest Mac Pro.
excellent! If the computer does not support hardware decode vp9 honestly i would rather have x264 hardware decoded 1080p, wonder how they will handle that situation..
a webm downloaded from youtube? what process using to try? could attempt it here.
In windows in Brave and Firefox I can't even play 8k@60hz video. It stutters like hell:
View attachment 942240
Good job Apple!
I already posted a link from Intel indicating the Haswell and Broadwell support for partial VP9 decode acceleration, but here it is again:
Intel® Iris™ and HD Graphics Driver update posted for Haswell and Broadwell version 15.36.14.4080
This update addresses several previously found issues. Please see the Release Notes and excerpt below for details. As always, feedback is appreciated. The 15.36.14.4080 has been posted to Intel Download Center at the following direct links to the drivers: 32-bit...community.intel.com
Intel® Iris™ and HD Graphics Driver update posted for Haswell and Broadwell version 15.36.14.4080
So it doesn't even support Skylake?Big Sur only supports VP9 hardware acceleration for Intel macs > Skylake.
So it doesn't even support Skylake?