# VVC / H.266

Canonical URL: https://encode.wiki/codecs/video/vvc/
Content version: ca42e61ede0a24f789d7287a0001244ad22f4abf
Status: current
License: CC BY-SA 4.0
Checksum (SHA-256): 856a4dda5395abcadc6b3b4b1041d6049c45595cc0960eacaa8e9791afb6ae5e

Versatile Video Coding (VVC), published as ITU-T H.266 and ISO/IEC 23090-3, is the successor to [HEVC](/codecs/video/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](/tools/software-encoders/vvenc/) at slow presets is broadly competitive with the best [AV1](/codecs/video/av1/) encoders, and VVC is more demanding to decode than AV1 or HEVC.

## When to use VVC

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

## Profiles

| Profile                | Bit depth | Chroma           | Notes                                       |
| ---------------------- | --------- | ---------------- | ------------------------------------------- |
| Main 10                | 8–10      | 4:0:0, 4:2:0     | The profile decoders and devices implement  |
| Main 10 4:4:4          | 8–10      | up to 4:4:4      |                                             |
| Main 12, Main 12 4:4:4 | up to 12  | 4:2:0 / up to 4:4:4 | Added in the 2022 edition                |
| Main 16 4:4:4          | up to 16  | up to 4:4:4      | Added 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.

## Coding tools

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

## Encoders and decoders

**VVC implementations**

| Relationship | Project or format | Evidence and scope | Status |
| --- | --- | --- | --- |
| Implements by | [VVenC](/tools/software-encoders/vvenc/) | VVenC v1.14.0 provides VVC encoder applications and a library. Scope: Encoder. Sources: [VVenC v1.14.0 release](https://github.com/fraunhoferhhi/vvenc/releases/tag/v1.14.0), [ITU-T H.266 — Versatile video coding](https://www.itu.int/rec/T-REC-H.266). | Documented |
| Implements by | [uvg266](/tools/software-encoders/uvg266/) | uvg266 v0.8.1 is an open-source VVC encoder release. Scope: Experimental Encoder. Sources: [uvg266 v0.8.1 release](https://github.com/ultravideo/uvg266/releases/tag/v0.8.1), [ITU-T H.266 — Versatile video coding](https://www.itu.int/rec/T-REC-H.266). | Documented |
| Targets by | [x266](/tools/software-encoders/x266/) | MulticoreWare describes x266 as a VVC encoder project, but no public release was verified. Scope: Announced Unreleased Encoder. Sources: [x266 webinar FAQ](https://multicorewareinc.com/faq-x266-webinar/). | Project Claimed |

[Open the complete typed relationship catalog](/api/v1/catalog.json).

- **[VVenC](/tools/software-encoders/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](/tools/software-encoders/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](/tools/software-encoders/vtm/)** is the reference software: complete but far too slow for practical use.
- **[x266](/tools/software-encoders/x266/)** was announced by MulticoreWare but has never been released.

**Decoders**: [VVdeC](https://github.com/fraunhoferhhi/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](/reference/video-codec-support/).

## Containers and HDR

**VVC container mappings**

| Relationship | Project or format | Evidence and scope | Status |
| --- | --- | --- | --- |
| Carried By | [ISO Base Media File Format](/containers/isobmff/) | MP4RA registers VVC sample entries including vvc1 and vvi1. Scope: Container Mapping. Sources: [MP4 Registration Authority codec registry](https://mp4ra.org/registered-types/codecs). | Registered |
| Carried By | [Matroska](/containers/matroska/) | The Matroska mapping uses V_MPEGI/ISO/VVC and a VVC decoder configuration record. Scope: Container Mapping. Sources: [Matroska codec mappings](https://www.matroska.org/technical/codec_specs.html). | Documented |

[Open the complete typed relationship catalog](/api/v1/catalog.json).

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

## Licensing

VVC is patent-encumbered. [Access Advance](https://accessadvance.com/licensing-programs/vvc-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.
