aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/G711u/G711udecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'codecs/G711u/G711udecode.c')
-rw-r--r--codecs/G711u/G711udecode.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/codecs/G711u/G711udecode.c b/codecs/G711u/G711udecode.c
new file mode 100644
index 0000000000..2ac3c8fd85
--- /dev/null
+++ b/codecs/G711u/G711udecode.c
@@ -0,0 +1,19 @@
+#include <glib.h>
+#include "G711udecode.h"
+#include "G711utable.h"
+
+int
+decodeG711u(void *input, int inputSizeBytes, void *output, int *outputSizeBytes)
+{
+ guint8 *dataIn = (guint8 *)input;
+ gint16 *dataOut = (gint16 *)output;
+ int i;
+
+ for (i=0; i<inputSizeBytes; i++)
+ {
+ dataOut[i] = ulaw_exp_table[dataIn[i]];
+ }
+ *outputSizeBytes = inputSizeBytes * 2;
+ return 0;
+}
+