quantize.c File Reference

#include <config.h>
#include "lame.h"
#include "machine.h"
#include "encoder.h"
#include "util.h"
#include "quantize_pvt.h"
#include "lame_global_flags.h"
#include "reservoir.h"
#include "bitstream.h"
#include "vbrquantize.h"
#include "quantize.h"

Include dependency graph for quantize.c:

Go to the source code of this file.

Enumerations

enum  binsearchDirection_t { BINSEARCH_NONE, BINSEARCH_UP, BINSEARCH_DOWN }

Functions

static void ms_convert (III_side_info_t *l3_side, int gr)
static void init_xrpow_core_c (gr_info *const cod_info, FLOAT xrpow[576], int upper, FLOAT *sum)
void init_xrpow_core_init (lame_internal_flags *const gfc)
static int init_xrpow (lame_internal_flags *gfc, gr_info *const cod_info, FLOAT xrpow[576])
FLOAT athAdjust (FLOAT a, FLOAT x, FLOAT athFloor)
 Robert Hegemann 2001-04-27: this adjusts the ATH, keeping the original noise floor affects the higher frequencies more than the lower ones.
static void psfb21_analogsilence (lame_internal_flags const *gfc, gr_info *const cod_info)
static void init_outer_loop (lame_internal_flags const *gfc, gr_info *const cod_info)
int bin_search_StepSize (lame_internal_flags *const gfc, gr_info *const cod_info, int desired_rate, const int ch, const FLOAT xrpow[576])
static int floatcompare (const void *v1, const void *v2)
void trancate_smallspectrums (lame_internal_flags const *gfc, gr_info *const gi, const FLOAT *const l3_xmin, FLOAT *const work)
static int loop_break (const gr_info *const cod_info)
static double penalties (double noise)
static double get_klemm_noise (const FLOAT *distort, const gr_info *const gi)
static int quant_compare (const int quant_comp, const calc_noise_result *const best, calc_noise_result *const calc, const gr_info *const gi, const FLOAT *distort)
static void amp_scalefac_bands (lame_global_flags const *gfp, gr_info *const cod_info, FLOAT const *distort, FLOAT xrpow[576], int bRefine)
static void inc_scalefac_scale (gr_info *const cod_info, FLOAT xrpow[576])
static int inc_subblock_gain (const lame_internal_flags *const gfc, gr_info *const cod_info, FLOAT xrpow[576])
static int balance_noise (lame_global_flags const *const gfp, gr_info *const cod_info, FLOAT const *distort, FLOAT xrpow[576], int bRefine)
static int outer_loop (lame_global_flags const *gfp, gr_info *const cod_info, const FLOAT *const l3_xmin, FLOAT xrpow[576], const int ch, const int targ_bits)
static void iteration_finish_one (lame_internal_flags *gfc, int gr, int ch)
static void VBR_encode_granule (lame_global_flags const *gfp, gr_info *const cod_info, const FLOAT *const l3_xmin, FLOAT xrpow[576], const int ch, int min_bits, int max_bits)
static void get_framebits (lame_global_flags const *gfp, int *const analog_mean_bits, int *const min_mean_bits, int frameBits[15])
static int calc_min_bits (lame_global_flags const *gfp, const gr_info *const cod_info, const int pe, const FLOAT ms_ener_ratio, const int bands, const int mch_bits, const int analog_mean_bits, const int min_mean_bits, const int analog_silence, const int ch)
static int VBR_old_prepare (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2], FLOAT l3_xmin[2][2][SFBMAX], int frameBits[16], int *analog_mean_bits, int *min_mean_bits, int min_bits[2][2], int max_bits[2][2], int bands[2][2])
static void bitpressure_strategy (lame_internal_flags const *gfc, FLOAT l3_xmin[2][2][SFBMAX], int min_bits[2][2], int max_bits[2][2])
void VBR_old_iteration_loop (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2])
static int VBR_new_prepare (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2], FLOAT l3_xmin[2][2][SFBMAX], int frameBits[16], int max_bits[2][2])
void VBR_new_iteration_loop (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2])
static void calc_target_bits (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], int targ_bits[2][2], int *analog_silence_bits, int *max_frame_bits)
void ABR_iteration_loop (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2])
void CBR_iteration_loop (lame_global_flags const *gfp, FLOAT const pe[2][2], FLOAT const ms_ener_ratio[2], III_psy_ratio const ratio[2][2])


Enumeration Type Documentation

enum binsearchDirection_t

Enumerator:
BINSEARCH_NONE 
BINSEARCH_UP 
BINSEARCH_DOWN 

Definition at line 344 of file quantize.c.


Function Documentation

void ABR_iteration_loop ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2] 
)

Definition at line 1925 of file quantize.c.

References gr_info::block_type, calc_target_bits(), calc_xmin(), lame_internal_flags::channels_out, gfc, gfp, init_outer_loop(), init_xrpow(), lame_global_struct::internal_flags, iteration_finish_one(), lame_internal_flags::l3_side, PSY_t::mask_adjust, PSY_t::mask_adjust_short, lame_internal_flags::masking_lower, lame_internal_flags::mode_ext, lame_internal_flags::mode_gr, MPG_MD_MS_LR, ms_convert(), outer_loop(), lame_internal_flags::PSY, SFBMAX, SHORT_TYPE, and III_side_info_t::tt.

Referenced by lame_init_params().

Here is the call graph for this function:

static void amp_scalefac_bands ( lame_global_flags const *  gfp,
gr_info *const  cod_info,
FLOAT const *  distort,
FLOAT  xrpow[576],
int  bRefine 
) [static]

Definition at line 702 of file quantize.c.

References gfc, gfp, lame_global_struct::internal_flags, lame_internal_flags::noise_shaping_amp, lame_internal_flags::pseudohalf, gr_info::scalefac, gr_info::scalefac_scale, gr_info::sfbmax, lame_internal_flags::substep_shaping, gr_info::width, and gr_info::xrpow_max.

Referenced by balance_noise().

FLOAT athAdjust ( FLOAT  a,
FLOAT  x,
FLOAT  athFloor 
)

Robert Hegemann 2001-04-27: this adjusts the ATH, keeping the original noise floor affects the higher frequencies more than the lower ones.

Definition at line 576 of file quantize_pvt.c.

Referenced by calc_xmin(), and psfb21_analogsilence().

static int balance_noise ( lame_global_flags const *const  gfp,
gr_info *const  cod_info,
FLOAT const *  distort,
FLOAT  xrpow[576],
int  bRefine 
) [inline, static]

Definition at line 922 of file quantize.c.

References amp_scalefac_bands(), gr_info::block_type, gfc, gfp, inc_scalefac_scale(), inc_subblock_gain(), lame_global_struct::internal_flags, loop_break(), lame_internal_flags::mode_gr, lame_internal_flags::noise_shaping, lame_internal_flags::pseudohalf, scale_bitcount(), scale_bitcount_lsf(), gr_info::scalefac_scale, SHORT_TYPE, and lame_internal_flags::subblock_gain.

Referenced by outer_loop().

Here is the call graph for this function:

int bin_search_StepSize ( lame_internal_flags *const  gfc,
gr_info *const  cod_info,
int  desired_rate,
const int  ch,
const FLOAT  xrpow[576] 
)

Definition at line 351 of file quantize.c.

References BINSEARCH_DOWN, BINSEARCH_NONE, BINSEARCH_UP, count_bits(), lame_internal_flags::CurrentStep, gfc, gr_info::global_gain, lame_internal_flags::OldValue, gr_info::part2_3_length, and gr_info::part2_length.

Referenced by outer_loop().

Here is the call graph for this function:

static void bitpressure_strategy ( lame_internal_flags const *  gfc,
FLOAT  l3_xmin[2][2][SFBMAX],
int  min_bits[2][2],
int  max_bits[2][2] 
) [static]

Definition at line 1516 of file quantize.c.

References lame_internal_flags::channels_out, gfc, lame_internal_flags::l3_side, Max, lame_internal_flags::mode_gr, SBMAX_l, SBMAX_s, SHORT_TYPE, and III_side_info_t::tt.

Referenced by VBR_old_iteration_loop().

static int calc_min_bits ( lame_global_flags const *  gfp,
const gr_info *const   cod_info,
const int  pe,
const FLOAT  ms_ener_ratio,
const int  bands,
const int  mch_bits,
const int  analog_mean_bits,
const int  min_mean_bits,
const int  analog_silence,
const int  ch 
) [inline, static]

Definition at line 1364 of file quantize.c.

References gr_info::block_type, gfc, gfp, lame_global_struct::internal_flags, Max, Min, lame_internal_flags::mode_ext, MPG_MD_MS_LR, lame_global_struct::out_samplerate, PSY_NSPSYTUNE, lame_global_struct::psymodel, gr_info::sfbmax, SHORT_TYPE, and lame_global_struct::VBR_hard_min.

Referenced by VBR_old_prepare().

static void calc_target_bits ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
int  targ_bits[2][2],
int *  analog_silence_bits,
int *  max_frame_bits 
) [static]

Definition at line 1795 of file quantize.c.

References lame_internal_flags::bitrate_index, gr_info::block_type, lame_internal_flags::channels_out, lame_global_struct::compression_ratio, lame_global_struct::framesize, getframebits(), gfc, gfp, lame_global_struct::internal_flags, lame_internal_flags::l3_side, MAX_BITS_PER_CHANNEL, MAX_BITS_PER_GRANULE, lame_internal_flags::mode_gr, lame_global_struct::out_samplerate, ResvFrameBegin(), SHORT_TYPE, lame_internal_flags::sideinfo_len, lame_internal_flags::substep_shaping, III_side_info_t::tt, lame_internal_flags::VBR_max_bitrate, and lame_global_struct::VBR_mean_bitrate_kbps.

Referenced by ABR_iteration_loop().

Here is the call graph for this function:

void CBR_iteration_loop ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2] 
)

Definition at line 2011 of file quantize.c.

References gr_info::block_type, calc_xmin(), lame_internal_flags::channels_out, gfc, gfp, init_outer_loop(), init_xrpow(), lame_global_struct::internal_flags, iteration_finish_one(), lame_internal_flags::l3_side, PSY_t::mask_adjust, PSY_t::mask_adjust_short, lame_internal_flags::masking_lower, MAX_BITS_PER_CHANNEL, lame_internal_flags::mode_ext, lame_internal_flags::mode_gr, MPG_MD_MS_LR, ms_convert(), on_pe(), outer_loop(), gr_info::part2_3_length, lame_internal_flags::PSY, reduce_side(), ResvFrameBegin(), SFBMAX, SHORT_TYPE, and III_side_info_t::tt.

Referenced by lame_init_params().

Here is the call graph for this function:

static int floatcompare ( const void *  v1,
const void *  v2 
) [static]

Definition at line 425 of file quantize.c.

Referenced by trancate_smallspectrums().

static void get_framebits ( lame_global_flags const *  gfp,
int *const  analog_mean_bits,
int *const  min_mean_bits,
int  frameBits[15] 
) [static]

Definition at line 1327 of file quantize.c.

References lame_internal_flags::bitrate_index, lame_internal_flags::channels_out, getframebits(), gfc, gfp, i, lame_global_struct::internal_flags, lame_internal_flags::mode_gr, ResvFrameBegin(), lame_internal_flags::sideinfo_len, lame_internal_flags::VBR_max_bitrate, and lame_internal_flags::VBR_min_bitrate.

Referenced by VBR_new_prepare(), and VBR_old_prepare().

Here is the call graph for this function:

static double get_klemm_noise ( const FLOAT distort,
const gr_info *const   gi 
) [static]

Definition at line 556 of file quantize.c.

References Max, penalties(), and gr_info::psymax.

Referenced by quant_compare().

Here is the call graph for this function:

