]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/sound/OggVorbis/vorbissrc/highlevel.h
hello world
[icculus/iodoom3.git] / neo / sound / OggVorbis / vorbissrc / highlevel.h
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,v 1.4 2002/07/01 11:20:11 xiphmont Exp $
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