Skip to content

HEVC / H.265

currentMigrated from docs/video/HEVC.mdx at 37c3317fd058; modified for Encode Wiki · CC BY-SA 4.0

High 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.

  • 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.

ProfileBit depthChromaNotes
Main84:2:0Baseline HEVC
Main 108–104:2:0The normal profile for UHD, HDR and most delivery
Main Still Picture84:2:0One intra picture; the basis of HEIC images
Main 128–124:0:0, 4:2:0Range extensions (2014)
Main 4:2:2 10 / 128–10 / 12up to 4:2:2Range extensions; professional cameras and contribution
Main 4:4:4 / 10 / 128 / 10 / 12up to 4:4:4Range extensions; screen capture, RGB
Main 4:4:4 16 Intra8–16up to 4:4:4Intra-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.

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.
HEVC implementations
RelationshipProject or formatEvidence and scopeStatus
Implements byx265 4.3x265 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 codingDocumented
Implements bySVT-HEVC v1.5.1SVT-HEVC implements HEVC but its upstream project is discontinued.Scope: Encoder · Sources: SVT-HEVC v1.5.1 repositoryDocumented
  • 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.

HEVC container mappings
RelationshipProject or formatEvidence and scopeStatus
Carried ByISO Base Media File FormatMP4RA registers HEVC sample entries including hvc1 and hev1.Scope: Container Mapping · Sources: MP4 Registration Authority codec registryRegistered
Carried ByMatroskaThe Matroska mapping uses V_MPEGH/ISO/HEVC and an HEVCDecoderConfigurationRecord.Scope: Container Mapping · Sources: Matroska codec mappingsDocumented
CarriageIdentifier / formNotes
MP4, MOVhvc1 or hev1hvc1 keeps parameter sets in the sample entry; hev1 allows them in-band. Apple players require hvc1
MatroskaV_MPEGH/ISO/HEVCConfiguration record in CodecPrivate
MPEG-TS, HLSAnnex B byte streamBroadcast and HLS
HEIF/HEICHEVC-coded image itemsSee 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:

Terminal window
ffmpeg -i input.mkv -c copy -tag:v hvc1 output.mp4

HEVC 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/dvhe sample 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.

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.

  • hev1 vs hvc1: 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_streams shows the transfer characteristic and primaries; mastering-display and content-light SEI are per frame, so check them with ffprobe -show_frames -read_intervals %+#1 or 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.