Skip to content

VVC / H.266

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

Versatile Video Coding (VVC), published as ITU-T H.266 and ISO/IEC 23090-3, is the successor to HEVC. It was developed by the Joint Video Experts Team (JVET) of ITU-T and ISO/IEC and finalised in July 2020. The second edition (2022) added 12- and 16-bit profiles; the current ITU-T edition is from January 2026.

JVET’s target was about 50% lower bitrate than HEVC at the same subjective quality. Against real encoders the picture is less dramatic: VVenC at slow presets is broadly competitive with the best AV1 encoders, and VVC is more demanding to decode than AV1 or HEVC.

  • Broadcast and IPTV systems that specify it. Brazil’s TV 3.0 system selected VVC as its video codec, and DVB’s specifications include it.
  • Evaluation and research, for example comparing VVenC against AV1 encoders on your content.
  • Not for general distribution yet. No browser plays VVC natively, few consumer devices decode it in hardware, and it carries patent-pool licensing like HEVC. For files people will play on PCs and phones, use AV1, HEVC or H.264.
ProfileBit depthChromaNotes
Main 108–104:0:0, 4:2:0The profile decoders and devices implement
Main 10 4:4:48–10up to 4:4:4
Main 12, Main 12 4:4:4up to 124:2:0 / up to 4:4:4Added in the 2022 edition
Main 16 4:4:4up to 16up to 4:4:4Added in the 2022 edition

Each has Still Picture variants, the 12- and 16-bit profiles also have Intra variants, and the Multilayer Main 10 profiles cover scalable and multi-layer streams. As with HEVC there are Main and High tiers, and levels that limit picture size, sample rate and bitrate.

VVC extends HEVC’s design with many new tools. The main ones:

  • Partitioning: coding tree units up to 128×128, split by a quadtree followed by binary and ternary splits (the “multi-type tree”), so blocks can be rectangular at many aspect ratios.
  • Intra: 65 angular modes plus planar and DC; matrix-based intra prediction (MIP); cross-component linear model (CCLM) prediction of chroma from luma; intra sub-partitions.
  • Inter: affine motion compensation; geometric partitioning (GPM), which splits a block along a slanted line; decoder-side motion refinement (DMVR) and bi-directional optical flow (BDOF); merge with motion vector differences; adaptive motion-vector resolution.
  • Transforms and quantisation: multiple transform selection (DCT-II, DST-VII, DCT-VIII), transforms up to 64×64, a low-frequency non-separable secondary transform, and dependent (trellis-style) quantisation.
  • In-loop filtering: luma mapping with chroma scaling (LMCS), deblocking, SAO, and an adaptive loop filter (ALF) with cross-component ALF.
  • System features: reference picture resampling (resolution can change mid-stream without a keyframe, useful for adaptive streaming and conferencing), subpictures that can be extracted or merged (useful for 360° video), and screen-content tools (intra block copy, palette, adaptive colour transform).
VVC implementations
RelationshipProject or formatEvidence and scopeStatus
Implements byVVenC v1.14.0VVenC v1.14.0 provides VVC encoder applications and a library.Scope: Encoder · Sources: VVenC v1.14.0 release, ITU-T H.266 — Versatile video codingDocumented
Implements byuvg266 v0.8.1uvg266 v0.8.1 is an open-source VVC encoder release.Scope: Experimental Encoder · Sources: uvg266 v0.8.1 release, ITU-T H.266 — Versatile video codingDocumented
Targets byx266MulticoreWare describes x266 as a VVC encoder project, but no public release was verified.Scope: Announced Unreleased Encoder · Sources: x266 webinar FAQProject Claimed
  • VVenC (Fraunhofer HHI) is the practical open-source encoder, with five presets from faster to slower, perceptual optimisation, multi-threading and two-pass rate control. FFmpeg can use it through libvvenc (FFmpeg 7.1 and later, if built with it).
  • uvg266 (Tampere University’s Ultra Video Group, built on the Kvazaar HEVC encoder) is a BSD-licensed open-source encoder that is still under development.
  • VTM is the reference software: complete but far too slow for practical use.
  • x266 was announced by MulticoreWare but has never been released.

Decoders: VVdeC is Fraunhofer’s fast decoder for the Main 10 profile. FFmpeg has a native VVC decoder, experimental in 7.0 and enabled by default from 7.1, with Quick Sync (7.1) and VA-API (8.0) hardware decoding. Hardware VVC decode exists in Intel’s Lunar Lake integrated graphics (not the discrete Arc B-series) and some TV SoCs; NVIDIA and AMD GPUs have none. No browser supports VVC natively; see video codec support.

VVC container mappings
RelationshipProject or formatEvidence and scopeStatus
Carried ByISO Base Media File FormatMP4RA registers VVC sample entries including vvc1 and vvi1.Scope: Container Mapping · Sources: MP4 Registration Authority codec registryRegistered
Carried ByMatroskaThe Matroska mapping uses V_MPEGI/ISO/VVC and a VVC decoder configuration record.Scope: Container Mapping · Sources: Matroska codec mappingsDocumented
  • MP4/ISOBMFF: vvc1 and vvi1 sample entries (parameter sets in the sample entry, or in-band).
  • Matroska: V_MPEGI/ISO/VVC. FFmpeg muxes VVC into Matroska from 8.0.
  • MPEG-TS for broadcast, and raw .266 / .vvc Annex B streams from encoders.

VVC signals colour and HDR with the same VUI and SEI mechanisms as HEVC (PQ and HLG transfer, mastering-display and content-light metadata). Main 10 covers HDR10 and HLG. Check that your encoder writes the metadata and your muxer keeps it; tool support is thinner than for HEVC.

VVC is patent-encumbered. Access Advance runs the VVC Advance pool and, since acquiring Via LA’s program in December 2025, the VCL Advance pool that covers HEVC and VVC. Avanci Video licenses streaming services.