/******************************************************************** * * * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: highlevel encoder setup struct separated out for vorbisenc clarity last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $ ********************************************************************/ typedef struct highlevel_byblocktype { double tone_mask_setting; double tone_peaklimit_setting; double noise_bias_setting; double noise_compand_setting; } highlevel_byblocktype; typedef struct highlevel_encode_setup { int set_in_stone; const void *setup; double base_setting; double impulse_noisetune; /* bitrate management below all settable */ float req; int managed; long bitrate_min; long bitrate_av; double bitrate_av_damp; long bitrate_max; long bitrate_reservoir; double bitrate_reservoir_bias; int impulse_block_p; int noise_normalize_p; int coupling_p; double stereo_point_setting; double lowpass_kHz; int lowpass_altered; double ath_floating_dB; double ath_absolute_dB; double amplitude_track_dBpersec; double trigger_setting; highlevel_byblocktype block[4]; /* padding, impulse, transition, long */ } highlevel_encode_setup;