FFmpeg Has Seen Some AVX2 Optimizations For VP9 Decoding

Written by Michael Larabel in Multimedia on 27 August 2017 at 07:34 AM EDT. 21 Comments
MULTIMEDIA
Another GSoC 2017 project worth highlighting now that Google's annual Summer of Code has finished is the AVX2 optimizations being done to the VP9 decoder within FFmpeg.

Student developer Ilia Valiakhmetov set out to speed-up the VP9 decoder in FFmpeg this summer by writing some hand-tuned Assembly instructions around AVX2. Advanced Vector Extensions 2 instructions have been supported since Intel Haswell CPUs and on the AMD side are present with the Excavator and Zen cores.

Among the work done by Ilia Valiakhmetov this summer on FFMpeg includes various patches to avcodec/vp9 that generally are 30~40% faster now thanks to the hand-tuned AVX2 code.

The big feature is tile threading support. Ilia commented, "Tile threading is ~35% faster at 2 threads vs 1. Frame threading is ~41% faster at 2 threads vs 1."

Hopefully we will find this work merged for the next big release of the FFmpeg multimedia library.
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