Microchip® Advanced Software Framework

mad.h File Reference

Data Structures

struct  DWstruct
 
union  DWunion
 
struct  mad_bitptr
 
struct  mad_decoder
 
struct  mad_frame
 
struct  mad_header
 
struct  mad_pcm
 
struct  mad_stream
 
struct  mad_synth
 
struct  mad_timer_t
 

Macros

#define FPM_AVR32
 
#define LIBMAD_BIT_H
 
#define LIBMAD_DECODER_H
 
#define LIBMAD_FIXED_H
 
#define LIBMAD_FRAME_H
 
#define LIBMAD_STREAM_H
 
#define LIBMAD_SYNTH_H
 
#define LIBMAD_TIMER_H
 
#define LIBMAD_VERSION_H
 
#define MAD_AUTHOR   "Underbit Technologies, Inc."
 
#define mad_bit_bitsleft(bitptr)   (CHAR_BIT - (bitptr)->bit)
 
#define mad_bit_finish(bitptr)   /* nothing */
 
#define MAD_BUFFER_GUARD   8
 
#define MAD_BUFFER_MDLEN   (511 + 2048 + MAD_BUFFER_GUARD)
 
#define mad_decoder_options(decoder, opts)   ((void) ((decoder)->options = (opts)))
 
#define MAD_EMAIL   "info@underbit.com"
 
#define MAD_F(x)   ((mad_fixed_t) (x##L))
 
#define mad_f_add(x, y)   ((x) + (y))
 
#define MAD_F_FRACBITS   28
 
#define mad_f_fracpart(x)   ((x) & ((1L << MAD_F_FRACBITS) - 1))
 
#define mad_f_fromint(x)   ((x) << MAD_F_FRACBITS)
 
#define mad_f_intpart(x)   ((x) >> MAD_F_FRACBITS)
 
#define MAD_F_MAX   ((mad_fixed_t) +0x7fffffffL)
 
#define MAD_F_MIN   ((mad_fixed_t) -0x80000000L)
 
#define MAD_F_ML0(hi, lo, x, y)   MAD_F_MLX((hi), (lo), (x), (y))
 
#define MAD_F_MLA(hi, lo, x, y)
 
#define MAD_F_MLN(hi, lo)
 
#define MAD_F_MLX(hi, lo, x, y)
 
#define MAD_F_MLZ(hi, lo)   mad_f_scale64((hi), (lo))
 
#define MAD_F_ONE   MAD_F(0x10000000)
 
#define mad_f_scale64(hi, lo)
 
#define MAD_F_SCALEBITS   MAD_F_FRACBITS
 
#define MAD_F_SCALEBITS   MAD_F_FRACBITS
 
#define mad_f_sub(x, y)   ((x) - (y))
 
#define mad_f_todouble(x)
 
#define mad_f_tofixed(x)
 
#define mad_fixed64_t   signed long long
 
#define mad_header_finish(header)   /* nothing */
 
#define MAD_NCHANNELS(header)   ((header)->mode ? 2 : 1)
 
#define MAD_NSBSAMPLES(header)
 
#define MAD_PUBLISHYEAR   "2000-2004"
 
#define MAD_RECOVERABLE(error)   ((error) & 0xff00)
 
#define mad_stream_options(stream, opts)   ((void) ((stream)->options = (opts)))
 
#define mad_synth_finish(synth)   /* nothing */
 
#define mad_timer_reset(timer)   ((void) (*(timer) = mad_timer_zero))
 
#define MAD_TIMER_RESOLUTION   352800000UL
 
#define mad_timer_sign(timer)   mad_timer_compare((timer), mad_timer_zero)
 
#define MAD_VERSION
 
#define MAD_VERSION_EXTRA   " (beta)"
 
#define MAD_VERSION_MAJOR   0
 
#define MAD_VERSION_MINOR   15
 
#define MAD_VERSION_PATCH   1
 
#define MAD_VERSION_STRING(num)   MAD_VERSION_STRINGIZE(num)
 
