[opus] Antw: AVX Optimizations in Opus
radu.velea at intel.com
Thu Jan 21 09:37:48 UTC 2016
To answer your question: AVX for starters, and then later on AVX2 if there is a need for improvement. The detection code is already upstreamed into opus: both compile time and runtime detection:
According to Wikipedia AVX is supported on a wide range hardware:
From: Ulrich Windl [mailto:Ulrich.Windl at rz.uni-regensburg.de]
Sent: Thursday, January 21, 2016 9:20 AM
To: Velea, Radu; opus at xiph.org
Subject: Antw: [opus] AVX Optimizations in Opus
AFAIK, there are different version of AVX; maybe clarify which versions you use, and how you detect the availability of the instructions needed. Also you could point out which CPUs are expected to be supported. Also consider that besides Intel there still exists AMD ;-)
>>> "Velea, Radu" <radu.velea at intel.com> schrieb am 20.01.2016 um 19:02
<81B494F3CB9BA140BC4E7A506215EB0C5C442CFE at irsmsx105.ger.corp.intel.com>:
> I had talked earlier with 'Timothy B. Terriberry' <tterribe at xiph.org>,
> about adding support for AVX instructions in Opus, but since he
> appears to be busy I would like to resend this on the mailing list.
> I've created a pull request https://github.com/xiph/opus/pull/5 to add
> the testing infrastructure for the changes before adding the actual code.
> A draft for the rest of the code for the AVX functions can be found here:
> https://github.com/rvelea/opus/commits/workspace. Timothy advised me
> to break them into smaller commits before trying to push them so as
> not to break anything.
> If anyone is interested in reviewing this please let me know and I
> will follow up with the rest of the code via pull requests.
More information about the opus