audio.c File Reference

#include <glib.h>
#include <stdint.h>
#include "audio.h"
#include "config.h"

Go to the source code of this file.

Defines

#define FROM_INT_LOOP(NAME, TYPE, SWAP, OFFSET, RANGE)
#define TO_INT_LOOP(NAME, TYPE, SWAP, OFFSET, RANGE)

Typedefs

typedef void(* FromFunc )(const void *in, float *out, int samples)
typedef void(* ToFunc )(const float *in, void *out, int samples)

Functions

static int8_t NOOP8 (int8_t i)
static int16_t NOOP16 (int16_t i)
static int32_t NOOP32 (int32_t i)
static int16_t SWAP16 (int16_t i)
static int32_t SWAP32 (int32_t i)
EXPORT void audio_from_int (const void *in, int format, float *out, int samples)
EXPORT void audio_to_int (const float *in, void *out, int format, int samples)
EXPORT void audio_amplify (float *data, int channels, int frames, float *factors)

Variables

struct {
   int   format
   FromFunc   from
   ToFunc   to
convert_table []

Define Documentation

#define FROM_INT_LOOP ( NAME,
TYPE,
SWAP,
OFFSET,
RANGE   ) 
Value:
static void NAME (const TYPE * in, float * out, int samples) \
{ \
    const TYPE * end = in + samples; \
    while (in < end) \
        * out ++ = (TYPE) (SWAP (* in ++) - OFFSET) / (double) RANGE; \
}

Definition at line 26 of file audio.c.

#define TO_INT_LOOP ( NAME,
TYPE,
SWAP,
OFFSET,
RANGE   ) 
Value:
static void NAME (const float * in, TYPE * out, int samples) \
{ \
    const float * end = in + samples; \
    while (in < end) \
    { \
        double f = * in ++; \
        * out ++ = SWAP (OFFSET + (TYPE) (CLAMP (f, -1, 1) * (double) RANGE)); \
    } \
}

Definition at line 34 of file audio.c.


Typedef Documentation

typedef void(* FromFunc)(const void *in, float *out, int samples)

Definition at line 84 of file audio.c.

typedef void(* ToFunc)(const float *in, void *out, int samples)

Definition at line 85 of file audio.c.


Function Documentation

EXPORT void audio_amplify ( float *  data,
int  channels,
int  frames,
float *  factors 
)

Definition at line 157 of file audio.c.

Referenced by apply_replay_gain(), and apply_software_volume().

EXPORT void audio_from_int ( const void *  in,
int  format,
float *  out,
int  samples 
)

Definition at line 129 of file audio.c.

Referenced by write_audio().

EXPORT void audio_to_int ( const float *  in,
void *  out,
int  format,
int  samples 
)

Definition at line 143 of file audio.c.

Referenced by write_processed().

static int16_t NOOP16 ( int16_t  i  )  [inline, static]

Definition at line 46 of file audio.c.

static int32_t NOOP32 ( int32_t  i  )  [inline, static]

Definition at line 47 of file audio.c.

static int8_t NOOP8 ( int8_t  i  )  [inline, static]

Definition at line 45 of file audio.c.

static int16_t SWAP16 ( int16_t  i  )  [inline, static]

Definition at line 67 of file audio.c.

static int32_t SWAP32 ( int32_t  i  )  [inline, static]

Definition at line 68 of file audio.c.


Variable Documentation

struct { ... } convert_table[]

Referenced by audio_from_int(), and audio_to_int().

Definition at line 90 of file audio.c.

Definition at line 91 of file audio.c.


Generated on 1 Aug 2012 for Audacious by  doxygen 1.6.1