about summary refs log tree commit
path: root/src/libFLAC/include/private
diff options
context:
space:
mode:
Diffstat (limited to 'src/libFLAC/include/private')
-rw-r--r--src/libFLAC/include/private/cpu.h5
-rw-r--r--src/libFLAC/include/private/fixed.h4
-rw-r--r--src/libFLAC/include/private/lpc.h3
3 files changed, 12 insertions, 0 deletions
diff --git a/src/libFLAC/include/private/cpu.h b/src/libFLAC/include/private/cpu.h
index d59c779e..adda1b8a 100644
--- a/src/libFLAC/include/private/cpu.h
+++ b/src/libFLAC/include/private/cpu.h
@@ -41,6 +41,7 @@
 typedef enum {
         FLAC__CPUINFO_TYPE_IA32,
         FLAC__CPUINFO_TYPE_PPC,
+        FLAC__CPUINFO_TYPE_ARM,
         FLAC__CPUINFO_TYPE_UNKNOWN
 } FLAC__CPUInfo_Type;
 
@@ -60,6 +61,9 @@ typedef struct {
         FLAC__bool ppc64;
 } FLAC__CPUInfo_PPC;
 
+/* just generic ARM support for now */
+typedef FLAC__bool FLAC__CPUInfo_ARM;
+
 extern const unsigned FLAC__CPUINFO_IA32_CPUID_CMOV;
 extern const unsigned FLAC__CPUINFO_IA32_CPUID_MMX;
 extern const unsigned FLAC__CPUINFO_IA32_CPUID_FXSR;
@@ -76,6 +80,7 @@ typedef struct {
         union {
                 FLAC__CPUInfo_IA32 ia32;
                 FLAC__CPUInfo_PPC ppc;
+                FLAC__CPUInfo_ARM arm;
         } data;
 } FLAC__CPUInfo;
 
diff --git a/src/libFLAC/include/private/fixed.h b/src/libFLAC/include/private/fixed.h
index bb71b202..7dd40c9b 100644
--- a/src/libFLAC/include/private/fixed.h
+++ b/src/libFLAC/include/private/fixed.h
@@ -92,6 +92,10 @@ void FLAC__fixed_compute_residual(const FLAC__int32 data[], unsigned data_len, u
  *        IN  data[-order,-1]               previously-reconstructed historical samples
  *        OUT data[0,data_len-1]            original signal
  */
+#if (!defined(FLAC__NO_ASM) && defined(FLAC__CPU_ARM))
+void FLAC__fixed_restore_signal_asm_arm(const FLAC__int32 residual[], unsigned data_len, unsigned order, FLAC__int32 data[]);
+#else
 void FLAC__fixed_restore_signal(const FLAC__int32 residual[], unsigned data_len, unsigned order, FLAC__int32 data[]);
+#endif
 
 #endif
diff --git a/src/libFLAC/include/private/lpc.h b/src/libFLAC/include/private/lpc.h
index 970db8a8..b79422c2 100644
--- a/src/libFLAC/include/private/lpc.h
+++ b/src/libFLAC/include/private/lpc.h
@@ -176,6 +176,9 @@ void FLAC__lpc_restore_signal_asm_ia32_mmx(const FLAC__int32 residual[], unsigne
 #  elif defined FLAC__CPU_PPC
 void FLAC__lpc_restore_signal_asm_ppc_altivec_16(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
 void FLAC__lpc_restore_signal_asm_ppc_altivec_16_order8(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
+#  elif defined FLAC__CPU_ARM
+void FLAC__lpc_restore_signal_asm_arm(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
+void FLAC__lpc_restore_signal_asm_arm_wide(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]);
 #  endif/* FLAC__CPU_IA32 || FLAC__CPU_PPC */
 #endif /* FLAC__NO_ASM */