diff amrconv/param_dump.c @ 211:78d1a6513393

amrconv: new program amr-cod-parse
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 20 Apr 2023 01:30:46 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/amrconv/param_dump.c	Thu Apr 20 01:30:46 2023 +0000
@@ -0,0 +1,78 @@
+/*
+ * This C module is common between amr-cod-parse and amr-ietf-parse
+ * utilities.  It contains the function that takes an array of
+ * extracted codec parameters and prints them out as appropriate
+ * for each mode.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include "amr_defs.h"
+
+void
+dump_amr_params(params, mode)
+	uint16_t *params;
+	unsigned mode;
+{
+	int i, j, n;
+
+	switch (mode) {
+	case MR475:
+		printf("  %u %u %u\n", params[0], params[1], params[2]);
+		printf("  %u %u %u %u\n", params[3], params[4], params[5],
+			params[6]);
+		printf("  %u %u %u\n", params[7], params[8], params[9]);
+		printf("  %u %u %u %u\n", params[10], params[11], params[12],
+			params[13]);
+		printf("  %u %u %u\n", params[14], params[15], params[16]);
+		return;
+	case MR515:
+	case MR59:
+	case MR67:
+	case MR74:
+		printf("  %u %u %u\n", params[0], params[1], params[2]);
+		n = 3;
+		for (i = 0; i < 4; i++) {
+			putchar(' ');
+			for (j = 0; j < 4; j++)
+				printf(" %u", params[n++]);
+			putchar('\n');
+		}
+		return;
+	case MR795:
+		printf("  %u %u %u\n", params[0], params[1], params[2]);
+		n = 3;
+		for (i = 0; i < 4; i++) {
+			putchar(' ');
+			for (j = 0; j < 5; j++)
+				printf(" %u", params[n++]);
+			putchar('\n');
+		}
+		return;
+	case MR102:
+		printf("  %u %u %u\n", params[0], params[1], params[2]);
+		n = 3;
+		for (i = 0; i < 4; i++) {
+			putchar(' ');
+			for (j = 0; j < 9; j++)
+				printf(" %u", params[n++]);
+			putchar('\n');
+		}
+		return;
+	case MR122:            
+		printf("  %u %u %u %u %u\n", params[0], params[1], params[2],
+			params[3], params[4]);
+		n = 5;
+		for (i = 0; i < 4; i++) {
+			putchar(' ');
+			for (j = 0; j < 13; j++)
+				printf(" %u", params[n++]);
+			putchar('\n');
+		}
+		return;
+	case MRDTX:
+		printf("  %u %u %u %u %u\n", params[0], params[1], params[2],
+			params[3], params[4]);
+		return;
+	}
+}