aboutsummaryrefslogtreecommitdiffstats
path: root/src/compress.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compress.h')
-rw-r--r--src/compress.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/compress.h b/src/compress.h
new file mode 100644
index 000000000..1993b47ad
--- /dev/null
+++ b/src/compress.h
@@ -0,0 +1,29 @@
+/* compress.h
+** interface to audio compression
+*/
+
+#ifndef COMPRESS_H
+#define COMPRESS_H
+
+/* These are copied from the AudioCompress config.h, mainly because CompressDo
+ * needs GAINSHIFT defined. The rest are here so they can be used as defaults
+ * to pass to CompressCfg. */
+#define ANTICLIP 0 /* Strict clipping protection */
+#define TARGET 25000 /* Target level */
+#define GAINMAX 32 /* The maximum amount to amplify by */
+#define GAINSHIFT 10 /* How fine-grained the gain is */
+#define GAINSMOOTH 8 /* How much inertia ramping has*/
+#define BUCKETS 400 /* How long of a history to store */
+
+void CompressCfg(int monitor,
+ int anticlip,
+ int target,
+ int maxgain,
+ int smooth,
+ int buckets);
+
+void CompressDo(void *data, unsigned int numSamples);
+
+void CompressFree(void);
+
+#endif