• Become a Premium Member for $25/year with no ads to improve your community experience.

GUIDE How to Enable H.264 and HEVC/H.265 encoding on macOS

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
6,558
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Enable H.264 and HEVC/H.265 encoding on macOS

This guide describes How to Enable H.264 and HEVC/H.265 Encoding on macOS using Clover and OpenCore booatloader. By following this guide, you'll be able to enable H.264 and HEVC/H.265 encoding on macOS using Clover or OpenCore bootloader.

Overview

What is Intel QuickSync Video?


Intel Quick Sync Video is Intel's brand for its dedicated video encoding and decoding hardware core. The Quick Sync is a dedicated hardware core on the processor die which allows much more power-efficient video processing. Video content is typically compresseed and encoded into a specific format when it is stored on hard drives, DVDs, camcorders, smartphones, or broadcast media. When you want to play that content, upload it online, or copy it to your phone, it must first be decoded and then re-encoded in a new format, which is a resource and time intensive process. The Intel Quick Sync Video uses the dedicated media processing capabilities of Intel's Graphics Technology to decode and encode fast, enabling the processor to complete other tasks and improving system responsiveness. Quick Sync Technology was first introduced with the Intel's Sandy Bridge CPU lineup.

The name "Quick Sync" refers to the use case of quickly transcoding (converting) a video from a particular format to another appropriate format. For example, a DVD or Blu-ray Disc to a format appropriate for Smartphones. This becomes crucial in the professional video industry, in which the source material may have been shot in any number of video formats, all of which must be brought into a common format (usually H.264) for inter-cutting.

Should I use IGPU or dGPU for encoding?


With the recent new generation of the Intel CPU's with IGPU and QuickSync Technology in the market, the H.264/HEVC encoders are reputed to be better as compared to the dGPUs and it's not always best to assume that the dGPU is better. If your CPU has IGPU and supports QuickSync Technology, it's better to let the IGPU handle the encoding instead of the dGPU where possible.

Can I use Unsupported IGPU for Encoding?


Well, the straight answer is no. You cannot use an IGPU which is unsupported on macOS/OSX. The example includes Intel's Rocket Lake and newer CPU lineup. This is because the kexts does not contain the Device ID of these newer IGPUs due to which the kext will never attach to these IGPUs. Hence, lacking all the features including encoding, even if the display does not work. See IGPU Compatibility for more information.


Requirements


Following are the requirements to enable H.264 and/or HEVC/H.265 encoding on macOS.

CPUmacOS/OS X Compatible CPU. Refer to CPU Compatibility for more information.

H.264
  • Intel Sandy Bridge and newer
HEVC/H.265
  • Intel Skylake and newer
GPUmacOS/OS X Compatible CPU. Refer to GPU Compatibility for more information.

H.264
  • Required for Laptops
HEVC/H.265
  • NVIDIA GTX 950 or newer
  • AMD R9 Fury/Fury X/nano or newer
macOS versionH.264
  • OS X 10.3.9 and newer
HEVC/H.265
  • macOS High Sierra and newer
SMBIOS
  • iMac (Late 2009 or later)
  • MacBook (Late 2009 or later)
  • MacBook Air (Late 2010 or later)
  • MacBook Pro (Mid 2010 or later)
  • Mac Mini (Mid 2010 or later)
  • Mac Pro (Mid 2010 or later)
  • iMacPro (2017)

H.264 and HEVC/H.265 CPU Compatibility

CPU Code NameH.264HEVC/H.265
CantigaNoNo
ClarkdaleDecode OnlyNo
ArrandaleDecode OnlyNo
Sandy BridgeYesNo
Ivy BridgeYesNo
BroadwellYesNo
BraswellYesDecode Only
Cherry TrailYesYes
SkylakeYesYes
Apollo LakeYesYes
Kaby LakeYesYes
Coffee LakeYesYes
Comet LakeYesYes
Whiskey LakeYesYes
Gemini LakeYesYes
Ice Lake/Jasper Lake/LakefieldYesYes
Tiger LakeYesYes
Rocket LakeYesYes
Alder LakeYesYes
Raptor LakeYesYes

Option #1: With IGPU Enabled
If you're having IGPU enabled, you need to configure Device Properties. To configure the IGPU Device Properties, follow the guide linked below.


Option #2: With IGPU Disabled
With IGPU disabled, you can use NVIDIA or AMD GPU. If you're using NVIDIA or AMD, you need to use one of the following SMBIOS.

