VVC support

Android 17 introduces support for Versatile Video Coding (VVC), also known as H.266. This page explains how to enable or disable this feature on devices.

Platform support

Android 17 introduces support for VVC video decoders and VVC tracks in the MP4 parser and extractor. This includes the following:

  • New media type MIMETYPE_VIDEO_VVC and support in MediaCodec and Codec2 APIs
  • Support for 4:2:0 profiles with HDR10 and HDR10+ metadata
  • Support for up to 10-bit content
  • Platform MP4 Extractor support
  • Media3 MP4 Extractor support (provided using Jetpack)
  • CSD format similar to HEVC (a set of SPS/PPS/VPS NAL units)

SoC implementation

To enable VVC decoding, SoC vendors must provide a Codec2 (C2) VVC decoder. SoC vendors expose the decoder by adding a <MediaCodec> entry to the vendor-specific media_codecs.xml file (located in /vendor/etc/media_codecs.xml) with the type attribute set to video/vvc.

Opt out of VVC support

To opt out of VVC support, remove the <MediaCodec> entry with the type attribute set to video/vvc from the vendor-specific media_codecs.xml file. This action prevents apps from using VVC decoding through Android media APIs, such as MediaCodec.

To entirely remove the VVC decoder, you must also remove any VVC hardware or software decoder libraries from the device build rules. These libraries are typically included as part of the media codec HAL build provided by the SoC vendor.