1/******************************************************************** 2 * * 3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * 4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 7 * * 8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * 9 * by the Xiph.Org Foundation http://www.xiph.org/ * 10 * * 11 ******************************************************************** 12 13 function: highlevel encoder setup struct seperated out for vorbisenc clarity 14 last mod: $Id: highlevel.h 16227 2009-07-08 06:58:46Z xiphmont $ 15 16 ********************************************************************/ 17 18typedef struct highlevel_byblocktype { 19 double tone_mask_setting; 20 double tone_peaklimit_setting; 21 double noise_bias_setting; 22 double noise_compand_setting; 23} highlevel_byblocktype; 24 25typedef struct highlevel_encode_setup { 26 const void *setup; 27 int set_in_stone; 28 29 double base_setting; 30 double long_setting; 31 double short_setting; 32 double impulse_noisetune; 33 34 int managed; 35 long bitrate_min; 36 long bitrate_av; 37 double bitrate_av_damp; 38 long bitrate_max; 39 long bitrate_reservoir; 40 double bitrate_reservoir_bias; 41 42 int impulse_block_p; 43 int noise_normalize_p; 44 45 double stereo_point_setting; 46 double lowpass_kHz; 47 48 double ath_floating_dB; 49 double ath_absolute_dB; 50 51 double amplitude_track_dBpersec; 52 double trigger_setting; 53 54 highlevel_byblocktype block[4]; /* padding, impulse, transition, long */ 55 56} highlevel_encode_setup; 57