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.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

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

  1. AV1 is a good thing and long overdue.

    HEVC is dead in the context of internet streaming video, no-one is ever going to use it because the patent pool split from 1 group (MPEG LA) into 3 different ones, one of which made extraordinary demands on licensees, they have since tried to tone down their demands but the damage has been done and nobody trusts the HEVC Advance group or HEVC in general as a viable replacement for H.264.

    AV1 will eventually get better at home PC encoding, thats just a very low priority, it’s main efforts will be into data center encoding as thats were all the action will happen (Youtube etc).

    Apple is the one noticeable missing partner, they are sitting on the fence waiting to see how it plays out, they were initially in favor of HEVC but support was removed in beta versions of iOS which shows just how much damage the patent pool split did to it. Once AV1 gets traction they wont be able to ignore it, especially if it starts to displace H.264 as well.

  2. not another codec… it took ages until vp9 got hw-decoded

    should we replace our tv boxes every year now?

  3. @TC
    With the companies behind AV1 it shouldn’t take too long to get HW decoded everywhere… I mean… all major processor/video decoder makers are involved. AMD, Intel and Nvidia have the PC side covered. ARM and Intel have the mobile market covered. Google, Microsoft and Mozilla will make sure all major browsers support it too. Google, Netflix and Amazon will make sure that there’ll be plenty of AV1 content demanding hardware decoders.

    Plus, if I read it correctly AV1 is based on VP9?

  4. More than decoders, we need hardware encoders, as even “consumer grade” quad core processors from Intel are super slow at encoding H.265.
    GPU encoding has helped to a degree, but the quality is suffering compared to CPU encoding.

    @TC – Well, sometimes that’s the price of progress, but I wouldn’t expect this to be “mainstream” for at least a couple of years if the spec isn’t being released until early 2017. It’ll take another year until there will be hardware implementations and another year until you can readily buy hardware based on said hardware. I wouldn’t worry too much about it at this point. You should be glad about this kind of development, as it’ll allow higher quality video at lower bandwidth usage, so it’s a win win…

  5. What’s wrong with Google’s royalty free and open source, VP9.. and when released, VP10?

    I mean if, VP9’s quality is already on-par with H.265, why drop the presumably better VP10 effort to start a whole new collaboration?

  6. @ben
    No-one said there was anything wrong with it, but we’re going to need something that more companies than Google back and what we have here is clearly the potential of being such a solution.

    Also, nothing is being dropped, this is a continuation if anything, just like VP9 replaced VP8 and so on…

  7. >VP9’s quality is already on-par with H.265

    on paper, in real life YT VP9 is ~10% smaller while being visibly lower quality compared to h264

  8. Cool, but what about a matching audio codec then? Will this AOMedia alliance also offer an acompaning audio codec too?

    Usually when they deliver a video codec they at least recommend a audio codec for reference too.

    I am as well wondering what will happen to VP10 and if they will still release that as planned?

  9. Pay attention guys, AV1 is largely based on VP10, with additions from Daala and Thor.

    And we already have a superior audio codec, in the form of Opus, which pretty much outperforms everything, from high quality all the way down to narrow band voice.

  10. @Harley
    we don’t really need a new audio codec, auido doesn’t take significant bitrate and as such the gains from better codec are fairly saturated.

    —————————————————

    Problem with AV1 will be the same as with VP9 – the encoder is made by Google and it is rubbish (AV1 is built on libpvx and VP10 codebase with tweaks from others). Libvpx has been seriously neglected for the several years that VP9 is available.

    It has worthless support for encoder multithreading (the decoder is lousy too, but there they were saved by ffmpeg making a better alternative – for free. Honestly, Google has too little money for that or what?). You can only use tiling which lowers quality and limits you to 1 thread for every whole 512 pixels of width. Yeah, you can’t use more than 3 threads for 1920×1080. One and half a core on an Intel CPU.

    It has worthless rat econtrol – the main user which is Youtube even has their own ad-hoc hack to bypass the terrible rate control of libvpx. Which tells you something. It is unbelievable that Google with its resources is not able to fund some decent project development there. They should just have outsourced it to Multicoreware, their china/india-based developers to way better job on x265.

  11. >It is unbelievable that Google with its resources is not able to fund some decent project development there.

    Just like Hooli in Silicon Valley? 😉

  12. with run_tests it use the best/slowest settings ( like placebo for x264/x265 )

    you should try aomenc directly with more standard settings, for example :

  13. aomenc yourfile.y4m -p 2 -t 4 –cpu-used=2 -o youroutput.webm

    Its “- -cpu-used=2” 2x – without space.
    It doesn’t take it correctly in my first message

  14. @Easyfab
    Thanks. I’ve edited your comment. WordPress (at least the theme I use) will automatically convert double dashes with a single dash, even with blockquote. You need to use preformatted tag.

  15. @cnxsoft
    DTS and Dolby is mainly about various not that critical metadata and other silly stuff. For most practical purposes, you can just take the 7.1/5.1 audio and encode it as opus/vorbis (or flac for lossless), I don’t see nothing important about dolby/dts. I think the only thing that matters about them these days is that av receivers support them as input. Making a new format wouldn’t help there, as it would be as unsupported by those boxes as opus/vorbis is.

    DTS/AC3 compression isn’t even good or anything.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC