highlevel.h (1881B)
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-2002 * 9 * by the XIPHOPHORUS Company http://www.xiph.org/ * 10 * * 11 ******************************************************************** 12 13 function: highlevel encoder setup struct seperated out for vorbisenc clarity 14 last mod: $Id: highlevel.h 1919 2005-07-24 14:18:04Z baford $ 15 16 ********************************************************************/ 17 18 typedef 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 25 typedef struct highlevel_encode_setup { 26 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_lo; 37 long bitrate_av_hi; 38 long bitrate_max; 39 double bitrate_limit_window; 40 double bitrate_av_window; 41 double bitrate_av_window_center; 42 43 int impulse_block_p; 44 int noise_normalize_p; 45 46 double stereo_point_setting; 47 double lowpass_kHz; 48 49 double ath_floating_dB; 50 double ath_absolute_dB; 51 52 double amplitude_track_dBpersec; 53 double trigger_setting; 54 55 highlevel_byblocktype block[4]; /* padding, impulse, transition, long */ 56 57 } highlevel_encode_setup; 58