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