{
  "schemaVersion": 1,
  "contentVersion": "ca42e61ede0a24f789d7287a0001244ad22f4abf",
  "id": "docs/codecs/video/vvc",
  "collection": "docs",
  "title": "VVC / H.266",
  "description": "VVC (H.266) is the successor to HEVC; it compresses better than HEVC but has little consumer playback support, so it is mainly used in broadcast systems that mandate it and for evaluation.",
  "canonicalUrl": "https://encode.wiki/codecs/video/vvc/",
  "apiUrl": "https://encode.wiki/api/v1/documents/docs/codecs/video/vvc.json",
  "markdownUrl": "https://encode.wiki/api/v1/markdown/docs/codecs/video/vvc.md",
  "status": "current",
  "tags": [
    "migrated",
    "video",
    "vvc",
    "h266"
  ],
  "license": "CC BY-SA 4.0",
  "dates": {
    "lastVerified": "2026-10-08T00:00:00.000Z"
  },
  "authors": [],
  "sources": [
    {
      "title": "ITU-T H.266 — Versatile video coding",
      "url": "https://www.itu.int/rec/T-REC-H.266",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "ITU-T H.266.1 — Conformance specification for H.266 (V2 summary)",
      "url": "https://itu.int/dms_pubrec/itu-t/rec/h/T-REC-H.266.1-202309-I!!SUM-HTM-E.htm",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Matroska codec mappings",
      "url": "https://www.matroska.org/technical/codec_specs.html",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "MP4 Registration Authority codec identifiers",
      "url": "https://mp4ra.org/registered-types/codecs",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "VVenC",
      "url": "https://github.com/fraunhoferhhi/vvenc",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "VVdeC",
      "url": "https://github.com/fraunhoferhhi/vvdec",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "FFmpeg changelog",
      "url": "https://github.com/FFmpeg/FFmpeg/blob/master/Changelog",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Access Advance VVC Advance patent pool",
      "url": "https://accessadvance.com/licensing-programs/vvc-advance/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    },
    {
      "title": "Ultra HD Forum on Brazil's TV 3.0",
      "url": "https://uhdf.svta.org/brazil-adopts-tv-3-0-with-many-component-technologies-described-in-the-ultra-hd-forums-guidelines/",
      "accessedAt": "2026-10-08T00:00:00.000Z"
    }
  ],
  "provenance": {
    "originUrl": "https://github.com/av1-community-contributors/codec-wiki/blob/37c3317fd058b23c71a87679bed5619a98f77752/docs/video/VVC.mdx",
    "originCommit": "37c3317fd058b23c71a87679bed5619a98f77752",
    "migratedAt": "2026-08-21T00:00:00.000Z",
    "modified": true,
    "originPath": "docs/video/VVC.mdx"
  },
  "headings": [
    {
      "depth": 2,
      "text": "When to use VVC",
      "anchor": "when-to-use-vvc"
    },
    {
      "depth": 2,
      "text": "Profiles",
      "anchor": "profiles"
    },
    {
      "depth": 2,
      "text": "Coding tools",
      "anchor": "coding-tools"
    },
    {
      "depth": 2,
      "text": "Encoders and decoders",
      "anchor": "encoders-and-decoders"
    },
    {
      "depth": 2,
      "text": "Containers and HDR",
      "anchor": "containers-and-hdr"
    },
    {
      "depth": 2,
      "text": "Licensing",
      "anchor": "licensing"
    }
  ],
  "sections": [
    {
      "id": "_preamble",
      "title": "Page introduction",
      "depth": 0,
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/_preamble.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/_preamble.md",
      "checksum": "444b5e44901a1974f013ea9953686654064e56b72cecbacd08c55f51c0aab1b2",
      "bytes": 656
    },
    {
      "id": "when-to-use-vvc",
      "title": "When to use VVC",
      "depth": 2,
      "anchor": "when-to-use-vvc",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#when-to-use-vvc",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/when-to-use-vvc.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/when-to-use-vvc.md",
      "checksum": "2765598bbd61e869851f81979ab4d6b84b11f5c47ae34a70731172bd292e0c56",
      "bytes": 493
    },
    {
      "id": "profiles",
      "title": "Profiles",
      "depth": 2,
      "anchor": "profiles",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#profiles",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/profiles.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/profiles.md",
      "checksum": "e787ae22d80f7a1a65d17631a242f7b98a02ba4fd23f3f1c8fcd2267cd304dbd",
      "bytes": 910
    },
    {
      "id": "coding-tools",
      "title": "Coding tools",
      "depth": 2,
      "anchor": "coding-tools",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#coding-tools",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/coding-tools.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/coding-tools.md",
      "checksum": "5a47c4ea570edff24f65ed96d9262724f69897d05241c5c096bc2d41b9b217f9",
      "bytes": 1373
    },
    {
      "id": "encoders-and-decoders",
      "title": "Encoders and decoders",
      "depth": 2,
      "anchor": "encoders-and-decoders",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#encoders-and-decoders",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/encoders-and-decoders.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/encoders-and-decoders.md",
      "checksum": "0c0fdd98533bffd9e1e3e13bb6d5d1ee53970eb7219aa50c0b9a2127da86a29e",
      "bytes": 2372
    },
    {
      "id": "containers-and-hdr",
      "title": "Containers and HDR",
      "depth": 2,
      "anchor": "containers-and-hdr",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#containers-and-hdr",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/containers-and-hdr.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/containers-and-hdr.md",
      "checksum": "0a7f7e6825b15c98065fef6b69828100625dcd90341043156704dc0c9e7007a0",
      "bytes": 1287
    },
    {
      "id": "licensing",
      "title": "Licensing",
      "depth": 2,
      "anchor": "licensing",
      "canonicalUrl": "https://encode.wiki/codecs/video/vvc/#licensing",
      "apiUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/licensing.json",
      "markdownUrl": "https://encode.wiki/api/v1/sections/docs/codecs/video/vvc/licensing.md",
      "checksum": "6582295095ace028cc5128bda36e72e8171e8b2245758331f66583b49fabdea2",
      "bytes": 287
    }
  ],
  "outboundReferences": [
    "/api/v1/catalog.json",
    "/codecs/video/av1/",
    "/codecs/video/hevc/",
    "/containers/isobmff/",
    "/containers/matroska/",
    "/reference/video-codec-support/",
    "/tools/software-encoders/uvg266/",
    "/tools/software-encoders/vtm/",
    "/tools/software-encoders/vvenc/",
    "/tools/software-encoders/x266/",
    "https://accessadvance.com/licensing-programs/vvc-advance/",
    "https://github.com/fraunhoferhhi/vvdec",
    "https://github.com/fraunhoferhhi/vvenc/releases/tag/v1.14.0",
    "https://github.com/ultravideo/uvg266/releases/tag/v0.8.1",
    "https://mp4ra.org/registered-types/codecs",
    "https://multicorewareinc.com/faq-x266-webinar/",
    "https://www.itu.int/rec/T-REC-H.266",
    "https://www.matroska.org/technical/codec_specs.html"
  ],
  "checksum": "856a4dda5395abcadc6b3b4b1041d6049c45595cc0960eacaa8e9791afb6ae5e",
  "contentFormat": "markdown",
  "markdown": "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.\n\nJVET'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.\n\n## When to use VVC\n\n- **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.\n- **Evaluation and research**, for example comparing VVenC against AV1 encoders on your content.\n- **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.\n\n## Profiles\n\n| Profile                | Bit depth | Chroma           | Notes                                       |\n| ---------------------- | --------- | ---------------- | ------------------------------------------- |\n| Main 10                | 8–10      | 4:0:0, 4:2:0     | The profile decoders and devices implement  |\n| Main 10 4:4:4          | 8–10      | up to 4:4:4      |                                             |\n| Main 12, Main 12 4:4:4 | up to 12  | 4:2:0 / up to 4:4:4 | Added in the 2022 edition                |\n| Main 16 4:4:4          | up to 16  | up to 4:4:4      | Added in the 2022 edition                   |\n\nEach 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.\n\n## Coding tools\n\nVVC extends HEVC's design with many new tools. The main ones:\n\n- **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.\n- **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.\n- **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.\n- **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.\n- **In-loop filtering**: luma mapping with chroma scaling (LMCS), deblocking, SAO, and an adaptive loop filter (ALF) with cross-component ALF.\n- **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).\n\n## Encoders and decoders\n\n**VVC implementations**\n\n| Relationship | Project or format | Evidence and scope | Status |\n| --- | --- | --- | --- |\n| 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 |\n| 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 |\n| 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 |\n\n[Open the complete typed relationship catalog](/api/v1/catalog.json).\n\n- **[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).\n- **[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.\n- **[VTM](/tools/software-encoders/vtm/)** is the reference software: complete but far too slow for practical use.\n- **[x266](/tools/software-encoders/x266/)** was announced by MulticoreWare but has never been released.\n\n**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/).\n\n## Containers and HDR\n\n**VVC container mappings**\n\n| Relationship | Project or format | Evidence and scope | Status |\n| --- | --- | --- | --- |\n| 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 |\n| 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 |\n\n[Open the complete typed relationship catalog](/api/v1/catalog.json).\n\n- **MP4/ISOBMFF**: `vvc1` and `vvi1` sample entries (parameter sets in the sample entry, or in-band).\n- **Matroska**: `V_MPEGI/ISO/VVC`. FFmpeg muxes VVC into Matroska from 8.0.\n- **MPEG-TS** for broadcast, and raw `.266` / `.vvc` Annex B streams from encoders.\n\nVVC 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.\n\n## Licensing\n\nVVC 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.\n"
}
