annotate hrutil/cod-parse.c @ 576:94f0cc85ad50

gsmhr-dec-craft: use gsmhr_set_sid_cw_params() function
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 13 Feb 2025 00:52:06 +0000
parents a563c7b17e16
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
515
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
2 * This program reads an HRv1 *.cod file in ETSI test sequence format
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
3 * (encoder output format) and displays its content in human-readable form.
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdint.h>
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <stdlib.h>
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <string.h>
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <strings.h>
562
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
11 #include <unistd.h>
515
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
12 #include "../libgsmhr1/tw_gsmhr.h"
562
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
13 #include "../libtest/local_endian.h"
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 main(argc, argv)
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 char **argv;
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 {
148
bbe5669f0f29 gsmefr-cod-parse: add BE support
Mychaela Falconia <falcon@freecalypso.org>
parents: 147
diff changeset
18 char *infname;
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 FILE *inf;
148
bbe5669f0f29 gsmefr-cod-parse: add BE support
Mychaela Falconia <falcon@freecalypso.org>
parents: 147
diff changeset
20 int big_endian;
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 unsigned frame_no;
515
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
22 int16_t params[GSMHR_NUM_PARAMS_ENC];
562
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
23 int opt, rc;
563
a563c7b17e16 hrutil/cod-parse.c: forgot extern int optind
Mychaela Falconia <falcon@freecalypso.org>
parents: 562
diff changeset
24 extern int optind;
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
562
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
26 big_endian = is_native_big_endian();
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
27 while ((opt = getopt(argc, argv, "bl")) != EOF) {
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
28 switch (opt) {
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
29 case 'b':
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
30 big_endian = 1;
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
31 continue;
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
32 case 'l':
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
33 big_endian = 0;
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
34 continue;
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
35 default:
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
36 usage:
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
37 fprintf(stderr, "usage: %s [-b|-l] file.cod\n",
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
38 argv[0]);
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
39 exit(1);
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
40 }
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 }
562
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
42 if (argc != optind + 1)
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
43 goto usage;
901753f59f88 gsmhr-cod-parse: read native endian by default
Mychaela Falconia <falcon@freecalypso.org>
parents: 515
diff changeset
44 infname = argv[optind];
148
bbe5669f0f29 gsmefr-cod-parse: add BE support
Mychaela Falconia <falcon@freecalypso.org>
parents: 147
diff changeset
45 inf = fopen(infname, "r");
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 if (!inf) {
148
bbe5669f0f29 gsmefr-cod-parse: add BE support
Mychaela Falconia <falcon@freecalypso.org>
parents: 147
diff changeset
47 perror(infname);
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 exit(1);
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 }
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 for (frame_no = 0; ; frame_no++) {
515
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
51 rc = read_cod_frame(inf, big_endian, params, infname, frame_no);
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 if (!rc)
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 break;
515
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
54 printf("#%u: VAD=%d SP=%d\n", frame_no, params[18], params[19]);
bb36ef735f25 hrutil: starting with gsmhr-cod-parse
Mychaela Falconia <falcon@freecalypso.org>
parents: 213
diff changeset
55 print_frame_params(params);
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 }
213
46a6e6b6841a gsmefr-{cod,dec}-parse: missed exit(0) at the end
Mychaela Falconia <falcon@freecalypso.org>
parents: 148
diff changeset
57 exit(0);
115
5a63294fa321 gsmefr-cod-parse test program written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 }