static void inc_scalefac_scale ( gr_info *const  cod_info,
FLOAT  xrpow[576] 
) [static]

Definition at line 790 of file quantize.c.

References gr_info::preflag, pretab, gr_info::scalefac, gr_info::scalefac_scale, gr_info::sfbmax, gr_info::width, and gr_info::xrpow_max.

Referenced by balance_noise().

static int inc_subblock_gain ( const lame_internal_flags *const  gfc,
gr_info *const  cod_info,
FLOAT  xrpow[576] 
) [static]

Definition at line 829 of file quantize.c.

References gfc, IPOW20, scalefac_struct::l, gr_info::scalefac, lame_internal_flags::scalefac_band, gr_info::scalefac_scale, gr_info::sfb_lmax, gr_info::sfbmax, gr_info::subblock_gain, gr_info::width, window, and gr_info::xrpow_max.

Referenced by balance_noise().

static void init_outer_loop ( lame_internal_flags const *  gfc,
gr_info *const  cod_info 
) [static]

Definition at line 228 of file quantize.c.

References gr_info::big_values, gr_info::block_type, gr_info::count1, gr_info::count1table_select, gfc, gr_info::global_gain, scalefac_struct::l, gr_info::mixed_block_flag, lame_internal_flags::mode_gr, gr_info::part2_3_length, gr_info::part2_length, gr_info::preflag, gr_info::psy_lmax, gr_info::psymax, gr_info::region0_count, gr_info::region1_count, SBMAX_l, SBPSY_l, SBPSY_s, lame_internal_flags::scalefac_band, gr_info::scalefac_compress, gr_info::scalefac_scale, lame_internal_flags::sfb21_extra, gr_info::sfb_lmax, gr_info::sfb_smin, gr_info::sfbdivide, gr_info::sfbmax, SHORT_TYPE, gr_info::subblock_gain, gr_info::table_select, gr_info::width, and gr_info::window.

Referenced by ABR_iteration_loop(), CBR_iteration_loop(), VBR_new_prepare(), and VBR_old_prepare().

static int init_xrpow ( lame_internal_flags gfc,
gr_info *const  cod_info,
FLOAT  xrpow[576] 
) [static]

Definition at line 108 of file quantize.c.

References gfc, i, lame_internal_flags::init_xrpow_core, gr_info::l3_enc, gr_info::max_nonzero_coeff, lame_internal_flags::pseudohalf, gr_info::psymax, lame_internal_flags::substep_shaping, and gr_info::xrpow_max.

Referenced by ABR_iteration_loop(), CBR_iteration_loop(), VBR_new_iteration_loop(), and VBR_old_iteration_loop().

static void init_xrpow_core_c ( gr_info *const  cod_info,
FLOAT  xrpow[576],
int  upper,
FLOAT sum 
) [static]

Definition at line 75 of file quantize.c.

References i, gr_info::xr, and gr_info::xrpow_max.

Referenced by init_xrpow_core_init().

void init_xrpow_core_init ( lame_internal_flags *const  gfc  ) 

Definition at line 95 of file quantize.c.

References lame_internal_flags::CPU_features, gfc, lame_internal_flags::init_xrpow_core, init_xrpow_core_c(), and lame_internal_flags::SSE.

Referenced by iteration_init().

Here is the call graph for this function:

static void iteration_finish_one ( lame_internal_flags gfc,
int  gr,
int  ch 
) [static]

Definition at line 1201 of file quantize.c.

References best_huffman_divide(), best_scalefac_store(), gfc, lame_internal_flags::l3_side, ResvAdjust(), III_side_info_t::tt, and lame_internal_flags::use_best_huffman.

Referenced by ABR_iteration_loop(), CBR_iteration_loop(), and VBR_old_iteration_loop().

Here is the call graph for this function:

static int loop_break ( const gr_info *const   cod_info  )  [inline, static]

Definition at line 522 of file quantize.c.

References gr_info::scalefac, gr_info::sfbmax, gr_info::subblock_gain, and gr_info::window.

Referenced by balance_noise().

