FFmpeg's VP9 Decoder Is Much Faster Thanks To GSoC 2017

Written by Michael Larabel in Multimedia on 8 September 2017 at 07:26 AM EDT. 41 Comments
MULTIMEDIA
As we previously reported on, there was a Google Summer of Code project this year optimizing FFmpeg's VP9 decoder particularly around AVX2 instructions and threading. The project was a success and VP9 decoding should be much faster with FFmpeg as a result.

GSoC '17 student developer Ilia Valiakhmetov spent his time optimizing the FFmpeg VP9 code for AVX (Advanced Vector Extensions) as well as implementing tile threading support. His AVX2 optimizations are already in FFmpeg Git while his tile threading code is still being reviewed.

The impact at the end of the summer is around ~45% faster performance with tile threading with two threads compared to a single thread. The frame threading is around 55% faster with two threads. The FFmpeg VP9 (ffvp9) tile threading in turn is about 25% faster than libvpx-vp9 at two threads.

Those wishing to read Ilia's final report about his FFmpeg VP9 summer optimizations can find it via this GitHub Gist.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week