#define MAD_VERSION_STRINGIZE(str)   #str
 
#define SIZEOF_INT   4
 
#define SIZEOF_LONG   4
 
#define SIZEOF_LONG_LONG   8
 

Typedefs

typedef signed short mad_coeff_t
 
typedef signed int mad_fixed64hi_t
 
typedef unsigned int mad_fixed64lo_t
 
typedef signed int mad_fixed_t
 
typedef mad_fixed_t mad_sample_t
 

Enumerations

enum  {
  MAD_OPTION_IGNORECRC = 0x0001,
  MAD_OPTION_HALFSAMPLERATE = 0x0002
}
 
enum  {
  MAD_FLAG_NPRIVATE_III = 0x0007,
  MAD_FLAG_INCOMPLETE = 0x0008,
  MAD_FLAG_PROTECTION = 0x0010,
  MAD_FLAG_COPYRIGHT = 0x0020,
  MAD_FLAG_ORIGINAL = 0x0040,
  MAD_FLAG_PADDING = 0x0080,
  MAD_FLAG_I_STEREO = 0x0100,
  MAD_FLAG_MS_STEREO = 0x0200,
  MAD_FLAG_FREEFORMAT = 0x0400,
  MAD_FLAG_LSF_EXT = 0x1000,
  MAD_FLAG_MC_EXT = 0x2000,
  MAD_FLAG_MPEG_2_5_EXT = 0x4000
}
 
enum  {
  MAD_PRIVATE_HEADER = 0x0100,
  MAD_PRIVATE_III = 0x001f
}
 
enum  { MAD_PCM_CHANNEL_SINGLE = 0 }
 
enum  {
  MAD_PCM_CHANNEL_DUAL_1 = 0,
  MAD_PCM_CHANNEL_DUAL_2 = 1
}
 
enum  {
  MAD_PCM_CHANNEL_STEREO_LEFT = 0,
  MAD_PCM_CHANNEL_STEREO_RIGHT = 1
}
 
enum  mad_decoder_mode {
  MAD_DECODER_MODE_SYNC = 0,
  MAD_DECODER_MODE_ASYNC
}
 
enum  mad_emphasis {
  MAD_EMPHASIS_NONE = 0,
  MAD_EMPHASIS_50_15_US = 1,
  MAD_EMPHASIS_CCITT_J_17 = 3,
  MAD_EMPHASIS_RESERVED = 2
}
 
enum  mad_error {
  MAD_ERROR_NONE = 0x0000,
  MAD_ERROR_BUFLEN = 0x0001,
  MAD_ERROR_BUFPTR = 0x0002,
  MAD_ERROR_NOMEM = 0x0031,
  MAD_ERROR_LOSTSYNC = 0x0101,
  MAD_ERROR_BADLAYER = 0x0102,
  MAD_ERROR_BADBITRATE = 0x0103,
  MAD_ERROR_BADSAMPLERATE = 0x0104,
  MAD_ERROR_BADEMPHASIS = 0x0105,
  MAD_ERROR_BADCRC = 0x0201,
  MAD_ERROR_BADBITALLOC = 0x0211,
  MAD_ERROR_BADSCALEFACTOR = 0x0221,
  MAD_ERROR_BADMODE = 0x0222,
  MAD_ERROR_BADFRAMELEN = 0x0231,
  MAD_ERROR_BADBIGVALUES = 0x0232,
  MAD_ERROR_BADBLOCKTYPE = 0x0233,
  MAD_ERROR_BADSCFSI = 0x0234,
  MAD_ERROR_BADDATAPTR = 0x0235,
  MAD_ERROR_BADPART3LEN = 0x0236,
  MAD_ERROR_BADHUFFTABLE = 0x0237,
  MAD_ERROR_BADHUFFDATA = 0x0238,
  MAD_ERROR_BADSTEREO = 0x0239
}
 
enum  mad_flow {
  MAD_FLOW_CONTINUE = 0x0000,
  MAD_FLOW_STOP = 0x0010,
  MAD_FLOW_BREAK = 0x0011,
  MAD_FLOW_IGNORE = 0x0020
}
 
