• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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-2009             *
9   * by the Xiph.Org Foundation http://www.xiph.org/                  *
10   *                                                                  *
11   ********************************************************************
12  
13   function: highlevel encoder setup struct seperated out for vorbisenc clarity
14   last mod: $Id: highlevel.h 16995 2010-03-23 03:44:44Z xiphmont $
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    int   set_in_stone;
27    const void *setup;
28    double base_setting;
29  
30    double impulse_noisetune;
31  
32    /* bitrate management below all settable */
33    float  req;
34    int    managed;
35    long   bitrate_min;
36    long   bitrate_av;
37    double bitrate_av_damp;
38    long   bitrate_max;
39    long   bitrate_reservoir;
40    double bitrate_reservoir_bias;
41  
42    int impulse_block_p;
43    int noise_normalize_p;
44    int coupling_p;
45  
46    double stereo_point_setting;
47    double lowpass_kHz;
48    int    lowpass_altered;
49  
50    double ath_floating_dB;
51    double ath_absolute_dB;
52  
53    double amplitude_track_dBpersec;
54    double trigger_setting;
55  
56    highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
57  
58  } highlevel_encode_setup;
59