STEP 1: BIOS Settings

The BIOS settings have been provided in a separate thread. For more information on BIOS settings, refer to the thread linked below.

STEP 2: Fix Graphics
Whether in terms of IGPU or NVIDIA/AMD, the Graphics must be enabled and should work with full QE/CI. If your GPU isn't working with full QE/CI, depending on your GPU, refer to the guide linked below.



QUICK NOTE:
  • If you're using NVIDIA/AMD GPU for H.265, disable IGPU in BIOS.
  • No IGPU property should exist in the Device Properties section of your config.plist when using NVIDIA/AMD GPU for H.265.

STEP 3: Configure SMBIOS
The next step is to configure an appropriate SMBIOS. Select the appropriate SMBIOS from the list which supports H.264 and/or HEVC/H.265, as required. For more more information, refer to the guide linked below.

STEP 4: Restart your System
After performing all the above steps, restart your system for the applied changes to take effect and you should be able to get H.264 and/or HEVC/H.265.

Verifying H.264 and HEVC/H.265 Encoding


The next step is to verify whether you have a working H.264 and HEVC/H.265 Encoding or not. Follow the steps below to verify H.264 and HEVC/H.265 Encoding.

1. Download VideoProc Converter
2. Move the App to the Applications folder
3. Open VideoProc Converter
4. Click on Settings
5. Click on Options as shown below

Screen Shot 2022-06-17 at 4.15.17 AM.png
6. Click on the refresh button to check the encoding. Once finished, VideoProc Converter will display the results for both. If it is enabled, you'll see the Enable checkbox checked.

screen-shot-2019-07-23-at-10-21-00-pm-png.4410


Intel Comet Lake 10100F+AMD RX 580
Screen Shot 2022-06-13 at 9.38.16 PM.png
 
Last edited:
  • Like
Reactions: oldman20
my specs is it proprely?
Screen Shot 2022-08-06 at 17.41.58.png
 
Thanks, I followed your guide, VideoProc confirms that both H.264 and HEVC are enabled. The problem is that BlackMagic Davinci video editor does NOT use my dGPU (RX6600XT) for export using HEVC (H.265) codec. The performance is very poor and in fact more slower than when I was using iGPU (UHD630). On the other hand export using H.264 code works fine and quickly. Still, I would like to export to H.265 but the question is where the problem is. Thanks for any help.
 
Thanks, I followed your guide, VideoProc confirms that both H.264 and HEVC are enabled. The problem is that BlackMagic Davinci video editor does NOT use my dGPU (RX6600XT) for export using HEVC (H.265) codec. The performance is very poor and in fact more slower than when I was using iGPU (UHD630). On the other hand export using H.264 code works fine and quickly. Still, I would like to export to H.265 but the question is where the problem is. Thanks for any help.
Have you configured DaVinci to export H.265 with appropriate settings?
 
Have you configured DaVinci to export H.265 with appropriate settings?
No, no, I didn't set anything special in DaVinci. I just tried the difference between manual and automatic selection of Graphic card, but the result seems to be the same = no success = very poor encoding performance to H.265 ... see image below
1663323846748.png

Unfortunately there is no possibility to encode via UHD630 (even that iGPU is listed), because it is not selectable and is grayed-out as you can see. This would be a sufficient workaround for me, because encoding via iGPU was quite fast.

BTW it is a free version of Davinci.

Thanks for any help.
 
Last edited:
No, no, I didn't set anything special in DaVinci. I just tried the difference between manual and automatic selection of Graphic card, but the result seems to be the same = no success = very poor encoding performance to H.265 ... see image below
View attachment 5034

Unfortunately there is no possibility to encode via UHD630 (even that iGPU is listed), because it is not selectable and is grayed-out as you can see. This would be a sufficient workaround for me, because encoding via iGPU was quite fast.

BTW it is a free version of Davinci.

Tanks for any help.
From Render Panel>Export Video

Select H.265 and the appropriate encoding Profile.
 
All setting are preselected automatically and are the same as in case of iGPU encoding, see picture
1663326788066.png
 
So, when you start exporting, what's the issue?
Encoding starts successfully, but it is very very very slow. I can estimate that encoding via iGPU(UHD630) was 50 times faster than using dGPU(RX6600XT). My expectation when I bought the card was that dGPU will be faster then iGPU ...
 

Trending Threads

Latest posts

Forum statistics

Threads
1,453
Messages
13,790
Members
20,613
Latest member
wayne910094