enum  mad_layer {
  MAD_LAYER_I = 1,
  MAD_LAYER_II = 2,
  MAD_LAYER_III = 3
}
 
enum  mad_mode {
  MAD_MODE_SINGLE_CHANNEL = 0,
  MAD_MODE_DUAL_CHANNEL = 1,
  MAD_MODE_JOINT_STEREO = 2,
  MAD_MODE_STEREO = 3
}
 
enum  mad_units {
  MAD_UNITS_HOURS = -2,
  MAD_UNITS_MINUTES = -1,
  MAD_UNITS_SECONDS = 0,
  MAD_UNITS_DECISECONDS = 10,
  MAD_UNITS_CENTISECONDS = 100,
  MAD_UNITS_MILLISECONDS = 1000,
  MAD_UNITS_8000_HZ = 8000,
  MAD_UNITS_11025_HZ = 11025,
  MAD_UNITS_12000_HZ = 12000,
  MAD_UNITS_16000_HZ = 16000,
  MAD_UNITS_22050_HZ = 22050,
  MAD_UNITS_24000_HZ = 24000,
  MAD_UNITS_32000_HZ = 32000,
  MAD_UNITS_44100_HZ = 44100,
  MAD_UNITS_48000_HZ = 48000,
  MAD_UNITS_24_FPS = 24,
  MAD_UNITS_25_FPS = 25,
  MAD_UNITS_30_FPS = 30,
  MAD_UNITS_48_FPS = 48,
  MAD_UNITS_50_FPS = 50,
  MAD_UNITS_60_FPS = 60,
  MAD_UNITS_75_FPS = 75,
  MAD_UNITS_23_976_FPS = -24,
  MAD_UNITS_24_975_FPS = -25,
  MAD_UNITS_29_97_FPS = -30,
  MAD_UNITS_47_952_FPS = -48,
  MAD_UNITS_49_95_FPS = -50,
  MAD_UNITS_59_94_FPS = -60
}
 

Functions

unsigned short mad_bit_crc (struct mad_bitptr, unsigned int, unsigned short)
 
void mad_bit_init (struct mad_bitptr *, unsigned char const *)
 
unsigned int mad_bit_length (struct mad_bitptr const *, struct mad_bitptr const *)
 
unsigned char const * mad_bit_nextbyte (struct mad_bitptr const *)
 
unsigned long mad_bit_read (struct mad_bitptr *, unsigned int)
 
void mad_bit_skip (struct mad_bitptr *, unsigned int)
 
int mad_decoder_finish (struct mad_decoder *)
 
void mad_decoder_init (struct mad_decoder *, void *, enum mad_flow(*)(void *, struct mad_stream *), enum mad_flow(*)(void *, struct mad_header const *), enum mad_flow(*)(void *, struct mad_stream const *, struct mad_frame *), enum mad_flow(*)(void *, struct mad_header const *, struct mad_pcm *), enum mad_flow(*)(void *, struct mad_stream *, struct mad_frame *), enum mad_flow(*)(void *, void *, unsigned int *))
 
int mad_decoder_message (struct mad_decoder *, void *, unsigned int *)
 
int mad_decoder_run (struct mad_decoder *, enum mad_decoder_mode)
 
mad_fixed_t mad_f_abs (mad_fixed_t)
 
mad_fixed_t mad_f_div (mad_fixed_t, mad_fixed_t)
 
static mad_fixed_t mad_f_mul (mad_fixed_t x, mad_fixed_t y)
 
int mad_frame_decode (struct mad_frame *, struct mad_stream *)
 
void mad_frame_finish (struct mad_frame *)
 
void mad_frame_init (struct mad_frame *)
 
void mad_frame_mute (struct mad_frame *)
 
int mad_header_decode (struct mad_header *, struct mad_stream *)
 
void mad_header_init (struct mad_header *)
 
void mad_stream_buffer (struct mad_stream *, unsigned char const *, unsigned long)
 
