It's not possible to use Intel's Quicksync Accelaration for HEVC on most Macs. A...
 
Notifications
Clear all

It's not possible to use Intel's Quicksync Accelaration for HEVC on most Macs. Apple really sucks  

  RSS

OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

1) MacOSX does not support Quicksync Acceleration at all.
2) Intel Chips before Skylake do not support HEVC Quicksync Acceleration.
3) Apple switches off the iGPU for Bootcamp when there is a dGPU!

Ok, for 2) that's not apple's fault. But 1) and 3) is really bad. They "steal" some good and efficient way to enclose video with HVENC Codes. At least 1) has a hidden agenda to force users to buy overprices apple software (which is far less efficient), but the reasons for 3)? Make things hard for Bootcamp users?

I have two notebooks, a 2015 MPB 13" and 2018 MPB 15". The 2015 MPB can't do it because of 2) and the 2018 MPB can't do it because of 3). You can see very well in my other thread about internal acceleration ( https://egpu.io/forums/pro-applications/easy-video-encoding-benchmark-test-your-gpu-within-seconds/) that I cannot deliver any numbers for HEVC encoding with Intel iGPUs.

The only notebooks that can do it are newer 13-inch notebooks with Bootcamp.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@oliverb macOS can use QuickSync using ffmpeg (example app is VideoProc which is honestly too expensive given that under the surface it's using ffmpeg) and Final Cut Pro also uses this if you export to H264 (FCP doesn't support HEVC export). I believe Apple's video encoding API is videotoolbox, which is GPU-accelerated but allows only extremely limited tweaking (typical Apple). If the API was better, we would all be in a better place. This is the reason why Handbrake developers are not too fond of it. Also, Apple software is far from overpriced (hardware, sure), and as far as I can tell, in media they are the most performant.

You can also test Quicksync vs. no-Quicksync easily in Compressor. 8-bit HEVC will use hardware acceleration, while 10-bit won't as of now.

2 is on Intel and is a hardware limitation - not sure how Apple is responsible. The older Macs can't do it because there was no hardware for it. In fact, contrary to this, look at Apple's A-series chips that support this, starting from the A9 - so they do care somewhat. Finally, Apple switches off the integrated GPU as macs use gmux (fundamentally different to non-Apple laptops with integrated + discrete chips) and Windows has no mechanism to switch gmux on the fly (so you need to set the mux then reboot - done today using NVRAM and managed in early EFI). The best case scenario (which won't happen) could be for Apple to provide multiple options to boot bootcamp Windows (one with iGPU and the other with dGPU set).

So, unfortunately, most of your post is incorrect.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 

@mac_editor, thank you for your hint: I got now the correct codec for MacOSX: it's actually "hevc_videotoolbox" (ok, that was easy), and result is 143 FPS. This is really not bad at all.

ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_videotoolbox -quality quality -b:v 3M -bufsize 16M -maxrate 6M outputhevcIntel.mp4

frame=  901 fps=143 q=-0.0 Lsize=    5194kB time=00:00:30.52 bitrate=1393.9kbits/s speed=4.85x

and for x264 the codec is "h264_videotoolbox" with 268 FPS:

frame=  901 fps=268 q=-0.0 Lsize=   11309kB time=00:00:30.52 bitrate=3034.7kbits/s speed=9.09x

EDIT: There is something strange for hevc_videotoolbox codec 1) it looks there is no load on the iGPU. h264_videotoolbox behaves as expected with visible load on iGPU.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 
Posted by: OliverB

@mac_editor, thank you for your hint: I got now the correct codec for MacOSX: it's actually "hevc_videotoolbox" (ok, that was easy), and result is 143 FPS. This is really not bad at all.

ffmpeg -i file_example_MP4_1920_18MG.mp4 -c:v hevc_videotoolbox -quality quality -b:v 3M -bufsize 16M -maxrate 6M outputhevcIntel.mp4

frame=  901 fps=143 q=-0.0 Lsize=    5194kB time=00:00:30.52 bitrate=1393.9kbits/s speed=4.85x

and for x264 the codec is "h264_videotoolbox" with 268 FPS:

frame=  901 fps=268 q=-0.0 Lsize=   11309kB time=00:00:30.52 bitrate=3034.7kbits/s speed=9.09x

EDIT: There is something strange for hevc_videotoolbox codec 1) it looks there is no load on the iGPU. h264_videotoolbox behaves as expected with visible load on iGPU.

I was only referring to the VideoToolBox API, not the command but glad you looked it up. Thank you for posting results. I am guessing HEVC encode/decode is handled using/via the T2 chip hence it doesn't show up.

https://www.reddit.com/r/PleX/comments/9urplx/does_plex_support_mac_minis_t2_h265_encoder/

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 2 years ago
 
Posted by: mac_editor

 

I was only referring to the VideoToolBox API, not the command but glad you looked it up. Thank you for posting results. I am guessing HEVC encode/decode is handled using/via the T2 chip hence it doesn't show up.

https://www.reddit.com/r/PleX/comments/9urplx/does_plex_support_mac_minis_t2_h265_encoder/

This may be a good explanation. But there is another problem: The quality of the encoding is clearly inferior compared to NVENC/AMF. This doesn't show at high enough bitrates, but on lower ones.

I would really want to know how a Vega 64 performs with the codec "hevc_amf" on a typical 1080p video.If someone could test it, this would be very nice.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


ReplyQuote
Dope
 Dope
(@dope)
Eminent Member
Joined: 2 years ago
 

Can quick sync be activated and used in bootcamp with apple_set_os.efi ? I don't think there would be a need to attach the igpu with the display just as long as it is activated with the latest drivers, it should be able to run the test?

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
Massimo Franzese
(@massimo_franzese)
Trusted Member
Joined: 7 months ago
 

Videotoolbox is just the API name to invoke hardware decoding encoding so it is going to use Intel QuickSync as the onboard GPU does not have alternatives it is the only option on intel cpus

 

Mac Mini 2018 3.2 Ghz 6 cores
Razer Core X enclosure with Sapphire Vega 64 Nitro
Benq PD2720U


ReplyQuote