From: Clemens Ladisch Date: Mon, 10 Dec 2007 11:31:29 +0000 (+0100) Subject: dmix: rename mix_areas* X-Git-Tag: v1.0.16rc1~34 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=79db4a6bfa3c164540b9336ef6175e07e83e060d;p=alsa-lib.git dmix: rename mix_areas* Rename all mix_areas* symbols so that they contain the sample width instead of some meaningless number. --- diff --git a/src/pcm/pcm_direct.h b/src/pcm/pcm_direct.h index 7fdf0a93..887612e8 100644 --- a/src/pcm/pcm_direct.h +++ b/src/pcm/pcm_direct.h @@ -24,20 +24,20 @@ #define DIRECT_IPC_SEMS 1 #define DIRECT_IPC_SEM_CLIENT 0 -typedef void (mix_areas1_t)(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step); +typedef void (mix_areas_16_t)(unsigned int size, + volatile signed short *dst, signed short *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step); -typedef void (mix_areas2_t)(unsigned int size, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step); +typedef void (mix_areas_32_t)(unsigned int size, + volatile signed int *dst, signed int *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step); -typedef void (mix_areas3_t)(unsigned int size, - volatile unsigned char *dst, unsigned char *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step); +typedef void (mix_areas_24_t)(unsigned int size, + volatile unsigned char *dst, unsigned char *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step); struct slave_params { snd_pcm_format_t format; @@ -148,9 +148,9 @@ struct snd_pcm_direct { struct { int shmid_sum; /* IPC global sum ring buffer memory identification */ signed int *sum_buffer; /* shared sum buffer */ - mix_areas1_t *mix_areas1; - mix_areas2_t *mix_areas2; - mix_areas3_t *mix_areas3; + mix_areas_16_t *mix_areas_16; + mix_areas_32_t *mix_areas_32; + mix_areas_24_t *mix_areas_24; } dmix; struct { } dsnoop; diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c index 631aae37..28d61691 100644 --- a/src/pcm/pcm_dmix.c +++ b/src/pcm/pcm_dmix.c @@ -170,13 +170,13 @@ static void mix_areas(snd_pcm_direct_t *dmix, * process all areas in one loop * it optimizes the memory accesses for this case */ - dmix->u.dmix.mix_areas1(size * channels, - ((signed short *)dst_areas[0].addr) + (dst_ofs * channels), - ((signed short *)src_areas[0].addr) + (src_ofs * channels), - dmix->u.dmix.sum_buffer + (dst_ofs * channels), - sizeof(signed short), - sizeof(signed short), - sizeof(signed int)); + dmix->u.dmix.mix_areas_16(size * channels, + ((signed short *)dst_areas[0].addr) + (dst_ofs * channels), + ((signed short *)src_areas[0].addr) + (src_ofs * channels), + dmix->u.dmix.sum_buffer + (dst_ofs * channels), + sizeof(signed short), + sizeof(signed short), + sizeof(signed int)); return; } 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)); 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; - 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 || 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 * it optimizes the memory accesses for this case */ - dmix->u.dmix.mix_areas2(size * channels, - ((signed int *)dst_areas[0].addr) + (dst_ofs * channels), - ((signed int *)src_areas[0].addr) + (src_ofs * channels), - dmix->u.dmix.sum_buffer + (dst_ofs * channels), - sizeof(signed int), - sizeof(signed int), - sizeof(signed int)); + dmix->u.dmix.mix_areas_32(size * channels, + ((signed int *)dst_areas[0].addr) + (dst_ofs * channels), + ((signed int *)src_areas[0].addr) + (src_ofs * channels), + dmix->u.dmix.sum_buffer + (dst_ofs * channels), + sizeof(signed int), + sizeof(signed int), + sizeof(signed int)); return; } 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)); 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; - 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 */ unsigned char *src; @@ -227,11 +227,11 @@ static void mix_areas(snd_pcm_direct_t *dmix, * process all areas in one loop * it optimizes the memory accesses for this case */ - dmix->u.dmix.mix_areas3(size * channels, - ((unsigned char *)dst_areas[0].addr) + 3 * dst_ofs * channels, - ((unsigned char *)src_areas[0].addr) + 3 * src_ofs * channels, - dmix->u.dmix.sum_buffer + (dst_ofs * channels), - 3, 3, sizeof(signed int)); + dmix->u.dmix.mix_areas_24(size * channels, + ((unsigned char *)dst_areas[0].addr) + 3 * dst_ofs * channels, + ((unsigned char *)src_areas[0].addr) + 3 * src_ofs * channels, + dmix->u.dmix.sum_buffer + (dst_ofs * channels), + 3, 3, sizeof(signed int)); return; } 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)); 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; - 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)); } } } diff --git a/src/pcm/pcm_dmix_generic.c b/src/pcm/pcm_dmix_generic.c index d6cb0eb1..492f5f7d 100644 --- a/src/pcm/pcm_dmix_generic.c +++ b/src/pcm/pcm_dmix_generic.c @@ -48,10 +48,10 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, #endif #if IS_CONCURRENT -static void mix_areas1(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void mix_areas_16(unsigned int size, + volatile signed short *dst, signed short *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { register signed int sample, old_sample; @@ -79,10 +79,10 @@ static void mix_areas1(unsigned int size, } } -static void mix_areas2(unsigned int size, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void mix_areas_32(unsigned int size, + volatile signed int *dst, signed int *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { 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) { - dmix->u.dmix.mix_areas1 = mix_areas1; - dmix->u.dmix.mix_areas2 = mix_areas2; + dmix->u.dmix.mix_areas_16 = mix_areas_16; + dmix->u.dmix.mix_areas_32 = mix_areas_32; } #else @@ -126,10 +126,13 @@ static void mix_select_callbacks(snd_pcm_direct_t *dmix) #include -static void generic_mix_areas1_native(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void generic_mix_areas_16_native(unsigned int size, + volatile signed short *dst, + signed short *src, + volatile signed int *sum, + size_t dst_step, + size_t src_step, + size_t sum_step) { 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, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void generic_mix_areas_32_native(unsigned int size, + volatile signed int *dst, + signed int *src, + volatile signed int *sum, + size_t dst_step, + size_t src_step, + size_t sum_step) { 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, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void generic_mix_areas_16_swap(unsigned int size, + volatile signed short *dst, + signed short *src, + volatile signed int *sum, + size_t dst_step, + size_t src_step, + size_t sum_step) { 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, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void generic_mix_areas_32_swap(unsigned int size, + volatile signed int *dst, + signed int *src, + volatile signed int *sum, + size_t dst_step, + size_t src_step, + size_t sum_step) { register signed int sample; @@ -247,10 +259,13 @@ static void generic_mix_areas2_swap(unsigned int size, } /* always little endian */ -static void generic_mix_areas3(unsigned int size, - volatile unsigned char *dst, unsigned char *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void generic_mix_areas_24(unsigned int size, + volatile unsigned char *dst, + unsigned char *src, + volatile signed int *sum, + size_t dst_step, + size_t src_step, + size_t sum_step) { 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) { if (snd_pcm_format_cpu_endian(dmix->shmptr->s.format)) { - dmix->u.dmix.mix_areas1 = generic_mix_areas1_native; - dmix->u.dmix.mix_areas2 = generic_mix_areas2_native; + dmix->u.dmix.mix_areas_16 = generic_mix_areas_16_native; + dmix->u.dmix.mix_areas_32 = generic_mix_areas_32_native; } else { - dmix->u.dmix.mix_areas1 = generic_mix_areas1_swap; - dmix->u.dmix.mix_areas2 = generic_mix_areas2_swap; + dmix->u.dmix.mix_areas_16 = generic_mix_areas_16_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 diff --git a/src/pcm/pcm_dmix_i386.c b/src/pcm/pcm_dmix_i386.c index 09d19bbb..8fbd6b95 100644 --- a/src/pcm/pcm_dmix_i386.c +++ b/src/pcm/pcm_dmix_i386.c @@ -2,32 +2,32 @@ * optimized mixing code for i386 */ -#define MIX_AREAS1 mix_areas1 -#define MIX_AREAS1_MMX mix_areas1_mmx -#define MIX_AREAS2 mix_areas2 -#define MIX_AREAS3 mix_areas3 -#define MIX_AREAS3_CMOV mix_areas3_cmov +#define MIX_AREAS_16 mix_areas_16 +#define MIX_AREAS_16_MMX mix_areas_16_mmx +#define MIX_AREAS_32 mix_areas_32 +#define MIX_AREAS_24 mix_areas_24 +#define MIX_AREAS_24_CMOV mix_areas_24_cmov #define LOCK_PREFIX "" #include "pcm_dmix_i386.h" -#undef MIX_AREAS1 -#undef MIX_AREAS1_MMX -#undef MIX_AREAS2 -#undef MIX_AREAS3 -#undef MIX_AREAS3_CMOV +#undef MIX_AREAS_16 +#undef MIX_AREAS_16_MMX +#undef MIX_AREAS_32 +#undef MIX_AREAS_24 +#undef MIX_AREAS_24_CMOV #undef LOCK_PREFIX -#define MIX_AREAS1 mix_areas1_smp -#define MIX_AREAS1_MMX mix_areas1_smp_mmx -#define MIX_AREAS2 mix_areas2_smp -#define MIX_AREAS3 mix_areas3_smp -#define MIX_AREAS3_CMOV mix_areas3_smp_cmov +#define MIX_AREAS_16 mix_areas_16_smp +#define MIX_AREAS_16_MMX mix_areas_16_smp_mmx +#define MIX_AREAS_32 mix_areas_32_smp +#define MIX_AREAS_24 mix_areas_24_smp +#define MIX_AREAS_24_CMOV mix_areas_24_smp_cmov #define LOCK_PREFIX "lock ; " #include "pcm_dmix_i386.h" -#undef MIX_AREAS1 -#undef MIX_AREAS1_MMX -#undef MIX_AREAS2 -#undef MIX_AREAS3 -#undef MIX_AREAS3_CMOV +#undef MIX_AREAS_16 +#undef MIX_AREAS_16_MMX +#undef MIX_AREAS_32 +#undef MIX_AREAS_24 +#undef MIX_AREAS_24_CMOV #undef LOCK_PREFIX #define i386_dmix_supported_format \ @@ -70,14 +70,14 @@ static void mix_select_callbacks(snd_pcm_direct_t *dmix) } 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 { - 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) { - 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 { - 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; } } diff --git a/src/pcm/pcm_dmix_i386.h b/src/pcm/pcm_dmix_i386.h index 6f09bae5..6fa44406 100644 --- a/src/pcm/pcm_dmix_i386.h +++ b/src/pcm/pcm_dmix_i386.h @@ -29,10 +29,10 @@ /* * for plain i386 */ -static void MIX_AREAS1(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_16(unsigned int size, + volatile signed short *dst, signed short *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned int old_ebx; @@ -153,10 +153,10 @@ static void MIX_AREAS1(unsigned int size, /* * MMX optimized */ -static void MIX_AREAS1_MMX(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_16_MMX(unsigned int size, + volatile signed short *dst, signed short *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { 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) */ -static void MIX_AREAS2(unsigned int size, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_32(unsigned int size, + volatile signed int *dst, signed int *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned int old_ebx; @@ -356,10 +356,10 @@ static void MIX_AREAS2(unsigned int size, /* * 24-bit version for plain i386 */ -static void MIX_AREAS3(unsigned int size, - volatile unsigned char *dst, unsigned char *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_24(unsigned int size, + volatile unsigned char *dst, unsigned char *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned int old_ebx; @@ -462,10 +462,10 @@ static void MIX_AREAS3(unsigned int size, /* * 24-bit version for Pentium Pro/II */ -static void MIX_AREAS3_CMOV(unsigned int size, - volatile unsigned char *dst, unsigned char *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_24_CMOV(unsigned int size, + volatile unsigned char *dst, unsigned char *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned int old_ebx; diff --git a/src/pcm/pcm_dmix_x86_64.c b/src/pcm/pcm_dmix_x86_64.c index 343fee86..1dea9c92 100644 --- a/src/pcm/pcm_dmix_x86_64.c +++ b/src/pcm/pcm_dmix_x86_64.c @@ -2,24 +2,24 @@ * optimized mixing code for x86-64 */ -#define MIX_AREAS1 mix_areas1 -#define MIX_AREAS2 mix_areas2 -#define MIX_AREAS3 mix_areas3 +#define MIX_AREAS_16 mix_areas_16 +#define MIX_AREAS_32 mix_areas_32 +#define MIX_AREAS_24 mix_areas_24 #define LOCK_PREFIX "" #include "pcm_dmix_x86_64.h" -#undef MIX_AREAS1 -#undef MIX_AREAS2 -#undef MIX_AREAS3 +#undef MIX_AREAS_16 +#undef MIX_AREAS_32 +#undef MIX_AREAS_24 #undef LOCK_PREFIX -#define MIX_AREAS1 mix_areas1_smp -#define MIX_AREAS2 mix_areas2_smp -#define MIX_AREAS3 mix_areas3_smp +#define MIX_AREAS_16 mix_areas_16_smp +#define MIX_AREAS_32 mix_areas_32_smp +#define MIX_AREAS_24 mix_areas_24_smp #define LOCK_PREFIX "lock ; " #include "pcm_dmix_x86_64.h" -#undef MIX_AREAS1 -#undef MIX_AREAS2 -#undef MIX_AREAS3 +#undef MIX_AREAS_16 +#undef MIX_AREAS_32 +#undef MIX_AREAS_24 #undef LOCK_PREFIX #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); - dmix->u.dmix.mix_areas1 = smp > 1 ? mix_areas1_smp : mix_areas1; - dmix->u.dmix.mix_areas2 = smp > 1 ? mix_areas2_smp : mix_areas2; - dmix->u.dmix.mix_areas3 = smp > 1 ? mix_areas3_smp : mix_areas3; + dmix->u.dmix.mix_areas_16 = smp > 1 ? mix_areas_16_smp : mix_areas_16; + dmix->u.dmix.mix_areas_32 = smp > 1 ? mix_areas_32_smp : mix_areas_32; + dmix->u.dmix.mix_areas_24 = smp > 1 ? mix_areas_24_smp : mix_areas_24; } diff --git a/src/pcm/pcm_dmix_x86_64.h b/src/pcm/pcm_dmix_x86_64.h index a6e92704..6ad81337 100644 --- a/src/pcm/pcm_dmix_x86_64.h +++ b/src/pcm/pcm_dmix_x86_64.h @@ -30,10 +30,10 @@ /* * MMX optimized */ -static void MIX_AREAS1(unsigned int size, - volatile signed short *dst, signed short *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_16(unsigned int size, + volatile signed short *dst, signed short *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned long long old_rbx; @@ -125,10 +125,10 @@ static void MIX_AREAS1(unsigned int size, /* * 32-bit version (24-bit resolution) */ -static void MIX_AREAS2(unsigned int size, - volatile signed int *dst, signed int *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_32(unsigned int size, + volatile signed int *dst, signed int *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned long long old_rbx; @@ -240,10 +240,10 @@ static void MIX_AREAS2(unsigned int size, /* * 24-bit version */ -static void MIX_AREAS3(unsigned int size, - volatile unsigned char *dst, unsigned char *src, - volatile signed int *sum, size_t dst_step, - size_t src_step, size_t sum_step) +static void MIX_AREAS_24(unsigned int size, + volatile unsigned char *dst, unsigned char *src, + volatile signed int *sum, size_t dst_step, + size_t src_step, size_t sum_step) { unsigned long long old_rbx;