diff efrtest/etsi-pcm-out.c @ 435:9f354d2aea13

efrtest: split etsi-dec.c for code reuse
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 08 May 2024 05:25:47 +0000
parents efrtest/etsi-dec.c@da17c7f02c6c
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/efrtest/etsi-pcm-out.c	Wed May 08 05:25:47 2024 +0000
@@ -0,0 +1,44 @@
+/*
+ * This C module holds some functions that have been split off from
+ * etsi-dec.c, with the goal of making it easier to build both
+ * standard-EFR and AMR-EFR versions of the ETSI-format EFR decoder.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+
+void
+write_pcm_be(outf, pcm)
+	FILE *outf;
+	int16_t *pcm;
+{
+	uint8_t bytes[320], *dp;
+	int16_t samp;
+	unsigned n;
+
+	dp = bytes;
+	for (n = 0; n < 160; n++) {
+		samp = pcm[n];
+		*dp++ = (samp >> 8) & 0xFF;
+		*dp++ = samp & 0xFF;
+	}
+	fwrite(bytes, 2, 160, outf);
+}
+
+void
+write_pcm_le(outf, pcm)
+	FILE *outf;
+	int16_t *pcm;
+{
+	uint8_t bytes[320], *dp;
+	int16_t samp;
+	unsigned n;
+
+	dp = bytes;
+	for (n = 0; n < 160; n++) {
+		samp = pcm[n];
+		*dp++ = samp & 0xFF;
+		*dp++ = (samp >> 8) & 0xFF;
+	}
+	fwrite(bytes, 2, 160, outf);
+}