Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rtf_filter(3) [debian man page]

RTF_FILTER(3)							 rtfilter library						     RTF_FILTER(3)

NAME
rtf_filter - filters a chunk of data SYNOPSIS
#include <rtfilter.h> unsigned int rtf_filter(hfilter filt, const void *x, void *y, unsigned int ns); DESCRIPTION
This function applies the filter referenced by filt on ns samples specified by the pointer x and writes the filtered data into the array pointed by y. The arrays pointed by made of values whose correspond to the type specified at the creation of the filter. In addition, the two arrays must not overlap (failing to comply will lead to undefined results). Their number of elements have to be equal to ns multiplied by the number of channels processed (specified at the creation of the filter). The arrays should be packed by channels with the following pattern: |S1C1|S1C2|...|S1Ck|S2C1|S2C2|....|S2Ck|...|SnsCk| where SiCj refers to the data value of the i-th sample and the j-th channel and k refers to the number of channel specified at the creation of the filter. RETURN VALUE
Returns the number of samples written in the array pointer by y. For most of the filters, this value will always be equal to ns. This is however not the case of a downsampling filter whose the number of samples returned may vary from one call to another. PERFORMANCE CONSIDERATION
On platforms that support SIMD instructions, rtf_filter() is implemented in 2 different versions: one normal and one using SIMD instruction set which performs nearly 4x faster than the normal one when processing float data types. The SIMD version is automatically selected at runtime if the following conditions are met (otherwise, the implementation falls back to the normal version): - The input x and output y are aligned on 16 bytes boundary (128 bits) - The sample strides (the size of the data type multiplied by the number of channel) of the input and output are multiples of 16 bytes. The first condition is easily met by allocating x and y using memory allocation function mandating a certain alignment (for example, posix_memalign(3) on POSIX platform). The second condition is met if the number of channels is carefully chosen. Given the boost obtained with the SIMD version, it is often interesting to add unused channels into the input and output (when possible) just to make the strides multiple of 16 bytes (for example using always a multiple of 4 channels when dealing with float and real values). SEE ALSO
rtf_create_filter(3), rtf_init_filter(3) EPFL
2010 RTF_FILTER(3)

Check Out this Related Man Page

SDL_AudioSpec(3)						 SDL API Reference						  SDL_AudioSpec(3)

NAME
SDL_AudioSpec - Audio Specification Structure STRUCTURE DEFINITION
typedef struct{ int freq; Uint16 format; Uint8 channels; Uint8 silence; Uint16 samples; Uint32 size; void (*callback)(void *userdata, Uint8 *stream, int len); void *userdata; } SDL_AudioSpec; STRUCTURE DATA
freq Audio frequency in samples per second format Audio data format channels Number of channels: 1 mono, 2 stereo silence Audio buffer silence value (calculated) samples Audio buffer size in samples size Audio buffer size in bytes (calculated) callback(..) Callback function for filling the audio buffer userdata Pointer the user data which is passed to the callback function DESCRIPTION
The SDL_AudioSpec structure is used to describe the format of some audio data. This structure is used by SDL_OpenAudio and SDL_LoadWAV. While all fields are used by SDL_OpenAudio only freq, format, samples and channels are used by SDL_LoadWAV. We will detail these common members here. freq The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better. format Specifies the size and type of each sample element AUDIO_U8 AUDIO_S8 AUDIO_U16 or AUDIO_U16LSB AUDIO_S16 or AUDIO_S16LSB AUDIO_U16MSB AUDIO_S16MSB AUDIO_U16SYS AUDIO_S16SYS channels The number of seperate sound channels. 1 is mono (single channel), 2 is stereo (dual channel). samples When used with SDL_OpenAudio this refers to the size of the audio buffer in samples. A sample a chunk of audio data of the size specified in format mulitplied by the number of channels. When the SDL_AudioSpec is used with SDL_LoadWAV sam- ples is set to 4096. SEE ALSO
SDL_OpenAudio, SDL_LoadWAV SDL
Tue 11 Sep 2001, 22:58 SDL_AudioSpec(3)
Man Page