Exemplo n.º 1
0
  private boolean vorbis_encode_setup_setting(int channels, int rate) {

    int i, is;

    codec_setup_info ci = vi.codec_setup;
    highlevel_encode_setup hi = ci.hi;
    ve_setup_data_template setup = hi.setup;
    float ds; // double

    // vorbis_encode_toplevel_setup(vorbis_info *vi,int ch,long rate)
    vi.version = 0;
    vi.channels = channels;
    vi.rate = rate;

    is = new Float(hi.base_setting).intValue();
    ds = hi.base_setting - is;

    hi.short_setting = hi.base_setting;
    hi.long_setting = hi.base_setting;

    hi.managed = 0;

    hi.impulse_block_p = 1;
    hi.noise_normalize_p = 1;

    hi.stereo_point_setting = hi.base_setting;
    hi.lowpass_kHz = setup.psy_lowpass[is] * (1.0f - ds) + setup.psy_lowpass[is + 1] * ds;

    hi.ath_floating_dB = setup.psy_ath_float[is] * (1.0f - ds) + setup.psy_ath_float[is + 1] * ds;
    hi.ath_absolute_dB = setup.psy_ath_abs[is] * (1.0f - ds) + setup.psy_ath_abs[is + 1] * ds;

    hi.amplitude_track_dBpersec = -6.0f;
    hi.trigger_setting = hi.base_setting;

    for (i = 0; i < 4; i++)
      hi.block[i] =
          new highlevel_byblocktype(
              hi.base_setting, hi.base_setting, hi.base_setting, hi.base_setting);

    return true;
  }