summaryrefslogtreecommitdiffhomepage
path: root/lib/highlevel.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/highlevel.h')
-rw-r--r--lib/highlevel.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/lib/highlevel.h b/lib/highlevel.h
new file mode 100644
index 0000000..337b75b
--- /dev/null
+++ b/lib/highlevel.h
@@ -0,0 +1,57 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+
+ function: highlevel encoder setup struct separated out for vorbisenc clarity
+
+ ********************************************************************/
+
+typedef struct highlevel_byblocktype {
+ double tone_mask_setting;
+ double tone_peaklimit_setting;
+ double noise_bias_setting;
+ double noise_compand_setting;
+} highlevel_byblocktype;
+
+typedef struct highlevel_encode_setup {
+ int set_in_stone;
+ const void *setup;
+ double base_setting;
+
+ double impulse_noisetune;
+
+ /* bitrate management below all settable */
+ float req;
+ int managed;
+ long bitrate_min;
+ long bitrate_av;
+ double bitrate_av_damp;
+ long bitrate_max;
+ long bitrate_reservoir;
+ double bitrate_reservoir_bias;
+
+ int impulse_block_p;
+ int noise_normalize_p;
+ int coupling_p;
+
+ double stereo_point_setting;
+ double lowpass_kHz;
+ int lowpass_altered;
+
+ double ath_floating_dB;
+ double ath_absolute_dB;
+
+ double amplitude_track_dBpersec;
+ double trigger_setting;
+
+ highlevel_byblocktype block[4]; /* padding, impulse, transition, long */
+
+} highlevel_encode_setup;