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