]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/cpu-arm.h
core: Initialize ARM NEON remapping code if available
[pulseaudio] / src / pulsecore / cpu-arm.h
index a87cb63b4c940020e3d7f6f584d5f3c4be74e632..4ee7dff7c42a2762178f81593a373d1c230551b1 100644 (file)
 ***/
 
 #include <stdint.h>
+#include <pulsecore/macro.h>
+
+#ifndef PACKAGE
+#error "Please include config.h before including this file!"
+#endif
 
 typedef enum pa_cpu_arm_flag {
     PA_CPU_ARM_V6       = (1 << 0),
@@ -31,12 +36,20 @@ typedef enum pa_cpu_arm_flag {
     PA_CPU_ARM_VFP      = (1 << 2),
     PA_CPU_ARM_EDSP     = (1 << 3),
     PA_CPU_ARM_NEON     = (1 << 4),
-    PA_CPU_ARM_VFPV3    = (1 << 5)
+    PA_CPU_ARM_VFPV3    = (1 << 5),
+    PA_CPU_ARM_CORTEX_A8 = (1 << 6),
 } pa_cpu_arm_flag_t;
 
-void pa_cpu_init_arm (void);
+void pa_cpu_get_arm_flags(pa_cpu_arm_flag_t *flags);
+bool pa_cpu_init_arm(pa_cpu_arm_flag_t *flags);
 
 /* some optimized functions */
 void pa_volume_func_init_arm(pa_cpu_arm_flag_t flags);
 
+#ifdef HAVE_NEON
+void pa_convert_func_init_neon(pa_cpu_arm_flag_t flags);
+void pa_mix_func_init_neon(pa_cpu_arm_flag_t flags);
+void pa_remap_func_init_neon(pa_cpu_arm_flag_t flags);
+#endif
+
 #endif /* foocpuarmhfoo */