FreeCalypso > hg > gsm-codec-lib
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; + } +}