opus: allow to select fixed-point implementation
authorSven Neumann <neumann@teufel.de>
Wed, 5 Feb 2014 08:14:39 +0000 (09:14 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 5 Feb 2014 08:34:01 +0000 (09:34 +0100)
The default of choosing the fixed-point implementation if
the target hardware does not have floating-point unit is not
always the best choice. Modern ARM hardware has floating
point support but most likely the fixed-point implementation
in Opus will still perform better. In particular if your CPU
supports the NEON extension.

This commit allows to select the fixed-point implementation
manually and sets the default based on the availability of
a floating-point unit.

[Peter: force option for sw float, slightly reword]
Signed-off-by: Sven Neumann <neumann@teufel.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/opus/Config.in
package/opus/opus.mk

index 12bdfbbdb394c3e91f7af3e4c51736f6c030d654..22e7a5534bc46820ff01b8e62725b05b282aeebd 100644 (file)
@@ -13,3 +13,14 @@ config BR2_PACKAGE_OPUS
          quality stereo music.
 
          http://opus-codec.org
+
+if BR2_PACKAGE_OPUS
+
+config BR2_PACKAGE_OPUS_FIXED_POINT
+       bool "use fixed-point" if !BR2_SOFT_FLOAT
+       default y if BR2_SOFT_FLOAT
+       help
+         Compile without floating point operations (for machines
+         without a fast enough FPU).
+
+endif
index 007cf16d89576697a8e2eac544c9ae11e7a7576c..1fc1048454174681b1bff5ed91b94dd0aa91f247 100644 (file)
@@ -12,7 +12,7 @@ OPUS_INSTALL_STAGING = YES
 OPUS_CONF_OPT = --disable-doc
 OPUS_AUTORECONF = YES
 
-ifeq ($(BR2_SOFT_FLOAT),y)
+ifeq ($(BR2_PACKAGE_OPUS_FIXED_POINT),y)
 OPUS_CONF_OPT += --enable-fixed-point
 endif