Chris@1
|
1 /********************************************************************
|
Chris@1
|
2 * *
|
Chris@1
|
3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
Chris@1
|
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
Chris@1
|
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
Chris@1
|
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
Chris@1
|
7 * *
|
Chris@1
|
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
Chris@1
|
9 * by the Xiph.Org Foundation http://www.xiph.org/ *
|
Chris@1
|
10 * *
|
Chris@1
|
11 ********************************************************************
|
Chris@1
|
12
|
Chris@1
|
13 function: highlevel encoder setup struct separated out for vorbisenc clarity
|
Chris@1
|
14 last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $
|
Chris@1
|
15
|
Chris@1
|
16 ********************************************************************/
|
Chris@1
|
17
|
Chris@1
|
18 typedef struct highlevel_byblocktype {
|
Chris@1
|
19 double tone_mask_setting;
|
Chris@1
|
20 double tone_peaklimit_setting;
|
Chris@1
|
21 double noise_bias_setting;
|
Chris@1
|
22 double noise_compand_setting;
|
Chris@1
|
23 } highlevel_byblocktype;
|
Chris@1
|
24
|
Chris@1
|
25 typedef struct highlevel_encode_setup {
|
Chris@1
|
26 int set_in_stone;
|
Chris@1
|
27 const void *setup;
|
Chris@1
|
28 double base_setting;
|
Chris@1
|
29
|
Chris@1
|
30 double impulse_noisetune;
|
Chris@1
|
31
|
Chris@1
|
32 /* bitrate management below all settable */
|
Chris@1
|
33 float req;
|
Chris@1
|
34 int managed;
|
Chris@1
|
35 long bitrate_min;
|
Chris@1
|
36 long bitrate_av;
|
Chris@1
|
37 double bitrate_av_damp;
|
Chris@1
|
38 long bitrate_max;
|
Chris@1
|
39 long bitrate_reservoir;
|
Chris@1
|
40 double bitrate_reservoir_bias;
|
Chris@1
|
41
|
Chris@1
|
42 int impulse_block_p;
|
Chris@1
|
43 int noise_normalize_p;
|
Chris@1
|
44 int coupling_p;
|
Chris@1
|
45
|
Chris@1
|
46 double stereo_point_setting;
|
Chris@1
|
47 double lowpass_kHz;
|
Chris@1
|
48 int lowpass_altered;
|
Chris@1
|
49
|
Chris@1
|
50 double ath_floating_dB;
|
Chris@1
|
51 double ath_absolute_dB;
|
Chris@1
|
52
|
Chris@1
|
53 double amplitude_track_dBpersec;
|
Chris@1
|
54 double trigger_setting;
|
Chris@1
|
55
|
Chris@1
|
56 highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
|
Chris@1
|
57
|
Chris@1
|
58 } highlevel_encode_setup;
|