Defines | Typedefs | Functions | Variables

audio.c File Reference

#include <glib.h>
#include "audio.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 )(void *in, gfloat *out, gint samples)
typedef void(* ToFunc )(gfloat *in, void *out, gint samples)

Functions

static gint8 noop8 (gint8 i)
static gint16 noop16 (gint16 i)
static gint32 noop32 (gint32 i)
static gint16 swap16 (gint16 i)
static gint32 swap32 (gint32 i)
void audio_from_int (void *in, gint format, gfloat *out, gint samples)
void audio_to_int (gfloat *in, void *out, gint format, gint samples)
void audio_amplify (gfloat *data, gint channels, gint frames, gfloat *factors)

Variables

struct {
   gint   format
   FromFunc   from
   ToFunc   to
convert_table []

Define Documentation

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

Definition at line 26 of file audio.c.

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

Definition at line 34 of file audio.c.


Typedef Documentation

typedef void(* FromFunc)(void *in, gfloat *out, gint samples)

Definition at line 84 of file audio.c.

typedef void(* ToFunc)(gfloat *in, void *out, gint samples)

Definition at line 85 of file audio.c.


Function Documentation

void audio_amplify ( gfloat *  data,
gint  channels,
gint  frames,
gfloat *  factors 
)

Definition at line 157 of file audio.c.

Referenced by apply_replay_gain(), and apply_software_volume().

void audio_from_int ( void *  in,
gint  format,
gfloat *  out,
gint  samples 
)

Definition at line 129 of file audio.c.

Referenced by output_write_audio().

void audio_to_int ( gfloat *  in,
void *  out,
gint  format,
gint  samples 
)

Definition at line 143 of file audio.c.

Referenced by do_write().

static gint16 noop16 ( gint16  i  )  [inline, static]

Definition at line 46 of file audio.c.

static gint32 noop32 ( gint32  i  )  [inline, static]

Definition at line 47 of file audio.c.

static gint8 noop8 ( gint8  i  )  [inline, static]

Definition at line 45 of file audio.c.

static gint16 swap16 ( gint16  i  )  [inline, static]

Definition at line 67 of file audio.c.

static gint32 swap32 ( gint32  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 89 of file audio.c.

Referenced by plugin_registry_load(), and title_from_tuple().

Definition at line 90 of file audio.c.

Referenced by vis_runner_pass_audio().

Definition at line 91 of file audio.c.

Referenced by vis_runner_pass_audio().