static void ms_convert ( III_side_info_t l3_side,
int  gr 
) [static]

Definition at line 50 of file quantize.c.

References i, SQRT2, III_side_info_t::tt, and gr_info::xr.

Referenced by ABR_iteration_loop(), CBR_iteration_loop(), VBR_new_prepare(), and VBR_old_prepare().

static int outer_loop ( lame_global_flags const *  gfp,
gr_info *const  cod_info,
const FLOAT *const  l3_xmin,
FLOAT  xrpow[576],
const int  ch,
const int  targ_bits 
) [static]

Definition at line 998 of file quantize.c.

References balance_noise(), bin_search_StepSize(), calc_noise_result_t::bits, gr_info::block_type, calc_noise(), count_bits(), lame_internal_flags::full_outer_loop, gfc, gfp, gr_info::global_gain, lame_global_struct::internal_flags, memcpy, lame_internal_flags::noise_shaping, lame_internal_flags::noise_shaping_amp, calc_noise_result_t::over_count, gr_info::part2_3_length, gr_info::part2_length, lame_global_struct::quant_comp, lame_global_struct::quant_comp_short, quant_compare(), gr_info::scalefac_scale, lame_internal_flags::sfb21_extra, gr_info::sfbmax, SFBMAX, SHORT_TYPE, lame_internal_flags::substep_shaping, trancate_smallspectrums(), lame_global_struct::VBR, vbr_mtrh, and vbr_rh.

Referenced by ABR_iteration_loop(), CBR_iteration_loop(), and VBR_encode_granule().

Here is the call graph for this function:

static double penalties ( double  noise  )  [static]

Definition at line 550 of file quantize.c.

References FAST_LOG10.

Referenced by get_klemm_noise().

static void psfb21_analogsilence ( lame_internal_flags const *  gfc,
gr_info *const  cod_info 
) [static]

Definition at line 161 of file quantize.c.

References ATH_t::adjust, lame_internal_flags::ATH, athAdjust(), gr_info::block_type, ATH_t::floor, gfc, nsPsy_t::longfact, lame_internal_flags::nsPsy, ATH_t::psfb12, scalefac_struct::psfb12, PSFB12, ATH_t::psfb21, scalefac_struct::psfb21, PSFB21, scalefac_struct::s, lame_internal_flags::scalefac_band, SHORT_TYPE, nsPsy_t::shortfact, and gr_info::xr.

Here is the call graph for this function:

static int quant_compare ( const int  quant_comp,
const calc_noise_result *const  best,
calc_noise_result *const  calc,
const gr_info *const   gi,
const FLOAT distort 
) [inline, static]

Definition at line 567 of file quantize.c.

References calc_noise_result_t::bits, get_klemm_noise(), calc_noise_result_t::max_noise, calc_noise_result_t::over_count, calc_noise_result_t::over_noise, calc_noise_result_t::over_SSD, and calc_noise_result_t::tot_noise.

Referenced by outer_loop().

Here is the call graph for this function:

void trancate_smallspectrums ( lame_internal_flags const *  gfc,
gr_info *const  gi,
const FLOAT *const  l3_xmin,
FLOAT *const  work 
)

Definition at line 436 of file quantize.c.

References gr_info::block_type, calc_noise(), floatcompare(), gfc, gr_info::l3_enc, SFBMAX, SHORT_TYPE, lame_internal_flags::substep_shaping, gr_info::width, and gr_info::xr.

Referenced by outer_loop(), reduce_bit_usage(), and VBR_old_iteration_loop().

Here is the call graph for this function:

static void VBR_encode_granule ( lame_global_flags const *  gfp,
gr_info *const  cod_info,
const FLOAT *const  l3_xmin,
FLOAT  xrpow[576],
const int  ch,
int  min_bits,
int  max_bits 
) [static]

Definition at line 1231 of file quantize.c.

References gfc, gfp, lame_global_struct::internal_flags, gr_info::l3_enc, MAX_BITS_PER_CHANNEL, memcpy, outer_loop(), gr_info::part2_3_length, and lame_internal_flags::sfb21_extra.

