Skip to main content
Topic: configure options for x86 ? (Read 1333 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

configure options for x86 ?

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 ?


Is this only for arm ?



configure options for x86 ?

Reply #1
I saw you got your answer on the list about float-approx. For anyone who wants to know here:

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.

On x86, only fixed-point has much asm optimization; floating point is all C. It's purely about speed, generally no reason not to use it but it doesn't get tested nearly as much as float, so a bug may lurk in it. There are a couple of intrinsics automatically built for floating-point as well, like the CPU detection and the float-to-int conversion.

RTCD is automatically enabled unless you force AVX with OPUS_X86_PRESUME_AVX. The output of configure is reversed; the "Run-time CPU detection: ........" line actually states which instruction sets are forced, and the "Intrinsics Optimizations.......:" line shows which are run-time detected. Someone must have too-hastily put that part together at some point.

SimplePortal 1.0.0 RC1 © 2008-2020