clan::SoundSSE Class Reference - ClanLib SDK
Description: clan::SoundSSE Class Reference

Static Public Member Functions | List of all members
clan::SoundSSE Class Reference
clanSound Audio Mixing

Sound related functions implemented as SIMD using SSE. More...

`#include <sound_sse.h>`

## Static Public Member Functions
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 | copy_float (float *input, int size, float *output)
| Copy floats from one buffer to another.
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.
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_one_to_one (float *input, int size, float *output, float volume)
| Mixes one float channel with specified volume into another float channel.
static void | multiply_float (float *channel, int size, float volume)
| Multiplies floats with a float.
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 | set_float (float *channel, int size, float value)
| Sets floats to a specific value.
static void | unpack_16bit_mono (short *input, int size, float *output)
| Unpacks 16 bit mono samples into a single float channel.
static void | unpack_16bit_stereo (short *input, int size, float *output[2])
| Unpacks 16 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_8bit_stereo (unsigned char *input, int size, float *output[2])
| Unpacks 8 bit stereo samples into separate float channels.
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.

## Detailed Description

Sound related functions implemented as SIMD using SSE.

## Member Function Documentation

## ◆ aligned_alloc()

void * clan::SoundSSE::aligned_alloc | ( | int | size | ) |
| static

Allocates memory that is 16-byte memory aligned.

## ◆ aligned_free()

void clan::SoundSSE::aligned_free | ( | void * | ptr | ) |
| static

Free memory allocated with aligned_alloc.

## ◆ copy_float()

void clan::SoundSSE::copy_float | ( | float * | input,
|  | int | size,
|  | float * | output )
| static

Copy floats from one buffer to another.

## ◆ mix_many_to_one()

void clan::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.

## ◆ mix_one_to_many()

void clan::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.

## ◆ mix_one_to_one()

void clan::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.

## ◆ multiply_float()

void clan::SoundSSE::multiply_float | ( | float * | channel,
|  | int | size,
|  | float | volume )
| static

Multiplies floats with a float.

## ◆ pack_16bit_stereo()

void clan::SoundSSE::pack_16bit_stereo | ( | float * | input[2],
|  | int | size,
|  | short * | output )
| static

Packs two float channels into a single 16 bit samples stream.

## ◆ pack_float_stereo()

void clan::SoundSSE::pack_float_stereo | ( | float * | input[2],
|  | int | size,
|  | float * | output )
| static

Packs two float channels into a single float samples stream.

## ◆ set_float()

void clan::SoundSSE::set_float | ( | float * | channel,
|  | int | size,
|  | float | value )
| static

Sets floats to a specific value.

## ◆ unpack_16bit_mono()

void clan::SoundSSE::unpack_16bit_mono | ( | short * | input,
|  | int | size,
|  | float * | output )
| static

Unpacks 16 bit mono samples into a single float channel.

## ◆ unpack_16bit_stereo()

void clan::SoundSSE::unpack_16bit_stereo | ( | short * | input,
|  | int | size,
|  | float * | output[2] )
| static

Unpacks 16 bit stereo samples into separate float channels.

## ◆ unpack_8bit_mono()

void clan::SoundSSE::unpack_8bit_mono | ( | unsigned char * | input,
|  | int | size,
|  | float * | output )
| static

Unpacks 8 bit mono samples into a single float channel.

## ◆ unpack_8bit_stereo()

void clan::SoundSSE::unpack_8bit_stereo | ( | unsigned char * | input,
|  | int | size,
|  | float * | output[2] )
| static

Unpacks 8 bit stereo samples into separate float channels.

## ◆ unpack_float_mono()

void clan::SoundSSE::unpack_float_mono | ( | float * | input,
|  | int | size,
|  | float * | output )
| static

Unpacks float mono samples into a single float channel.

## ◆ unpack_float_stereo()

void clan::SoundSSE::unpack_float_stereo | ( | float * | input,
|  | int | size,
|  | float * | output[2] )
| static

Unpacks float stereo samples into separate float channels.

The documentation for this class was generated from the following file:

- sound_sse.h