I cleaned up the highq mode, and implemented what was suggesting
in the mailing list last week. 

The variable highq is now used to set verious internal options.  Valid
ranges are 0(high quality) ... 9(low quality), but only 3 values are
really working right now, which coorespond do the -f, default and -h
modes.

highq=9    enabled with -f  (fast mode)
highq=5    default
highq=2    enabled with -h

A short description of all the options is in lame.h.

Some of the options are just things we have been talking about
and are not yet implemented:

filter_type=1 would turn on a true filter, rather than the current filter           
              which acts on the MDCT coefficients.

noise_shaping_stop=2   Iwasa's code to do a more thourough scalefactor search 

use_best_huffman=2:    use best_huffman code inside outer_loop.  







from lame.c:


  /* set internal feature flags.  USER should not access these since
   * some combinations will produce strange results */
  if (gf.highq>=9) {
    /* 9 = worst quality */
    gf.filter_type=0;
    gf.quantization=0;
    gf.psymodel=0;
    gf.noise_shaping=0;
    gf.noise_shaping_stop=0;
    gf.ms_masking=0;
    gf.use_best_huffman=0;
  } else if (gf.highq>=5) {
    /* 5..8 quality, the default  */
    gf.filter_type=0;
    gf.quantization=0;
    gf.psymodel=1;
    gf.noise_shaping=1;
    gf.noise_shaping_stop=0;
    gf.ms_masking=0;
    gf.use_best_huffman=0;
  } else if (gf.highq>=2) {
    /* 2..4 quality */
    gf.filter_type=0;
    gf.quantization=1;
    gf.psymodel=1;
    gf.noise_shaping=1;
    gf.noise_shaping_stop=0;
    gf.ms_masking=1;
    gf.use_best_huffman=1;
  } else {
    /* 0..1 quality */
    gf.filter_type=1;         /* not yet coded */
    gf.quantization=1;
    gf.psymodel=1;
    gf.noise_shaping=3;       /* not yet coded */
    gf.noise_shaping_stop=2;  /* not yet coded */
    gf.ms_masking=1;
    gf.use_best_huffman=2;   /* not yet coded */
    exit(-99);  
  }
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to