summaryrefslogtreecommitdiffstats
path: root/libfaad2/dither.h
diff options
context:
space:
mode:
Diffstat (limited to 'libfaad2/dither.h')
-rw-r--r--libfaad2/dither.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/libfaad2/dither.h b/libfaad2/dither.h
new file mode 100644
index 0000000000..34fb319966
--- /dev/null
+++ b/libfaad2/dither.h
@@ -0,0 +1,47 @@
+/* This program is licensed under the GNU Library General Public License, version 2,
+ * a copy of which is included with this program (with filename LICENSE.LGPL).
+ *
+ * (c) 2002 John Edwards
+ *
+ * rand_t header.
+ *
+ * last modified: $ID:$
+ */
+
+#include "common.h"
+
+#ifndef __RAND_T_H
+#define __RAND_T_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef FIXED_POINT
+
+typedef struct {
+ const float32_t* FilterCoeff;
+ uint64_t Mask;
+ double Add;
+ float32_t Dither;
+ float32_t ErrorHistory [2] [16]; // max. 2 channels, 16th order Noise shaping
+ float32_t DitherHistory [2] [16];
+ int32_t LastRandomNumber [2];
+} dither_t;
+
+extern dither_t Dither;
+extern double doubletmp;
+//static const uint8_t Parity [256];
+uint32_t random_int ( void );
+extern double scalar16 ( const float32_t* x, const float32_t* y );
+extern double Random_Equi ( double mult );
+extern double Random_Triangular ( double mult );
+void Init_Dither ( unsigned char bits, unsigned char shapingtype );
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif