dmix: rename mix_areas*

Rename all mix_areas* symbols so that they contain the sample width
instead of some meaningless number.
This commit is contained in:
Clemens Ladisch 2007-12-10 12:31:29 +01:00
parent de2b7a42d7
commit 79db4a6bfa
7 changed files with 159 additions and 144 deletions

View file

@ -24,20 +24,20 @@
#define DIRECT_IPC_SEMS 1 #define DIRECT_IPC_SEMS 1
#define DIRECT_IPC_SEM_CLIENT 0 #define DIRECT_IPC_SEM_CLIENT 0
typedef void (mix_areas1_t)(unsigned int size, typedef void (mix_areas_16_t)(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst, signed short *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step); size_t src_step, size_t sum_step);
typedef void (mix_areas2_t)(unsigned int size, typedef void (mix_areas_32_t)(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst, signed int *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step); size_t src_step, size_t sum_step);
typedef void (mix_areas3_t)(unsigned int size, typedef void (mix_areas_24_t)(unsigned int size,
volatile unsigned char *dst, unsigned char *src, volatile unsigned char *dst, unsigned char *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step); size_t src_step, size_t sum_step);
struct slave_params { struct slave_params {
snd_pcm_format_t format; snd_pcm_format_t format;
@ -148,9 +148,9 @@ struct snd_pcm_direct {
struct { struct {
int shmid_sum; /* IPC global sum ring buffer memory identification */ int shmid_sum; /* IPC global sum ring buffer memory identification */
signed int *sum_buffer; /* shared sum buffer */ signed int *sum_buffer; /* shared sum buffer */
mix_areas1_t *mix_areas1; mix_areas_16_t *mix_areas_16;
mix_areas2_t *mix_areas2; mix_areas_32_t *mix_areas_32;
mix_areas3_t *mix_areas3; mix_areas_24_t *mix_areas_24;
} dmix; } dmix;
struct { struct {
} dsnoop; } dsnoop;

View file

@ -170,13 +170,13 @@ static void mix_areas(snd_pcm_direct_t *dmix,
* process all areas in one loop * process all areas in one loop
* it optimizes the memory accesses for this case * it optimizes the memory accesses for this case
*/ */
dmix->u.dmix.mix_areas1(size * channels, dmix->u.dmix.mix_areas_16(size * channels,
((signed short *)dst_areas[0].addr) + (dst_ofs * channels), ((signed short *)dst_areas[0].addr) + (dst_ofs * channels),
((signed short *)src_areas[0].addr) + (src_ofs * channels), ((signed short *)src_areas[0].addr) + (src_ofs * channels),
dmix->u.dmix.sum_buffer + (dst_ofs * channels), dmix->u.dmix.sum_buffer + (dst_ofs * channels),
sizeof(signed short), sizeof(signed short),
sizeof(signed short), sizeof(signed short),
sizeof(signed int)); sizeof(signed int));
return; return;
} }
for (chn = 0; chn < channels; chn++) { for (chn = 0; chn < channels; chn++) {
@ -188,7 +188,7 @@ static void mix_areas(snd_pcm_direct_t *dmix,
src = (signed short *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step)); src = (signed short *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step));
dst = (signed short *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step)); dst = (signed short *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step));
sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn; sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn;
dmix->u.dmix.mix_areas1(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int)); dmix->u.dmix.mix_areas_16(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int));
} }
} else if (dmix->shmptr->s.format == SND_PCM_FORMAT_S32_LE || } else if (dmix->shmptr->s.format == SND_PCM_FORMAT_S32_LE ||
dmix->shmptr->s.format == SND_PCM_FORMAT_S32_BE) { dmix->shmptr->s.format == SND_PCM_FORMAT_S32_BE) {
@ -199,13 +199,13 @@ static void mix_areas(snd_pcm_direct_t *dmix,
* process all areas in one loop * process all areas in one loop
* it optimizes the memory accesses for this case * it optimizes the memory accesses for this case
*/ */
dmix->u.dmix.mix_areas2(size * channels, dmix->u.dmix.mix_areas_32(size * channels,
((signed int *)dst_areas[0].addr) + (dst_ofs * channels), ((signed int *)dst_areas[0].addr) + (dst_ofs * channels),
((signed int *)src_areas[0].addr) + (src_ofs * channels), ((signed int *)src_areas[0].addr) + (src_ofs * channels),
dmix->u.dmix.sum_buffer + (dst_ofs * channels), dmix->u.dmix.sum_buffer + (dst_ofs * channels),
sizeof(signed int), sizeof(signed int),
sizeof(signed int), sizeof(signed int),
sizeof(signed int)); sizeof(signed int));
return; return;
} }
for (chn = 0; chn < channels; chn++) { for (chn = 0; chn < channels; chn++) {
@ -217,7 +217,7 @@ static void mix_areas(snd_pcm_direct_t *dmix,
src = (signed int *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step)); src = (signed int *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step));
dst = (signed int *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step)); dst = (signed int *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step));
sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn; sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn;
dmix->u.dmix.mix_areas2(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int)); dmix->u.dmix.mix_areas_32(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int));
} }
} else { /* SND_PCM_FORMAT_S24_3LE */ } else { /* SND_PCM_FORMAT_S24_3LE */
unsigned char *src; unsigned char *src;
@ -227,11 +227,11 @@ static void mix_areas(snd_pcm_direct_t *dmix,
* process all areas in one loop * process all areas in one loop
* it optimizes the memory accesses for this case * it optimizes the memory accesses for this case
*/ */
dmix->u.dmix.mix_areas3(size * channels, dmix->u.dmix.mix_areas_24(size * channels,
((unsigned char *)dst_areas[0].addr) + 3 * dst_ofs * channels, ((unsigned char *)dst_areas[0].addr) + 3 * dst_ofs * channels,
((unsigned char *)src_areas[0].addr) + 3 * src_ofs * channels, ((unsigned char *)src_areas[0].addr) + 3 * src_ofs * channels,
dmix->u.dmix.sum_buffer + (dst_ofs * channels), dmix->u.dmix.sum_buffer + (dst_ofs * channels),
3, 3, sizeof(signed int)); 3, 3, sizeof(signed int));
return; return;
} }
for (chn = 0; chn < channels; chn++) { for (chn = 0; chn < channels; chn++) {
@ -243,7 +243,7 @@ static void mix_areas(snd_pcm_direct_t *dmix,
src = (unsigned char *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step)); src = (unsigned char *)(((char *)src_areas[chn].addr + src_areas[chn].first / 8) + (src_ofs * src_step));
dst = (unsigned char *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step)); dst = (unsigned char *)(((char *)dst_areas[dchn].addr + dst_areas[dchn].first / 8) + (dst_ofs * dst_step));
sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn; sum = dmix->u.dmix.sum_buffer + channels * dst_ofs + chn;
dmix->u.dmix.mix_areas3(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int)); dmix->u.dmix.mix_areas_24(size, dst, src, sum, dst_step, src_step, channels * sizeof(signed int));
} }
} }
} }

View file

@ -48,10 +48,10 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
#endif #endif
#if IS_CONCURRENT #if IS_CONCURRENT
static void mix_areas1(unsigned int size, static void mix_areas_16(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst, signed short *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
register signed int sample, old_sample; register signed int sample, old_sample;
@ -79,10 +79,10 @@ static void mix_areas1(unsigned int size,
} }
} }
static void mix_areas2(unsigned int size, static void mix_areas_32(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst, signed int *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
register signed int sample, old_sample; register signed int sample, old_sample;
@ -112,8 +112,8 @@ static void mix_areas2(unsigned int size,
static void mix_select_callbacks(snd_pcm_direct_t *dmix) static void mix_select_callbacks(snd_pcm_direct_t *dmix)
{ {
dmix->u.dmix.mix_areas1 = mix_areas1; dmix->u.dmix.mix_areas_16 = mix_areas_16;
dmix->u.dmix.mix_areas2 = mix_areas2; dmix->u.dmix.mix_areas_32 = mix_areas_32;
} }
#else #else
@ -126,10 +126,13 @@ static void mix_select_callbacks(snd_pcm_direct_t *dmix)
#include <byteswap.h> #include <byteswap.h>
static void generic_mix_areas1_native(unsigned int size, static void generic_mix_areas_16_native(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst,
volatile signed int *sum, size_t dst_step, signed short *src,
size_t src_step, size_t sum_step) volatile signed int *sum,
size_t dst_step,
size_t src_step,
size_t sum_step)
{ {
register signed int sample; register signed int sample;
@ -155,10 +158,13 @@ static void generic_mix_areas1_native(unsigned int size,
} }
} }
static void generic_mix_areas2_native(unsigned int size, static void generic_mix_areas_32_native(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst,
volatile signed int *sum, size_t dst_step, signed int *src,
size_t src_step, size_t sum_step) volatile signed int *sum,
size_t dst_step,
size_t src_step,
size_t sum_step)
{ {
register signed int sample; register signed int sample;
@ -186,10 +192,13 @@ static void generic_mix_areas2_native(unsigned int size,
} }
} }
static void generic_mix_areas1_swap(unsigned int size, static void generic_mix_areas_16_swap(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst,
volatile signed int *sum, size_t dst_step, signed short *src,
size_t src_step, size_t sum_step) volatile signed int *sum,
size_t dst_step,
size_t src_step,
size_t sum_step)
{ {
register signed int sample; register signed int sample;
@ -215,10 +224,13 @@ static void generic_mix_areas1_swap(unsigned int size,
} }
} }
static void generic_mix_areas2_swap(unsigned int size, static void generic_mix_areas_32_swap(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst,
volatile signed int *sum, size_t dst_step, signed int *src,
size_t src_step, size_t sum_step) volatile signed int *sum,
size_t dst_step,
size_t src_step,
size_t sum_step)
{ {
register signed int sample; register signed int sample;
@ -247,10 +259,13 @@ static void generic_mix_areas2_swap(unsigned int size,
} }
/* always little endian */ /* always little endian */
static void generic_mix_areas3(unsigned int size, static void generic_mix_areas_24(unsigned int size,
volatile unsigned char *dst, unsigned char *src, volatile unsigned char *dst,
volatile signed int *sum, size_t dst_step, unsigned char *src,
size_t src_step, size_t sum_step) volatile signed int *sum,
size_t dst_step,
size_t src_step,
size_t sum_step)
{ {
register signed int sample; register signed int sample;
@ -281,13 +296,13 @@ static void generic_mix_areas3(unsigned int size,
static void generic_mix_select_callbacks(snd_pcm_direct_t *dmix) static void generic_mix_select_callbacks(snd_pcm_direct_t *dmix)
{ {
if (snd_pcm_format_cpu_endian(dmix->shmptr->s.format)) { if (snd_pcm_format_cpu_endian(dmix->shmptr->s.format)) {
dmix->u.dmix.mix_areas1 = generic_mix_areas1_native; dmix->u.dmix.mix_areas_16 = generic_mix_areas_16_native;
dmix->u.dmix.mix_areas2 = generic_mix_areas2_native; dmix->u.dmix.mix_areas_32 = generic_mix_areas_32_native;
} else { } else {
dmix->u.dmix.mix_areas1 = generic_mix_areas1_swap; dmix->u.dmix.mix_areas_16 = generic_mix_areas_16_swap;
dmix->u.dmix.mix_areas2 = generic_mix_areas2_swap; dmix->u.dmix.mix_areas_32 = generic_mix_areas_32_swap;
} }
dmix->u.dmix.mix_areas3 = generic_mix_areas3; dmix->u.dmix.mix_areas_24 = generic_mix_areas_24;
} }
#endif #endif

View file

@ -2,32 +2,32 @@
* optimized mixing code for i386 * optimized mixing code for i386
*/ */
#define MIX_AREAS1 mix_areas1 #define MIX_AREAS_16 mix_areas_16
#define MIX_AREAS1_MMX mix_areas1_mmx #define MIX_AREAS_16_MMX mix_areas_16_mmx
#define MIX_AREAS2 mix_areas2 #define MIX_AREAS_32 mix_areas_32
#define MIX_AREAS3 mix_areas3 #define MIX_AREAS_24 mix_areas_24
#define MIX_AREAS3_CMOV mix_areas3_cmov #define MIX_AREAS_24_CMOV mix_areas_24_cmov
#define LOCK_PREFIX "" #define LOCK_PREFIX ""
#include "pcm_dmix_i386.h" #include "pcm_dmix_i386.h"
#undef MIX_AREAS1 #undef MIX_AREAS_16
#undef MIX_AREAS1_MMX #undef MIX_AREAS_16_MMX
#undef MIX_AREAS2 #undef MIX_AREAS_32
#undef MIX_AREAS3 #undef MIX_AREAS_24
#undef MIX_AREAS3_CMOV #undef MIX_AREAS_24_CMOV
#undef LOCK_PREFIX #undef LOCK_PREFIX
#define MIX_AREAS1 mix_areas1_smp #define MIX_AREAS_16 mix_areas_16_smp
#define MIX_AREAS1_MMX mix_areas1_smp_mmx #define MIX_AREAS_16_MMX mix_areas_16_smp_mmx
#define MIX_AREAS2 mix_areas2_smp #define MIX_AREAS_32 mix_areas_32_smp
#define MIX_AREAS3 mix_areas3_smp #define MIX_AREAS_24 mix_areas_24_smp
#define MIX_AREAS3_CMOV mix_areas3_smp_cmov #define MIX_AREAS_24_CMOV mix_areas_24_smp_cmov
#define LOCK_PREFIX "lock ; " #define LOCK_PREFIX "lock ; "
#include "pcm_dmix_i386.h" #include "pcm_dmix_i386.h"
#undef MIX_AREAS1 #undef MIX_AREAS_16
#undef MIX_AREAS1_MMX #undef MIX_AREAS_16_MMX
#undef MIX_AREAS2 #undef MIX_AREAS_32
#undef MIX_AREAS3 #undef MIX_AREAS_24
#undef MIX_AREAS3_CMOV #undef MIX_AREAS_24_CMOV
#undef LOCK_PREFIX #undef LOCK_PREFIX
#define i386_dmix_supported_format \ #define i386_dmix_supported_format \
@ -70,14 +70,14 @@ static void mix_select_callbacks(snd_pcm_direct_t *dmix)
} }
if (mmx) { if (mmx) {
dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp_mmx : mix_areas1_mmx; dmix->u.dmix.mix_areas_16 = smp > 1 ? mix_areas_16_smp_mmx : mix_areas_16_mmx;
} else { } else {
dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp : mix_areas1; dmix->u.dmix.mix_areas_16 = smp > 1 ? mix_areas_16_smp : mix_areas_16;
} }
dmix->u.dmix.mix_areas2 = smp > 1 ? mix_areas2_smp : mix_areas2; dmix->u.dmix.mix_areas_32 = smp > 1 ? mix_areas_32_smp : mix_areas_32;
if (cmov) { if (cmov) {
dmix->u.dmix.mix_areas3 = smp > 1 ? mix_areas3_smp_cmov : mix_areas3_cmov; dmix->u.dmix.mix_areas_24 = smp > 1 ? mix_areas_24_smp_cmov : mix_areas_24_cmov;
} else { } else {
dmix->u.dmix.mix_areas3 = smp > 1 ? mix_areas3_smp: mix_areas3; dmix->u.dmix.mix_areas_24 = smp > 1 ? mix_areas_24_smp: mix_areas_24;
} }
} }

