General Discussions
It's not possible to use Intel's Quicksync Accelaration for HEVC on most Macs. A...
 

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

  RSS

OliverB
(@oliverb)
Noble Member
Joined: 1 year 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


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-wranglerpurge-nvdaset-eGPU
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 1 year 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


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-wranglerpurge-nvdaset-eGPU
2018 MacBook Pro 15" RP560X + RX 5700 XT (Mantiz Venus)


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 1 year 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


ReplyQuote