On Fedora 22, building opus git. There are a number of configure options that I'd like some help on --enable-float-approx, enable fast approximations for floating point does this have a material effect on encoding speed, or quality ? --enable-intrinsics, Enable intrinsics optimizations for ARM(float) X86(fixed) so this only works on x86 if you're building fixed-point ? If you are, any reason not to enable intrinsics ? --enable_rtcd Is this only for arm ? Thanks, sean -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/opus/attachments/20151113/88256b77/attachment.htm
> On Nov 13, 2015, at 4:40 PM, Sean Darcy <seandarcy2 at gmail.com> wrote: > > On Fedora 22, building opus git. There are a number of configure options that I'd like some help on > > --enable-intrinsics, Enable intrinsics optimizations for ARM(float) X86(fixed) > > so this only works on x86 if you're building fixed-point ? If you are, any reason not to enable intrinsics ?No, this applies on x86 for floating-point as well, now. (I?ve submitted a patch for the configure script to correct this.)> --enable_rtcd > > Is this only for arm ?No, it applies to x86 as well. It controls whether Opus will call the cpuid instruction to determine which x86 extensions (sse, sse2, sse4.1, or avx) are supported.> --enable-float-approx, enable fast approximations for floating point > > does this have a material effect on encoding speed, or quality ?I don?t know about this one, I?m afraid. But I do know it makes the encoder build in a mode where Infinities and NaNs are ignored, and allows gcc?s -ffast-math option to be used.
On 11/13/2015 04:40 PM, Sean Darcy wrote:> --enable-float-approx, enable fast approximations for floating point > > does this have a material effect on encoding speed, or quality ?The main thing float-approx does is to use polynomial approximations for log() and exp(). These make the code slightly faster with no impact on quality. The only reason the option isn't enabled by default is that it won't work on the (rare) platforms that don't have IEEE 754 floating point. Jean-Marc
Thanks for the prompt and helpful replies. Built with --enable-custom-modes --disable-static --enable-intrinsics --enable-rtcd --enable-float-approx All worked. Only thing odd, rtcd was not enabled: Floating point support: ........ yes Fast float approximations: ..... yes Fixed point debugging: ......... no Inline Assembly Optimizations: . No inline ASM for your platform, please send patches External Assembly Optimizations: Intrinsics Optimizations.......: x86 SSE SSE2 SSE4.1 AVX Run-time CPU detection: ........ no Custom modes: .................. yes ....................... sean On Sat, Nov 14, 2015 at 6:40 PM, Jean-Marc Valin <jmvalin at jmvalin.ca> wrote:> On 11/13/2015 04:40 PM, Sean Darcy wrote: > > --enable-float-approx, enable fast approximations for floating point > > > > does this have a material effect on encoding speed, or quality ? > > The main thing float-approx does is to use polynomial approximations for > log() and exp(). These make the code slightly faster with no impact on > quality. The only reason the option isn't enabled by default is that it > won't work on the (rare) platforms that don't have IEEE 754 floating point. > > Jean-Marc >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/opus/attachments/20151116/03bee152/attachment.htm