View file

@ -29,10 +29,10 @@
/* /*
* for plain i386 * for plain i386
*/ */
static void MIX_AREAS1(unsigned int size, static void MIX_AREAS_16(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst, signed short *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned int old_ebx; unsigned int old_ebx;
@ -153,10 +153,10 @@ static void MIX_AREAS1(unsigned int size,
/* /*
* MMX optimized * MMX optimized
*/ */
static void MIX_AREAS1_MMX(unsigned int size, static void MIX_AREAS_16_MMX(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst, signed short *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned int old_ebx; unsigned int old_ebx;
@ -243,10 +243,10 @@ static void MIX_AREAS1_MMX(unsigned int size,
/* /*
* for plain i386, 32-bit version (24-bit resolution) * for plain i386, 32-bit version (24-bit resolution)
*/ */
static void MIX_AREAS2(unsigned int size, static void MIX_AREAS_32(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst, signed int *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned int old_ebx; unsigned int old_ebx;
@ -356,10 +356,10 @@ static void MIX_AREAS2(unsigned int size,
/* /*
* 24-bit version for plain i386 * 24-bit version for plain i386
*/ */
static void MIX_AREAS3(unsigned int size, static void MIX_AREAS_24(unsigned int size,
volatile unsigned char *dst, unsigned char *src, volatile unsigned char *dst, unsigned char *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned int old_ebx; unsigned int old_ebx;
@ -462,10 +462,10 @@ static void MIX_AREAS3(unsigned int size,
/* /*
* 24-bit version for Pentium Pro/II * 24-bit version for Pentium Pro/II
*/ */
static void MIX_AREAS3_CMOV(unsigned int size, static void MIX_AREAS_24_CMOV(unsigned int size,
volatile unsigned char *dst, unsigned char *src, volatile unsigned char *dst, unsigned char *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned int old_ebx; unsigned int old_ebx;

View file

@ -2,24 +2,24 @@
* optimized mixing code for x86-64 * optimized mixing code for x86-64
*/ */
#define MIX_AREAS1 mix_areas1 #define MIX_AREAS_16 mix_areas_16
#define MIX_AREAS2 mix_areas2 #define MIX_AREAS_32 mix_areas_32
#define MIX_AREAS3 mix_areas3 #define MIX_AREAS_24 mix_areas_24
#define LOCK_PREFIX "" #define LOCK_PREFIX ""
#include "pcm_dmix_x86_64.h" #include "pcm_dmix_x86_64.h"
#undef MIX_AREAS1 #undef MIX_AREAS_16
#undef MIX_AREAS2 #undef MIX_AREAS_32
#undef MIX_AREAS3 #undef MIX_AREAS_24
#undef LOCK_PREFIX #undef LOCK_PREFIX
#define MIX_AREAS1 mix_areas1_smp #define MIX_AREAS_16 mix_areas_16_smp
#define MIX_AREAS2 mix_areas2_smp #define MIX_AREAS_32 mix_areas_32_smp
#define MIX_AREAS3 mix_areas3_smp #define MIX_AREAS_24 mix_areas_24_smp
#define LOCK_PREFIX "lock ; " #define LOCK_PREFIX "lock ; "
#include "pcm_dmix_x86_64.h" #include "pcm_dmix_x86_64.h"
#undef MIX_AREAS1 #undef MIX_AREAS_16
#undef MIX_AREAS2 #undef MIX_AREAS_32
#undef MIX_AREAS3 #undef MIX_AREAS_24
#undef LOCK_PREFIX #undef LOCK_PREFIX
#define x86_64_dmix_supported_format \ #define x86_64_dmix_supported_format \
@ -55,7 +55,7 @@ static void mix_select_callbacks(snd_pcm_direct_t *dmix)
} }
} }
// printf("SMP: %i\n", smp); // printf("SMP: %i\n", smp);
dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp : mix_areas1; dmix->u.dmix.mix_areas_16 = smp > 1 ? mix_areas_16_smp : mix_areas_16;
dmix->u.dmix.mix_areas2 = smp > 1 ? mix_areas2_smp : mix_areas2; dmix->u.dmix.mix_areas_32 = smp > 1 ? mix_areas_32_smp : mix_areas_32;
dmix->u.dmix.mix_areas3 = smp > 1 ? mix_areas3_smp : mix_areas3; dmix->u.dmix.mix_areas_24 = smp > 1 ? mix_areas_24_smp : mix_areas_24;
} }

View file

@ -30,10 +30,10 @@
/* /*
* MMX optimized * MMX optimized
*/ */
static void MIX_AREAS1(unsigned int size, static void MIX_AREAS_16(unsigned int size,
volatile signed short *dst, signed short *src, volatile signed short *dst, signed short *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned long long old_rbx; unsigned long long old_rbx;
@ -125,10 +125,10 @@ static void MIX_AREAS1(unsigned int size,
/* /*
* 32-bit version (24-bit resolution) * 32-bit version (24-bit resolution)
*/ */
static void MIX_AREAS2(unsigned int size, static void MIX_AREAS_32(unsigned int size,
volatile signed int *dst, signed int *src, volatile signed int *dst, signed int *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned long long old_rbx; unsigned long long old_rbx;
@ -240,10 +240,10 @@ static void MIX_AREAS2(unsigned int size,
/* /*
* 24-bit version * 24-bit version
*/ */
static void MIX_AREAS3(unsigned int size, static void MIX_AREAS_24(unsigned int size,
volatile unsigned char *dst, unsigned char *src, volatile unsigned char *dst, unsigned char *src,
volatile signed int *sum, size_t dst_step, volatile signed int *sum, size_t dst_step,
size_t src_step, size_t sum_step) size_t src_step, size_t sum_step)
{ {
unsigned long long old_rbx; unsigned long long old_rbx;