First H.264 Hardware Encoder For Mac
Feb 10, 2019 Hi, I have a question, if anyone can help me sff. I have an AMD SAPPHIRE RX580 8GB running on a 4790K i7 that does not support hardware HEVC. I have IGPU enable to get hardware H264. If i upgrade RX580 for a VEGA 56 8GB and turn off the IGPU, i can H264 and HEVC hardware? The following is a list of H.264/MPEG-4 AVC products and implementations. Legacy H.264 codec, Apple's implementation, MainConcept's H.264, and the first. Elgato Turbo.264 hardware encoder for Mac OS X connects via USB 2.0.
For years, H.264 has been the go-to video compression standard. Whenever you download a film or TV show, watch a Blu-ray, view HDTV broadcasts, or stream something from various sites and services, there’s a very good chance the video stream you’re watching has been encoded with H.264.
H.264 is a great compression standard for a number of reasons. It provides very good quality at relatively low bitrates, and its widespread use means it’s supported by essentially every video playback device made in the past five to ten years. It’s also very versatile, not only allowing compression to small file sizes, but also to high quality, high bitrate files that are suitable for use on Blu-ray discs.
While H.264 is doing a pretty good job of delivering compressed videos to users, there’s a better standard out there that offers similar quality at even smaller file sizes. The standard is called HEVC, or High Efficiency Video Codec, and it first appeared in 2013 as a true successor to H.264. For this reason, HEVC is also known as H.265, or MPEG-H Part 2.
HEVC’s main advantage over H.264 is that it offers roughly double the compression ratio for the same quality. This means that a video file encoded with HEVC can occupy half the space of its H.264 equivalent with no noticeable change in quality, or the same amount of space with improved quality. Sounds pretty good, right?
HEVC is able to compress files to a greater extent than before by evolving upon the H.264 standard. In both of these standards, motion compensated prediction is used to find areas that are redundant within a single frame or in the frames that follow. When redundant blocks of pixels are identified, they are encoded by referencing another area in the same or following frames. In H.264, these blocks can be up to 16x16 pixels in size, but big gains in compression were made by increasing this to 64x64 in HEVC.
Other improvements also help HEVC achieve greater levels of compression, including better variable-block-size segmentation, improved deblocking and motion compensation filters, sample adaptive offset filtering, and better motion vector prediction and precision. This page here from the x265 group has a great explanation of these terms and how it can improve HEVC’s efficiency.
As HEVC is relatively new to the scene, it’s not nearly as compatible with existing playback devices as H.264. Many such devices have dedicated hardware for decoding H.264 streams, while equivalent hardware for decoding HEVC is significantly less common. That’s not to say it’s impossible to decode HEVC on today’s devices – software playback is still possible on a wide variety of hardware, and some hardware decoding solutions exist – but something that can play H.264 is not necessarily HEVC-compatible.
Note: This feature was originally published on 02/16/2016. We have briefly revised it and bumped it because it's as relevant today as it was before (if not more, considering today's broader 4K support). Part of our #ThrowbackThursday initiative.
Hardware Support
Here’s a quick rundown of well-known hardware that includes dedicated HEVC decoding blocks, which definitely support efficient HEVC playback:
- Intel 6th-generation ‘Skylake’ Core processors or newer
- AMD 6th-generation ‘Carizzo’ APUs or newer
- AMD ‘Fiji’ GPUs (Radeon R9 Fury/Fury X/Nano) or newer
- Nvidia GM206 GPUs (GeForce GTX 960/950) or newer
- Other Nvidia GeForce GTX 900 series GPUs have partial HEVC hardware decoding support
- Qualcomm Snapdragon 805/615/410/208 SoCs or newer. Support ranges from 720p decoding on low-end parts to 4K playback on high-end parts.
- Nvidia Tegra X1 SoCs or newer
- Samsung Exynos 5 Octa 5430 SoCs or newer
- Apple A8 SoCs or newer
- Some MediaTek SoCs from mid-2014 onwards
As you can see, most desktop hardware released in 2015, and most mobile hardware from late 2014 onwards, supports dedicated HEVC playback. Hardware designers have been more focused on getting HEVC decoding blocks into mobile hardware first, as the CPUs in these products typically aren’t fast enough for software decoding. Support in desktop hardware has been marginally slower as most desktop-class parts are powerful enough to decode HEVC without dedicated decoding blocks.
If you have a computer or device that doesn’t include the aforementioned hardware, that doesn’t mean you won’t be able to decode HEVC. PCs, even those with entry-level CPUs from several years ago, shouldn’t have much trouble software decoding HEVC videos. One of my HTPCs equipped with a $50 Intel Celeron ‘Ivy Bridge’ CPU from 2012 is more than capable of decoding HEVC, and I’ve even achieved smooth playback on Intel Bay Trail and Qualcomm Snapdragon 801 devices in some circumstances (albeit at high CPU utilization).
As a general rule of thumb, if you have an older PC you’d describe as “very slow” it probably won’t be capable of HEVC playback. Anything else will probably suffice.
Where you won’t find HEVC playback support is in many dedicated media players on the market today. These products either don’t support HEVC hardware decoding, have too low power SoCs to support smooth software playback, or only support a small handful of popular video formats without the ability to run wide format playback software like VLC.
Streaming Boxes and Console Support
Here’s a quick rundown of popular media playing devices that don’t support HEVC:
- Google’s Chromecast (first and second generations)
- Apple TV (although some reports suggest 1080p HEVC playback is possible by running VLC on a 4th-gen model)
- Roku (third-gen models and earlier)
- Amazon Fire TV (2014) and Fire TV Stick
- Any Western Digital WD TV products
- All PlayStation consoles (including PS4 Pro)
- Xbox 360
And here are the media players that do support HEVC:
- Roku 4
- Amazon Fire TV (2015) and 2nd-gen Fire TV Stick
- Xbox One
This isn’t an exhaustive list, but you can clearly see that there’s just a handful of very recent devices that support native HEVC playback. The Xbox One is the only console to support playback, although support for HEVC was added through a software update, presumably utilizing software decoding.
So while the benefits of HEVC encoding are clear, playback is essentially restricted to PCs, high-end smartphones and tablets, and a very small range of media players and consoles. At this point in time, compatibility is a disadvantage to encoding your media library in HEVC.
As for software that can playback HEVC-encoded files, there are many options out there. On Windows 10, you can natively play HEVC videos in the default Films & TV app or through Windows Media Player. Alternatively, you can use VLC or MPC-HC for playback, which support older operating systems, or popular media center apps like Kodi (version 14 onwards) and Plex Media Player.
If you’re running macOS or iOS, VLC is your best bet. On Android devices, you’ll be able to play back HEVC files using MX Player through software decoding if your device is fast enough, or if it is, both MX Player and the Plex app supports native HEVC playback. Note that some devices have HEVC decoding blocks in their SoCs but don’t support native playback at this time.