view amrconv/param_dump.c @ 490:4d80730683d4

libgsmhr1: implement TS 101 318 packing and unpacking
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 15 Jun 2024 05:33:35 +0000
parents 78d1a6513393
children
line wrap: on
line source

/*
 * 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;
	}
}