Referenced by VBR_old_iteration_loop().

Here is the call graph for this function:

void VBR_new_iteration_loop ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2] 
)

Definition at line 1712 of file quantize.c.

References lame_internal_flags::bitrate_index, lame_internal_flags::channels_out, gfc, gfp, init_xrpow(), lame_global_struct::internal_flags, lame_internal_flags::l3_side, lame_internal_flags::mode_gr, ResvAdjust(), ResvFrameBegin(), ResvFrameEnd(), SFBMAX, III_side_info_t::tt, VBR_encode_frame(), lame_global_struct::VBR_hard_min, lame_internal_flags::VBR_max_bitrate, lame_internal_flags::VBR_min_bitrate, and VBR_new_prepare().

Referenced by lame_init_params().

Here is the call graph for this function:

static int VBR_new_prepare ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2],
FLOAT  l3_xmin[2][2][SFBMAX],
int  frameBits[16],
int  max_bits[2][2] 
) [static]

Definition at line 1646 of file quantize.c.

References lame_internal_flags::bitrate_index, calc_xmin(), lame_internal_flags::channels_out, get_framebits(), gfc, gfp, init_outer_loop(), lame_global_struct::internal_flags, lame_internal_flags::l3_side, PSY_t::mask_adjust, PSY_t::mask_adjust_short, lame_internal_flags::masking_lower, lame_internal_flags::mode_ext, lame_internal_flags::mode_gr, MPG_MD_MS_LR, ms_convert(), on_pe(), lame_internal_flags::PSY, ResvFrameBegin(), SHORT_TYPE, III_side_info_t::tt, and lame_internal_flags::VBR_max_bitrate.

Referenced by VBR_new_iteration_loop().

Here is the call graph for this function:

void VBR_old_iteration_loop ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2] 
)

Definition at line 1552 of file quantize.c.

References bitpressure_strategy(), lame_internal_flags::bitrate_index, lame_internal_flags::channels_out, gfc, gfp, init_xrpow(), lame_global_struct::internal_flags, iteration_finish_one(), lame_internal_flags::l3_side, lame_internal_flags::mode_gr, gr_info::part2_3_length, gr_info::part2_length, ResvFrameBegin(), ResvFrameEnd(), SFBMAX, lame_internal_flags::substep_shaping, trancate_smallspectrums(), III_side_info_t::tt, VBR_encode_granule(), lame_global_struct::VBR_hard_min, lame_internal_flags::VBR_max_bitrate, lame_internal_flags::VBR_min_bitrate, and VBR_old_prepare().

Referenced by lame_init_params().

Here is the call graph for this function:

static int VBR_old_prepare ( lame_global_flags const *  gfp,
FLOAT const   pe[2][2],
FLOAT const   ms_ener_ratio[2],
III_psy_ratio const   ratio[2][2],
FLOAT  l3_xmin[2][2][SFBMAX],
int  frameBits[16],
int *  analog_mean_bits,
int *  min_mean_bits,
int  min_bits[2][2],
int  max_bits[2][2],
int  bands[2][2] 
) [static]

Definition at line 1444 of file quantize.c.

References lame_internal_flags::bitrate_index, calc_min_bits(), calc_xmin(), lame_internal_flags::channels_out, get_framebits(), gfc, gfp, init_outer_loop(), lame_global_struct::internal_flags, lame_internal_flags::l3_side, PSY_t::mask_adjust, PSY_t::mask_adjust_short, lame_internal_flags::masking_lower, lame_internal_flags::mode_ext, lame_internal_flags::mode_gr, MPG_MD_MS_LR, ms_convert(), on_pe(), lame_internal_flags::PSY, reduce_side(), ResvFrameBegin(), SHORT_TYPE, III_side_info_t::tt, and lame_internal_flags::VBR_max_bitrate.

Referenced by VBR_old_iteration_loop().

Here is the call graph for this function:


Generated on Sun Dec 2 11:36:42 2007 for LAME by  doxygen 1.5.2