Sound related functions implemented as SIMD using SSE. More...
#include <sound_sse.h>
Static Public Member Functions | |
Operations | |
static void * | aligned_alloc (int size) |
Allocates memory that is 16-byte memory aligned. | |
static void | aligned_free (void *ptr) |
Free memory allocated with aligned_alloc. | |
static void | unpack_16bit_stereo (short *input, int size, float *output[2]) |
Unpacks 16 bit stereo samples into separate float channels. | |
static void | unpack_16bit_mono (short *input, int size, float *output) |
Unpacks 16 bit mono samples into a single float channel. | |
static void | unpack_8bit_stereo (unsigned char *input, int size, float *output[2]) |
Unpacks 8 bit stereo samples into separate float channels. | |
static void | unpack_8bit_mono (unsigned char *input, int size, float *output) |
Unpacks 8 bit mono samples into a single float channel. | |
static void | unpack_float_mono (float *input, int size, float *output) |
Unpacks float mono samples into a single float channel. | |
static void | unpack_float_stereo (float *input, int size, float *output[2]) |
Unpacks float stereo samples into separate float channels. | |
static void | pack_16bit_stereo (float *input[2], int size, short *output) |
Packs two float channels into a single 16 bit samples stream. | |
static void | pack_float_stereo (float *input[2], int size, float *output) |
Packs two float channels into a single float samples stream. | |
static void | copy_float (float *input, int size, float *output) |
Copy floats from one buffer to another. | |
static void | multiply_float (float *channel, int size, float volume) |
Multiplies floats with a float. | |
static void | set_float (float *channel, int size, float value) |
Sets floats to a specific value. | |
static void | mix_one_to_one (float *input, int size, float *output, float volume) |
Mixes one float channel with specified volume into another float channel. | |
static void | mix_one_to_many (float *input, int size, float **output, float *volume, int channels) |
Mixes one float channel into many float channels with individual volumes for each channel. | |
static void | mix_many_to_one (float **input, float *volume, int channels, int size, float *output) |
Mixes many float channels into one float channel with individual volumes for each channel. |
Sound related functions implemented as SIMD using SSE.
static void* CL_SoundSSE::aligned_alloc | ( | int | size | ) | [static] |
Allocates memory that is 16-byte memory aligned.
static void CL_SoundSSE::aligned_free | ( | void * | ptr | ) | [static] |
Free memory allocated with aligned_alloc.
static void CL_SoundSSE::copy_float | ( | float * | input, | |
int | size, | |||
float * | output | |||
) | [static] |
Copy floats from one buffer to another.
static void CL_SoundSSE::mix_many_to_one | ( | float ** | input, | |
float * | volume, | |||
int | channels, | |||
int | size, | |||
float * | output | |||
) | [static] |
Mixes many float channels into one float channel with individual volumes for each channel.
static void CL_SoundSSE::mix_one_to_many | ( | float * | input, | |
int | size, | |||
float ** | output, | |||
float * | volume, | |||
int | channels | |||
) | [static] |
Mixes one float channel into many float channels with individual volumes for each channel.
static void CL_SoundSSE::mix_one_to_one | ( | float * | input, | |
int | size, | |||
float * | output, | |||
float | volume | |||
) | [static] |
Mixes one float channel with specified volume into another float channel.
static void CL_SoundSSE::multiply_float | ( | float * | channel, | |
int | size, | |||
float | volume | |||
) | [static] |
Multiplies floats with a float.
static void CL_SoundSSE::pack_16bit_stereo | ( | float * | input[2], | |
int | size, | |||
short * | output | |||
) | [static] |
Packs two float channels into a single 16 bit samples stream.
static void CL_SoundSSE::pack_float_stereo | ( | float * | input[2], | |
int | size, | |||
float * | output | |||
) | [static] |
Packs two float channels into a single float samples stream.
static void CL_SoundSSE::set_float | ( | float * | channel, | |
int | size, | |||
float | value | |||
) | [static] |
Sets floats to a specific value.
static void CL_SoundSSE::unpack_16bit_mono | ( | short * | input, | |
int | size, | |||
float * | output | |||
) | [static] |
Unpacks 16 bit mono samples into a single float channel.
static void CL_SoundSSE::unpack_16bit_stereo | ( | short * | input, | |
int | size, | |||
float * | output[2] | |||
) | [static] |
Unpacks 16 bit stereo samples into separate float channels.
static void CL_SoundSSE::unpack_8bit_mono | ( | unsigned char * | input, | |
int | size, | |||
float * | output | |||
) | [static] |
Unpacks 8 bit mono samples into a single float channel.
static void CL_SoundSSE::unpack_8bit_stereo | ( | unsigned char * | input, | |
int | size, | |||
float * | output[2] | |||
) | [static] |
Unpacks 8 bit stereo samples into separate float channels.
static void CL_SoundSSE::unpack_float_mono | ( | float * | input, | |
int | size, | |||
float * | output | |||
) | [static] |
Unpacks float mono samples into a single float channel.
static void CL_SoundSSE::unpack_float_stereo | ( | float * | input, | |
int | size, | |||
float * | output[2] | |||
) | [static] |
Unpacks float stereo samples into separate float channels.