AOMedia AV1 is a Royalty-free, Open Source Video Codec Aiming to Replace VP9 and Compete with H.265

The Alliance for Open Media, or AOMedia, is a new non-profit organization founded in 2015 by Amazon, Cisco, Google, Intel Corporation, Microsoft, Mozilla, and Netflix, and more recently joined by AMD, ARM, and NVIDIA, whose first project is to develop AV1 royalty-free and open video codec and format to provide an alternative to H.265 / HEVC, and a successor to VP9.

Alliance_For_Open_Media_AOMedia

The project is a team effort combining teams working on Daala, Thor, and VP10 video codecs, and while AFAIK, AV1 specifications have not been released yet (target: Q1 2017), the organization has already released an early implementation of AV1 video decoder and encoder under the combination of an BSD-2 clause license and the Alliance for Open Media Patent License 1.0 , which can be found on googlesource.com.

So I’ve had a quick my myself following the instructions, by first downloading one uncompressed YUV4MPEG sample:


and the source code:


before building it:


The last command will install the headers, and aomdec video decoder and aomenc encoder.

We also need some scripts to be placed in the path:


Now we can run the script in the directory for the sample(s):


The command will encode all y4m files in the directory at 200 kbps up to 500 kbps at a 50 kbps increment. Encoding only uses one core, my machine is powered by AMD FX8350 processor, and you can see encoding is currently very slow well under 0.5 fps for a CIF video (352 x 288 resolution), but that should be expected because VP9 encoding is already slow (its successor is expected to require even more processing power), and first software implementations are usually not optimized for speed, they are just meant to show the encoding works.

The test scripts will create a bunch of AV1 video files in baseline directory: husky_cif.y4m-200.av1.webm, husky_cif.y4m-250.av1.webm, etc… as well as husky_cif.y4m.stt with some statistics.

Decoding is much faster as it should be:

You can play back the videos with mpv using aomdec for decoding. For example:


AOmedia_AV1_Video_MPV

New video codecs normally take years to replace old ones, but if it gains traction AV1 will likely be used along side VP9, H.265 and H.264 for several years. Considering software and silicon vendors, and content providers (Google/YouTube, Amazon, and Netflix) are involved in the project, I’m quite confident the AOMedia AV1 codec will become popular, and hardware decoder are likely to be implemented in ARM, Intel and  AMD SoCs in a few years.

Thanks to Ohmohm for the tip.

Support CNX Software - Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples
Subscribe
Notify of
guest
21 Comments
oldest
newest most voted
Advertisements