What is AV1?
AOMedia Video 1 (AV1) is an open, royalty-free video coding format designed for video transmission over the internet. It was developed as a successor to VP9 by the Alliance for Open Media (AOMedia). AV1 offers improved compression efficiency with better video quality for a low increase in computational complexity, and a growing number of programs and devices natively support it.
How does AV1 work?
AV1 is a traditional block-based frequency transform format that improves upon its predecessor the VP9 codec. It incorporates new techniques that enable better adaptation to different types of input. For better and more reliable support of HDR and color space, the corresponding metadata can be now integrated into a video instead of being a part of the container format.
AV1 performs internal processing at higher precision (10 or 12-bits per sample), which reduces rounding errors and leads to better video quality. AV1 encoding comprises the following steps:
- Partitioning - separates a single frame into adjacent blocks which can be further divided into smaller blocks according to different partitioning patterns. Partitions are used to group pixels with similar properties together and predict their motion.
- Prediction - for each block produces intra- and inter predictions. Intra prediction provides directional, smoothing, chrominance from luminance, color palette and intra block copying predictions. Inter prediction provides reference frames, dynamic spatial and temporal vectors, interpolation, overlapping, masked compounding and warped motion predictions.
- Transform coding - uses the following transforms to compress the data: Discrete cosine transform (DCT), Asymmetric discrete sine transform (ADST) and identity transform (IDTX).
- Quantization - is the process of mapping continuous infinite values to a smaller set of discrete finite values.
- Entropy coding - uses symbol-to-symbol adaptive multi-symbol arithmetic coder and level-map based coefficient coding for additional lossless compression.
- Restoration and Post-processing - provides in loop deblocking filters with adaptive strengths, directional enhancement filter, loop restoration filter, frame super resolution and film grain synthesis.
AV1 also defines profiles and levels for decoders to determine the video output quality depending on the hardware capability. It defines three profiles Main, High and Professional:
| | | Main (0) | High (1) | Professional (2) | |--------------------|-------|-------------|-------------|------------------| | Bit depth | | 8 or 10-bit | 8 or 10-bit | 8, 10 & 12 bit | | Chroma subsampling | 4:0:0 | Yes | Yes | Yes | | | 4:2:0 | Yes | Yes | Yes | | | 4:2:2 | No | No | Yes | | | 4:4:4 | No | Yes | Yes |
AV1 levels from 2.0 to 6.3 define the maximum variables for decoders, for example:
- 2.0 with a resolution of 426×240 and framerate of 30Hz.
- 3.0 with a resolution of 854×480 and framerate of 30Hz.
- 4.0 with a resolution of 1920×1080 and framerate of 30Hz.
- 5.1 with a resolution of 3840×2160 and framerate of 60Hz.
- 5.2 with a resolution of 3840×2160 and framerate of 120Hz.
- 6.2 with a resolution of 7680×4320 and framerate of 120Hz.
AV1 Support
AV1 has been supported in ISO Base Media Format File Format and Matroska container formats, with promised future support in MP4, WebM, and RTP. Due to AV1 being open source, there are multiple software implementations of the codec with various features and encoding performance. For wider adoption, smoother playback software and also hardware support are crucial.
Software support:
| Software type | Name | Since version | |---------------|--------------------|---------------| | Web browsers | Firefox | 67 | | | Chrome | 70 | | | Edge | 79 | | | Opera | 57 | | | Android Browser | 99 | | | Opera Mobile | 64 | | | Chrome for Android | 100 | | | Samsung Internet | 12.0 | | Video Players | VLC | 3.0 | | | mpv | 0.29.0 | | | Xine-lib | 1.2.10 | | | PotPlayer | 1.7.14804 | | | K-Lite Codec Pack | 14.4.5 | | Encoders | FFmpeg | 4.0 | | | HandBrake | 1.3.0 | | | Bitmovin | 1.50.0 | | Video editors | DaVinci Resolve | 17.2 | | Other | GStreamer | 1.14 | | | OBS Studio | 27.2 | | | MKVToolNix | 28 | | | MediaInfo | 18.03 | | | Elecard | | | | Google Duo | | | | Adobe Audition | | | | Avidemux | 2.76 | | | VDPAU | 1.5 |
Hardware support:
| Manufacturer | Since product | |------------------|------------------------------| | AMD | Radeon RX6xy0, Radeon 6x0M | | Intel | Core ix 11yzu, Arc Alchemist | | Geforce | Geforce RTX 30x0 | | Samsung | Exynos 2200 | | Google | Tensor |
AV1 Adoption
Netflix was the first major content provider to adopt AV1 in February 2020. Netflix implemented AV1 for select titles on Android, providing 20% improved compression efficiency over their VP9 streams. In November 2021, Netflix started streaming AV1 to TVs with hardware-based AV1 decoders and the PlayStation 4 Pro.
YouTube also began rolling out its support for AV1 in 2018. Facebook also stated in 2019 that it would gradually roll out AV1 as soon as browser support was broad. Android TV supports AV1 playback on devices with the required hardware in 2020.
Finally, Vimeo started providing videos available in AV1 in 2019. Other streaming platforms, such as Twitch, also plan to enable AV1 streams this year (2022 at time of writing).