char const * mad_stream_errorstr (struct mad_stream const *)
 
void mad_stream_finish (struct mad_stream *)
 
void mad_stream_init (struct mad_stream *)
 
void mad_stream_skip (struct mad_stream *, unsigned long)
 
int mad_stream_sync (struct mad_stream *)
 
void mad_synth_frame (struct mad_synth *, struct mad_frame const *)
 
void mad_synth_init (struct mad_synth *)
 
void mad_synth_mute (struct mad_synth *)
 
mad_timer_t mad_timer_abs (mad_timer_t)
 
void mad_timer_add (mad_timer_t *, mad_timer_t)
 
int mad_timer_compare (mad_timer_t, mad_timer_t)
 
signed long mad_timer_count (mad_timer_t, enum mad_units)
 
unsigned long mad_timer_fraction (mad_timer_t, unsigned long)
 
void mad_timer_multiply (mad_timer_t *, signed long)
 
void mad_timer_negate (mad_timer_t *)
 
void mad_timer_set (mad_timer_t *, unsigned long, unsigned long, unsigned long)
 
void mad_timer_string (mad_timer_t, char *, char const *, enum mad_units, enum mad_units, unsigned long)
 

Variables

char const mad_author []
 
char const mad_build []
 
char const mad_copyright []
 
mad_timer_t const mad_timer_zero
 
char const mad_version []
 

#define FPM_AVR32
#define LIBMAD_BIT_H
#define LIBMAD_DECODER_H
#define LIBMAD_FIXED_H
#define LIBMAD_FRAME_H
#define LIBMAD_STREAM_H
#define LIBMAD_SYNTH_H
#define LIBMAD_TIMER_H
#define LIBMAD_VERSION_H
#define MAD_AUTHOR   "Underbit Technologies, Inc."
#define mad_bit_bitsleft (   bitptr)    (CHAR_BIT - (bitptr)->bit)
#define mad_bit_finish (   bitptr)    /* nothing */
#define MAD_BUFFER_GUARD   8

Referenced by input().

#define MAD_BUFFER_MDLEN   (511 + 2048 + MAD_BUFFER_GUARD)
#define mad_decoder_options (   decoder,
  opts 
)    ((void) ((decoder)->options = (opts)))
#define MAD_EMAIL   "info@underbit.com"
#define MAD_F (   x)    ((mad_fixed_t) (x##L))
#define mad_f_add (   x,
 
)    ((x) + (y))
#define MAD_F_FRACBITS   28
#define mad_f_fracpart (   x)    ((x) & ((1L << MAD_F_FRACBITS) - 1))
#define mad_f_fromint (   x)    ((x) << MAD_F_FRACBITS)
#define mad_f_intpart (   x)    ((x) >> MAD_F_FRACBITS)
#define MAD_F_MAX   ((mad_fixed_t) +0x7fffffffL)
#define MAD_F_MIN   ((mad_fixed_t) -0x80000000L)
#define MAD_F_ML0 (   hi,
  lo,
  x,
 
)    MAD_F_MLX((hi), (lo), (x), (y))
#define MAD_F_MLA (   hi,
  lo,
  x,
 
)
Value:
{ register DWunion __res; \
__res.s.high = hi; \
__res.s.low = lo; \
__res.ll += (long long)x * (long long)y; \
/* asm ("macs.d\t%0, %1, %2" : "+r" (__res.ll) : "r" (x), "r" (y));*/ \
hi = __res.s.high; \
lo = __res.s.low; }
int high
Definition: mad.h:349
struct DWstruct s
Definition: mad.h:352
int low
Definition: mad.h:349
Definition: mad.h:351
#define MAD_F_MLN (   hi,
  lo 
)
Value:
asm ("neg %0\n" \
"acr %1\n" \
"neg %1" \
: "+r" (lo), "+r" (hi) \
:: "cc")
#define MAD_F_MLX (   hi,
  lo,
  x,
 
)
Value:
{ register DWunion __res; \
__res.ll = (long long)x * (long long)y; \
/* asm ("muls.d\t%0, %1, %2" : "=r" (__res.ll) : "r" (x), "r" (y));*/ \
hi = __res.s.high; \
lo = __res.s.low; }
long long ll
Definition: mad.h:353
int high
Definition: mad.h:349
struct DWstruct s
Definition: mad.h:352
int low
Definition: mad.h:349
Definition: mad.h:351

Referenced by mad_f_mul().

#define MAD_F_MLZ (   hi,
  lo 
)    mad_f_scale64((hi), (lo))
#define MAD_F_ONE   MAD_F(0x10000000)
#define mad_f_scale64 (   hi,
  lo 
)
Value:
(((hi) << (32 - MAD_F_SCALEBITS)) | \
((lo) >> MAD_F_SCALEBITS)))
signed int mad_fixed_t
Definition: mad.h:71
#define MAD_F_SCALEBITS
Definition: mad.h:549

Referenced by mad_f_mul().

#define MAD_F_SCALEBITS   MAD_F_FRACBITS
#define MAD_F_SCALEBITS   MAD_F_FRACBITS
#define mad_f_sub (   x,
 
)    ((x) - (y))
#define mad_f_todouble (   x)
Value:
((double) \
((x) / (double) (1L << MAD_F_FRACBITS)))
#define MAD_F_FRACBITS
Definition: mad.h:117
#define mad_f_tofixed (   x)
Value:
((x) * (double) (1L << MAD_F_FRACBITS) + 0.5))
signed int mad_fixed_t
Definition: mad.h:71
#define MAD_F_FRACBITS
Definition: mad.h:117
#define mad_fixed64_t   signed long long
#define mad_header_finish (   header)    /* nothing */
#define MAD_NCHANNELS (   header)    ((header)->mode ? 2 : 1)
#define MAD_NSBSAMPLES (   header)
Value:
((header)->layer == MAD_LAYER_I ? 12 : \
(((header)->layer == MAD_LAYER_III && \
((header)->flags & MAD_FLAG_LSF_EXT)) ? 18 : 36))
Definition: mad.h:820
Definition: mad.h:886
static enum mad_flow header(void *data, struct mad_header const *header)
Definition: mp3_libmad_player.c:357
Definition: mad.h:822
#define MAD_PUBLISHYEAR   "2000-2004"
#define MAD_RECOVERABLE (   error)    ((error) & 0xff00)
#define mad_stream_options (   stream,
  opts 
)    ((void) ((stream)->options = (opts)))
#define mad_synth_finish (   synth)    /* nothing */
#define mad_timer_reset (   timer)    ((void) (*(timer) = mad_timer_zero))
#define MAD_TIMER_RESOLUTION   352800000UL

Referenced by header().

#define mad_timer_sign (   timer)    mad_timer_compare((timer), mad_timer_zero)
#define MAD_VERSION
Value:
#define MAD_VERSION_STRING(num)
Definition: mad.h:47
#define MAD_VERSION_PATCH
Definition: mad.h:43
#define MAD_VERSION_EXTRA
Definition: mad.h:44
#define MAD_VERSION_MAJOR
Definition: mad.h:41
#define MAD_VERSION_MINOR
Definition: mad.h:42
#define MAD_VERSION_EXTRA   " (beta)"
#define MAD_VERSION_MAJOR   0
#define MAD_VERSION_MINOR   15
#define MAD_VERSION_PATCH   1
#define MAD_VERSION_STRING (   num)    MAD_VERSION_STRINGIZE(num)
#define MAD_VERSION_STRINGIZE (   str)    #str
#define SIZEOF_INT   4
#define SIZEOF_LONG   4
#define SIZEOF_LONG_LONG   8

typedef signed short mad_coeff_t
typedef signed int mad_fixed64hi_t
typedef unsigned int mad_fixed64lo_t
typedef signed int mad_fixed_t

anonymous enum
Enumerator
MAD_OPTION_IGNORECRC 
MAD_OPTION_HALFSAMPLERATE 
anonymous enum
Enumerator
MAD_FLAG_NPRIVATE_III 
MAD_FLAG_INCOMPLETE 
MAD_FLAG_PROTECTION 
MAD_FLAG_COPYRIGHT 
MAD_FLAG_ORIGINAL 
MAD_FLAG_PADDING 
MAD_FLAG_I_STEREO 
MAD_FLAG_MS_STEREO 
MAD_FLAG_FREEFORMAT 
MAD_FLAG_LSF_EXT 
MAD_FLAG_MC_EXT 
MAD_FLAG_MPEG_2_5_EXT 
anonymous enum
Enumerator
MAD_PRIVATE_HEADER 
MAD_PRIVATE_III 
anonymous enum
Enumerator
MAD_PCM_CHANNEL_SINGLE 
anonymous enum
Enumerator
MAD_PCM_CHANNEL_DUAL_1 
MAD_PCM_CHANNEL_DUAL_2 
anonymous enum
Enumerator
MAD_PCM_CHANNEL_STEREO_LEFT 
MAD_PCM_CHANNEL_STEREO_RIGHT 
Enumerator
MAD_DECODER_MODE_SYNC 
MAD_DECODER_MODE_ASYNC 
Enumerator
MAD_EMPHASIS_NONE 
MAD_EMPHASIS_50_15_US 
MAD_EMPHASIS_CCITT_J_17 
MAD_EMPHASIS_RESERVED 
enum mad_error
Enumerator
MAD_ERROR_NONE 
MAD_ERROR_BUFLEN 
MAD_ERROR_BUFPTR 
MAD_ERROR_NOMEM 
MAD_ERROR_LOSTSYNC 
MAD_ERROR_BADLAYER 
MAD_ERROR_BADBITRATE 
MAD_ERROR_BADSAMPLERATE 
MAD_ERROR_BADEMPHASIS 
MAD_ERROR_BADCRC 
MAD_ERROR_BADBITALLOC 
MAD_ERROR_BADSCALEFACTOR 
MAD_ERROR_BADMODE 
MAD_ERROR_BADFRAMELEN 
MAD_ERROR_BADBIGVALUES 
MAD_ERROR_BADBLOCKTYPE 
MAD_ERROR_BADSCFSI 
MAD_ERROR_BADDATAPTR 
MAD_ERROR_BADPART3LEN 
MAD_ERROR_BADHUFFTABLE 
MAD_ERROR_BADHUFFDATA 
MAD_ERROR_BADSTEREO 
enum mad_flow
Enumerator
MAD_FLOW_CONTINUE 
MAD_FLOW_STOP 
MAD_FLOW_BREAK 
MAD_FLOW_IGNORE 
enum mad_layer
Enumerator
MAD_LAYER_I 
MAD_LAYER_II 
MAD_LAYER_III 
enum mad_mode
Enumerator
MAD_MODE_SINGLE_CHANNEL 
MAD_MODE_DUAL_CHANNEL 
MAD_MODE_JOINT_STEREO 
MAD_MODE_STEREO 
enum mad_units
Enumerator
MAD_UNITS_HOURS 
MAD_UNITS_MINUTES 
MAD_UNITS_SECONDS 
MAD_UNITS_DECISECONDS 
MAD_UNITS_CENTISECONDS 
MAD_UNITS_MILLISECONDS 
MAD_UNITS_8000_HZ 
MAD_UNITS_11025_HZ 
MAD_UNITS_12000_HZ 
MAD_UNITS_16000_HZ 
MAD_UNITS_22050_HZ 
MAD_UNITS_24000_HZ 
MAD_UNITS_32000_HZ 
MAD_UNITS_44100_HZ 
MAD_UNITS_48000_HZ 
MAD_UNITS_24_FPS 
MAD_UNITS_25_FPS 
MAD_UNITS_30_FPS 
MAD_UNITS_48_FPS 
MAD_UNITS_50_FPS 
MAD_UNITS_60_FPS 
MAD_UNITS_75_FPS 
MAD_UNITS_23_976_FPS 
MAD_UNITS_24_975_FPS 
MAD_UNITS_29_97_FPS 
MAD_UNITS_47_952_FPS 
MAD_UNITS_49_95_FPS 
MAD_UNITS_59_94_FPS 

