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