Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: configure options for x86 ? (Read 2459 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 ?

--enable_rtcd

Is this only for arm ?

Thanks,

sean

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:

Quote
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.