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 https://xiph.org/ *
|
---|
10 | * *
|
---|
11 | ********************************************************************
|
---|
12 |
|
---|
13 | function: highlevel encoder setup struct separated out for vorbisenc clarity
|
---|
14 |
|
---|
15 | ********************************************************************/
|
---|
16 |
|
---|
17 | typedef struct highlevel_byblocktype {
|
---|
18 | double tone_mask_setting;
|
---|
19 | double tone_peaklimit_setting;
|
---|
20 | double noise_bias_setting;
|
---|
21 | double noise_compand_setting;
|
---|
22 | } highlevel_byblocktype;
|
---|
23 |
|
---|
24 | typedef struct highlevel_encode_setup {
|
---|
25 | int set_in_stone;
|
---|
26 | const void *setup;
|
---|
27 | double base_setting;
|
---|
28 |
|
---|
29 | double impulse_noisetune;
|
---|
30 |
|
---|
31 | /* bitrate management below all settable */
|
---|
32 | float req;
|
---|
33 | int managed;
|
---|
34 | long bitrate_min;
|
---|
35 | long bitrate_av;
|
---|
36 | double bitrate_av_damp;
|
---|
37 | long bitrate_max;
|
---|
38 | long bitrate_reservoir;
|
---|
39 | double bitrate_reservoir_bias;
|
---|
40 |
|
---|
41 | int impulse_block_p;
|
---|
42 | int noise_normalize_p;
|
---|
43 | int coupling_p;
|
---|
44 |
|
---|
45 | double stereo_point_setting;
|
---|
46 | double lowpass_kHz;
|
---|
47 | int lowpass_altered;
|
---|
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;
|
---|