aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2011-10-20 01:09:23 +0200
committerMax Kellermann <max@duempel.org>2011-10-20 02:24:25 +0200
commit72e80db823c3af56293a4835baef577945603f8f (patch)
treef553ac964c689c79f00adbd27cfc92fc9b496afe
parent7b33c343f860264661c3579a32dea6e875c3266f (diff)
downloadmpd-72e80db823c3af56293a4835baef577945603f8f.tar.gz
mpd-72e80db823c3af56293a4835baef577945603f8f.tar.xz
mpd-72e80db823c3af56293a4835baef577945603f8f.zip
pcm_*: add "restrict" keywords
Allow more compiler optimizations.
Diffstat (limited to '')
-rw-r--r--src/pcm_channels.c39
-rw-r--r--src/pcm_format.c8
2 files changed, 29 insertions, 18 deletions
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 <assert.h>
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;