unsigned short mad_bit_crc ( struct mad_bitptr  ,
unsigned  int,
unsigned  short 
)
void mad_bit_init ( struct mad_bitptr ,
unsigned char const *   
)
unsigned int mad_bit_length ( struct mad_bitptr const *  ,
struct mad_bitptr const *   
)
unsigned char const* mad_bit_nextbyte ( struct mad_bitptr const *  )
unsigned long mad_bit_read ( struct mad_bitptr ,
unsigned  int 
)
void mad_bit_skip ( struct mad_bitptr ,
unsigned  int 
)
int mad_decoder_finish ( struct mad_decoder )

Referenced by play_mp3().

void mad_decoder_init ( struct mad_decoder ,
void *  ,
enum   mad_flow*)(void *, struct mad_stream *,
enum   mad_flow*)(void *, struct mad_header const *,
enum   mad_flow*)(void *, struct mad_stream const *, struct mad_frame *,
enum   mad_flow*)(void *, struct mad_header const *, struct mad_pcm *,
enum   mad_flow*)(void *, struct mad_stream *, struct mad_frame *,
enum   mad_flow*)(void *, void *, unsigned int * 
)

Referenced by play_mp3().

int mad_decoder_message ( struct mad_decoder ,
void *  ,
unsigned int *   
)
int mad_decoder_run ( struct mad_decoder ,
enum  mad_decoder_mode 
)

Referenced by play_mp3().

mad_fixed_t mad_f_abs ( mad_fixed_t  )
mad_fixed_t mad_f_div ( mad_fixed_t  ,
mad_fixed_t   
)
static mad_fixed_t mad_f_mul ( mad_fixed_t  x,
mad_fixed_t  y 
)
inlinestatic

References MAD_F_MLX, and mad_f_scale64.

int mad_frame_decode ( struct mad_frame ,
struct mad_stream  
)
void mad_frame_finish ( struct mad_frame )
void mad_frame_init ( struct mad_frame )
void mad_frame_mute ( struct mad_frame )
int mad_header_decode ( struct mad_header ,
struct mad_stream  
)
void mad_header_init ( struct mad_header )
void mad_stream_buffer ( struct mad_stream ,
unsigned char const *  ,
unsigned  long 
)

Referenced by input().

char const* mad_stream_errorstr ( struct mad_stream const *  )
void mad_stream_finish ( struct mad_stream )
void mad_stream_init ( struct mad_stream )
void mad_stream_skip ( struct mad_stream ,
unsigned  long 
)
int mad_stream_sync ( struct mad_stream )
void mad_synth_frame ( struct mad_synth ,
struct mad_frame const *   
)
void mad_synth_init ( struct mad_synth )
void mad_synth_mute ( struct mad_synth )
mad_timer_t mad_timer_abs ( mad_timer_t  )
void mad_timer_add ( mad_timer_t ,
mad_timer_t   
)

Referenced by output().

int mad_timer_compare ( mad_timer_t  ,
mad_timer_t   
)

Referenced by output().

signed long mad_timer_count ( mad_timer_t  ,
enum  mad_units 
)
unsigned long mad_timer_fraction ( mad_timer_t  ,
unsigned  long 
)
void mad_timer_multiply ( mad_timer_t ,
signed  long 
)
void mad_timer_negate ( mad_timer_t )
void mad_timer_set ( mad_timer_t ,
unsigned  long,
unsigned  long,
unsigned  long 
)
void mad_timer_string ( mad_timer_t  ,
char *  ,
char const *  ,
enum  mad_units,
enum  mad_units,
unsigned  long 
)

char const mad_author[]
char const mad_build[]
char const mad_copyright[]
mad_timer_t const mad_timer_zero

Referenced by output(), and play_mp3().

char const mad_version[]