From 22f2605e2569eaa51495e23ac335bdfde217c23c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 22 Jun 2015 17:19:42 +0200 Subject: pcm/Interleave: convert PcmInterleave32() to template --- src/pcm/Interleave.cxx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/pcm/Interleave.cxx b/src/pcm/Interleave.cxx index 8f8f152c5..9926b5f7f 100644 --- a/src/pcm/Interleave.cxx +++ b/src/pcm/Interleave.cxx @@ -36,10 +36,11 @@ GenericPcmInterleave(uint8_t *gcc_restrict dest, } } -void -PcmInterleave32(int32_t *gcc_restrict dest, - const ConstBuffer src, - size_t n_frames) +template +static void +PcmInterleaveT(T *gcc_restrict dest, + const ConstBuffer src, + size_t n_frames) { for (const auto *s : src) { auto *d = dest++; @@ -50,6 +51,14 @@ PcmInterleave32(int32_t *gcc_restrict dest, } } +void +PcmInterleave32(int32_t *gcc_restrict dest, + const ConstBuffer src, + size_t n_frames) +{ + PcmInterleaveT(dest, src, n_frames); +} + void PcmInterleave(void *gcc_restrict dest, ConstBuffer src, -- cgit v1.2.3