HEVC / H.265
37c3317fd058; modified for Encode Wiki · CC BY-SA 4.0High Efficiency Video Coding (HEVC), published as ITU-T H.265 and ISO/IEC 23008-2 (MPEG-H Part 2), is the successor to H.264. It was developed by the ITU-T/ISO Joint Collaborative Team on Video Coding (JCT-VC) and first approved in April 2013, with the goal of halving H.264’s bitrate at the same subjective quality. The current ITU-T edition is from January 2026.
HEVC is the standard codec for UHD Blu-ray, most UHD/HDR broadcast and streaming to TVs, and video recorded on iPhones and many cameras. Hardware decode is near-universal on devices from roughly 2016 onward. Its weak spots are patent licensing, which is split across several pools, and browser support, which depends on the operating system and hardware.
When to use HEVC
Section titled “When to use HEVC”- HDR and UHD delivery to TVs, set-top boxes and Apple devices, which reliably decode HEVC Main 10 in hardware.
- Personal encodes and archives where the playback devices are known to support it. Good x265 encodes are noticeably smaller than x264 at the same quality, especially at 1080p and above.
- Hardware recording and streaming where the GPU or SoC has an HEVC encoder.
For the open web, AV1 is usually the better high-efficiency choice; for maximum compatibility, use H.264.
Profiles, tiers and levels
Section titled “Profiles, tiers and levels”| Profile | Bit depth | Chroma | Notes |
|---|---|---|---|
| Main | 8 | 4:2:0 | Baseline HEVC |
| Main 10 | 8–10 | 4:2:0 | The normal profile for UHD, HDR and most delivery |
| Main Still Picture | 8 | 4:2:0 | One intra picture; the basis of HEIC images |
| Main 12 | 8–12 | 4:0:0, 4:2:0 | Range extensions (2014) |
| Main 4:2:2 10 / 12 | 8–10 / 12 | up to 4:2:2 | Range extensions; professional cameras and contribution |
| Main 4:4:4 / 10 / 12 | 8 / 10 / 12 | up to 4:4:4 | Range extensions; screen capture, RGB |
| Main 4:4:4 16 Intra | 8–16 | up to 4:4:4 | Intra-only, high precision |
Later editions added Screen Content Coding profiles (2016), scalable (SHVC) and multiview (MV-HEVC) profiles. MV-HEVC is what Apple uses for spatial (stereoscopic) video; FFmpeg decodes it since 7.1.
Tiers: Main tier suits consumer delivery; High tier raises the bitrate limits for contribution and professional use and only exists from level 4 upward.
Levels limit luma sample rate, picture size and bitrate. Level 4.1 covers 1080p60, level 5.1 covers 2160p60, and level 6.x is for 8K. x265 picks the level automatically; set --level-idc (and VBV) only when a device requires it.
Coding tools
Section titled “Coding tools”Compared with H.264, HEVC mostly makes everything larger and more flexible:
- Coding tree units up to 64×64, split by quadtree into coding, prediction and transform units, replacing 16×16 macroblocks.
- Intra prediction with 35 modes: planar, DC and 33 angles (H.264 has 9).
- Transforms from 4×4 to 32×32, with a DST for 4×4 intra luma blocks.
- Motion: merge mode, which copies motion from neighbouring blocks, and advanced motion-vector prediction; 8-tap luma interpolation filters.
- CABAC is the only entropy coder.
- In-loop filters: deblocking, then sample adaptive offset (SAO), which corrects banding and ringing by adding offsets to sample categories. Strong SAO can also smooth away fine detail, which is why x265 users often reduce or disable it for high-quality encodes.
- Parallelism: tiles and wavefront parallel processing.
Encoders and decoders
Section titled “Encoders and decoders”| Relationship | Project or format | Evidence and scope | Status |
|---|---|---|---|
| Implements by | x265 4.3 | x265 4.3 is MulticoreWare's current public HEVC software encoder release.Scope: Encoder · Sources: x265 4.3 release, ITU-T H.265 — High efficiency video coding | Documented |
| Implements by | SVT-HEVC v1.5.1 | SVT-HEVC implements HEVC but its upstream project is discontinued.Scope: Encoder · Sources: SVT-HEVC v1.5.1 repository | Documented |
- x265 is the main software encoder, with presets and psychovisual tuning modelled on x264. It supports 8, 10 and 12-bit and 4:0:0/4:2:0/4:2:2/4:4:4, depending on how it was built. GPL-licensed, with commercial licenses available.
- Kvazaar is a BSD-licensed open-source encoder from Tampere University, with a focus on speed and parallelism.
- HM is the reference software, used for conformance and research.
- SVT-HEVC has been discontinued upstream.
- Hardware encoders: NVENC, Quick Sync, AMF, VideoToolbox, MediaCodec, VA-API and Vulkan. Good for recording and live streaming; for archive-quality encodes x265’s slower presets use less bitrate.
FFmpeg’s native hevc decoder handles all common profiles in software. Hardware decode of Main and Main 10 is standard on current GPUs, Apple devices, Android SoCs and TVs; 4:2:2 and 4:4:4 hardware decode is much rarer (NVIDIA added HEVC 4:2:2 decode and encode only with its RTX 50 generation).
Browsers: Safari plays HEVC on macOS and iOS. Chrome and Edge play it when the operating system and GPU provide a hardware decoder. Firefox support is limited and platform-dependent. See video codec support.
Containers
Section titled “Containers”| Relationship | Project or format | Evidence and scope | Status |
|---|---|---|---|
| Carried By | ISO Base Media File Format | MP4RA registers HEVC sample entries including hvc1 and hev1.Scope: Container Mapping · Sources: MP4 Registration Authority codec registry | Registered |
| Carried By | Matroska | The Matroska mapping uses V_MPEGH/ISO/HEVC and an HEVCDecoderConfigurationRecord.Scope: Container Mapping · Sources: Matroska codec mappings | Documented |
| Carriage | Identifier / form | Notes |
|---|---|---|
| MP4, MOV | hvc1 or hev1 | hvc1 keeps parameter sets in the sample entry; hev1 allows them in-band. Apple players require hvc1 |
| Matroska | V_MPEGH/ISO/HEVC | Configuration record in CodecPrivate |
| MPEG-TS, HLS | Annex B byte stream | Broadcast and HLS |
| HEIF/HEIC | HEVC-coded image items | See HEIC |
FFmpeg writes hev1 by default. For files that must play in QuickTime, Safari or on iOS, add -tag:v hvc1 when encoding or remuxing:
ffmpeg -i input.mkv -c copy -tag:v hvc1 output.mp4HEVC Main 10 is the base for every mainstream HDR format:
- HDR10: PQ transfer, BT.2020 primaries, plus static mastering-display and content-light-level metadata in SEI messages.
- HLG: signalled through the transfer characteristic; common in broadcast.
- HDR10+: dynamic metadata in ITU-T T.35 SEI messages.
- Dolby Vision: profiles 5 and 8 (single layer) and 7 (UHD Blu-ray dual layer) are HEVC-based, using
dvh1/dvhesample entries in MP4.
With x265, static HDR10 metadata is set with --master-display and --max-cll, HDR10+ with --dhdr10-info, and Dolby Vision RPUs with --dolby-vision-profile and --dolby-vision-rpu. A 10-bit stream is not HDR by itself: the transfer, primaries and matrix must be signalled correctly. See preserving colour and HDR.
Licensing
Section titled “Licensing”HEVC licensing is fragmented, which slowed its adoption in browsers and on the web. Access Advance runs the largest pool (HEVC Advance) and since its December 2025 acquisition also administers the former Via LA HEVC/VVC pool, now called VCL Advance. A third pool, Velos Media, has stopped joint licensing; other patent holders license individually, and Avanci Video licenses streaming services. x265’s and Kvazaar’s open-source licenses cover copyright, not patents.
Pitfalls
Section titled “Pitfalls”hev1vshvc1: files that play everywhere else show only audio on Apple devices. Retag with-tag:v hvc1.- 8-bit Main for no reason: encode 10-bit (Main 10) even for SDR; it reduces banding and every HEVC hardware decoder from the last several years handles it.
- HDR metadata lost in transcoding:
ffprobe -show_streamsshows the transfer characteristic and primaries; mastering-display and content-light SEI are per frame, so check them withffprobe -show_frames -read_intervals %+#1or MediaInfo. See preserving color and HDR. - 4:2:2 camera footage (common from mirrorless cameras) is Main 4:2:2 10, which many PCs and phones can’t decode in hardware; transcode to 4:2:0 for delivery.