|
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 separated out for vorbisenc clarity |
|
14 last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $ |
|
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; |