summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/runtime_functions.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-05-12 21:07:09 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:13 -0400
commit6410aa896f974002f8539ee3ca2f70bf66c0a0af (patch)
tree7ef2a62226a6ac5927c563efe21ea6d1ecc0da72 /libs/ardour/ardour/runtime_functions.h
parente2a76746e65c42fd10a892ffd82300f1cf776ac6 (diff)
Added optimized AVX function for sample processing
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy. Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
Diffstat (limited to 'libs/ardour/ardour/runtime_functions.h')
-rw-r--r--libs/ardour/ardour/runtime_functions.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/ardour/runtime_functions.h b/libs/ardour/ardour/runtime_functions.h
index e1d6b99f61..45d6ec7015 100644
--- a/libs/ardour/ardour/runtime_functions.h
+++ b/libs/ardour/ardour/runtime_functions.h
@@ -25,17 +25,19 @@
namespace ARDOUR {
- typedef float (*compute_peak_t) (const ARDOUR::Sample *, pframes_t, float);
- typedef void (*find_peaks_t) (const ARDOUR::Sample *, pframes_t, float *, float*);
+ typedef float (*compute_peak_t) (const ARDOUR::Sample *, pframes_t, float);
+ typedef void (*find_peaks_t) (const ARDOUR::Sample *, pframes_t, float *, float*);
typedef void (*apply_gain_to_buffer_t) (ARDOUR::Sample *, pframes_t, float);
typedef void (*mix_buffers_with_gain_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t, float);
typedef void (*mix_buffers_no_gain_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t);
+ typedef void (*copy_vector_t) (ARDOUR::Sample *, const ARDOUR::Sample *, pframes_t);
LIBARDOUR_API extern compute_peak_t compute_peak;
LIBARDOUR_API extern find_peaks_t find_peaks;
LIBARDOUR_API extern apply_gain_to_buffer_t apply_gain_to_buffer;
LIBARDOUR_API extern mix_buffers_with_gain_t mix_buffers_with_gain;
LIBARDOUR_API extern mix_buffers_no_gain_t mix_buffers_no_gain;
+ LIBARDOUR_API extern copy_vector_t copy_vector;
}
#endif /* __ardour_runtime_functions_h__ */