From 72e80db823c3af56293a4835baef577945603f8f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 20 Oct 2011 01:09:23 +0200 Subject: pcm_*: add "restrict" keywords Allow more compiler optimizations. --- src/pcm_channels.c | 39 +++++++++++++++++++++++---------------- src/pcm_format.c | 8 ++++++-- 2 files changed, 29 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/pcm_channels.c b/src/pcm_channels.c index 0ec1eb527..ec2bd69a5 100644 --- a/src/pcm_channels.c +++ b/src/pcm_channels.c @@ -25,8 +25,9 @@ #include static void -pcm_convert_channels_16_1_to_2(int16_t *dest, const int16_t *src, - const int16_t *src_end) +pcm_convert_channels_16_1_to_2(int16_t *restrict dest, + const int16_t *restrict src, + const int16_t *restrict src_end) { while (src < src_end) { int16_t value = *src++; @@ -37,8 +38,9 @@ pcm_convert_channels_16_1_to_2(int16_t *dest, const int16_t *src, } static void -pcm_convert_channels_16_2_to_1(int16_t *dest, const int16_t *src, - const int16_t *src_end) +pcm_convert_channels_16_2_to_1(int16_t *restrict dest, + const int16_t *restrict src, + const int16_t *restrict src_end) { while (src < src_end) { int32_t a = *src++, b = *src++; @@ -48,9 +50,10 @@ pcm_convert_channels_16_2_to_1(int16_t *dest, const int16_t *src, } static void -pcm_convert_channels_16_n_to_2(int16_t *dest, - unsigned src_channels, const int16_t *src, - const int16_t *src_end) +pcm_convert_channels_16_n_to_2(int16_t *restrict dest, + unsigned src_channels, + const int16_t *restrict src, + const int16_t *restrict src_end) { unsigned c; @@ -98,8 +101,9 @@ pcm_convert_channels_16(struct pcm_buffer *buffer, } static void -pcm_convert_channels_24_1_to_2(int32_t *dest, const int32_t *src, - const int32_t *src_end) +pcm_convert_channels_24_1_to_2(int32_t *restrict dest, + const int32_t *restrict src, + const int32_t *restrict src_end) { while (src < src_end) { int32_t value = *src++; @@ -110,8 +114,9 @@ pcm_convert_channels_24_1_to_2(int32_t *dest, const int32_t *src, } static void -pcm_convert_channels_24_2_to_1(int32_t *dest, const int32_t *src, - const int32_t *src_end) +pcm_convert_channels_24_2_to_1(int32_t *restrict dest, + const int32_t *restrict src, + const int32_t *restrict src_end) { while (src < src_end) { int32_t a = *src++, b = *src++; @@ -121,9 +126,10 @@ pcm_convert_channels_24_2_to_1(int32_t *dest, const int32_t *src, } static void -pcm_convert_channels_24_n_to_2(int32_t *dest, - unsigned src_channels, const int32_t *src, - const int32_t *src_end) +pcm_convert_channels_24_n_to_2(int32_t *restrict dest, + unsigned src_channels, + const int32_t *restrict src, + const int32_t *restrict src_end) { unsigned c; @@ -178,8 +184,9 @@ pcm_convert_channels_32_1_to_2(int32_t *dest, const int32_t *src, } static void -pcm_convert_channels_32_2_to_1(int32_t *dest, const int32_t *src, - const int32_t *src_end) +pcm_convert_channels_32_2_to_1(int32_t *restrict dest, + const int32_t *restrict src, + const int32_t *restrict src_end) { while (src < src_end) { int64_t a = *src++, b = *src++; diff --git a/src/pcm_format.c b/src/pcm_format.c index 68a756030..fd8db99ad 100644 --- a/src/pcm_format.c +++ b/src/pcm_format.c @@ -137,7 +137,9 @@ pcm_convert_16_to_24(int32_t *out, const int16_t *in, const int16_t *in_end) } static void -pcm_convert_32_to_24(int32_t *out, const int32_t *in, const int32_t *in_end) +pcm_convert_32_to_24(int32_t *restrict out, + const int32_t *restrict in, + const int32_t *restrict in_end) { while (in < in_end) *out++ = *in++ >> 8; @@ -208,7 +210,9 @@ pcm_convert_16_to_32(int32_t *out, const int16_t *in, const int16_t *in_end) } static void -pcm_convert_24_to_32(int32_t *out, const int32_t *in, const int32_t *in_end) +pcm_convert_24_to_32(int32_t *restrict out, + const int32_t *restrict in, + const int32_t *restrict in_end) { while (in < in_end) *out++ = *in++ << 8; -- cgit v1.2.3