FreeCalypso > hg > gsm-codec-lib
comparison miscutil/gsmrec-dump.c @ 281:3816ba89a5a0
gsmrec-dump: use libgsmfr2 instead of old libgsm
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 14 Apr 2024 05:09:52 +0000 |
parents | a5ffec18e4cd |
children | fa8845306e07 |
comparison
equal
deleted
inserted
replaced
280:356d9675701d | 281:3816ba89a5a0 |
---|---|
4 */ | 4 */ |
5 | 5 |
6 #include <stdio.h> | 6 #include <stdio.h> |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <stdlib.h> | 8 #include <stdlib.h> |
9 #include <gsm.h> | 9 #include "../libgsmfr2/tw_gsmfr.h" |
10 #include "../libgsmefr/gsm_efr.h" | 10 #include "../libgsmefr/gsm_efr.h" |
11 #include "../libtest/binreader.h" | 11 #include "../libtest/binreader.h" |
12 | 12 |
13 main(argc, argv) | 13 main(argc, argv) |
14 char **argv; | 14 char **argv; |
15 { | 15 { |
16 FILE *binf; | 16 FILE *binf; |
17 gsm dummy_state; | |
18 unsigned frame_index; | 17 unsigned frame_index; |
19 uint8_t frame[BINFILE_MAX_FRAME]; | 18 uint8_t frame[BINFILE_MAX_FRAME]; |
20 gsm_signal params[76]; | 19 int16_t params[GSMFR_NUM_PARAMS]; |
21 int rc, i, j, n; | 20 int rc, i, j, n; |
22 | 21 |
23 if (argc != 2) { | 22 if (argc != 2) { |
24 fprintf(stderr, "usage: %s bin-stream-file\n", argv[0]); | 23 fprintf(stderr, "usage: %s bin-stream-file\n", argv[0]); |
25 exit(1); | 24 exit(1); |
26 } | 25 } |
27 binf = fopen(argv[1], "r"); | 26 binf = fopen(argv[1], "r"); |
28 if (!binf) { | 27 if (!binf) { |
29 perror(argv[1]); | 28 perror(argv[1]); |
30 exit(1); | |
31 } | |
32 dummy_state = gsm_create(); | |
33 if (!dummy_state) { | |
34 fprintf(stderr, "gsm_create() failed!\n"); | |
35 exit(1); | 29 exit(1); |
36 } | 30 } |
37 for (frame_index = 0; ; frame_index++) { | 31 for (frame_index = 0; ; frame_index++) { |
38 rc = binfile_read_frame(binf, frame); | 32 rc = binfile_read_frame(binf, frame); |
39 if (rc < 0) { | 33 if (rc < 0) { |
61 putchar('\n'); | 55 putchar('\n'); |
62 } | 56 } |
63 break; | 57 break; |
64 case 0xD0: | 58 case 0xD0: |
65 fputs("FR", stdout); | 59 fputs("FR", stdout); |
66 gsm_explode(dummy_state, frame, params); | 60 gsmfr_unpack_to_array(frame, params); |
67 n = 0; | 61 n = 0; |
68 for (i = 0; i < 8; i++) | 62 for (i = 0; i < 8; i++) |
69 printf(" %d", params[n++]); | 63 printf(" %d", params[n++]); |
70 putchar('\n'); | 64 putchar('\n'); |
71 for (i = 0; i < 4; i++) { | 65 for (i = 0; i < 4; i++) { |