FreeCalypso > hg > gsm-codec-lib
comparison efrtest/dec-parse.c @ 149:95d47a34070a
gsmefr-dec-parse: add BE support
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 14 Dec 2022 18:12:55 +0000 |
parents | 0fa0cd251a31 |
children | 46a6e6b6841a |
comparison
equal
deleted
inserted
replaced
148:bbe5669f0f29 | 149:95d47a34070a |
---|---|
13 #include "etsi.h" | 13 #include "etsi.h" |
14 | 14 |
15 main(argc, argv) | 15 main(argc, argv) |
16 char **argv; | 16 char **argv; |
17 { | 17 { |
18 char *infname; | |
18 FILE *inf; | 19 FILE *inf; |
20 int big_endian; | |
19 unsigned frame_no; | 21 unsigned frame_no; |
20 uint8_t input_bits[ETSI_DEC_NWORDS], frame[EFR_RTP_FRAME_LEN]; | 22 uint8_t input_bits[ETSI_DEC_NWORDS], frame[EFR_RTP_FRAME_LEN]; |
21 int16_t params[EFR_NUM_PARAMS]; | 23 int16_t params[EFR_NUM_PARAMS]; |
22 int rc, i, j, n; | 24 int rc, i, j, n; |
23 | 25 |
24 if (argc != 2) { | 26 if (argc == 2 && argv[1][0] != '-') { |
25 fprintf(stderr, "usage: %s file.dec\n", argv[0]); | 27 big_endian = 0; |
28 infname = argv[1]; | |
29 } else if (argc == 3 && !strcmp(argv[1], "-b")) { | |
30 big_endian = 1; | |
31 infname = argv[2]; | |
32 } else { | |
33 fprintf(stderr, "usage: %s [-b] file.dec\n", argv[0]); | |
26 exit(1); | 34 exit(1); |
27 } | 35 } |
28 inf = fopen(argv[1], "r"); | 36 inf = fopen(infname, "r"); |
29 if (!inf) { | 37 if (!inf) { |
30 perror(argv[1]); | 38 perror(infname); |
31 exit(1); | 39 exit(1); |
32 } | 40 } |
33 for (frame_no = 0; ; frame_no++) { | 41 for (frame_no = 0; ; frame_no++) { |
34 rc = read_etsi_bits(inf, 0, input_bits, ETSI_DEC_NWORDS, | 42 rc = read_etsi_bits(inf, big_endian, input_bits, |
35 argv[1]); | 43 ETSI_DEC_NWORDS, infname); |
36 if (!rc) | 44 if (!rc) |
37 break; | 45 break; |
38 bits2frame(input_bits + 1, frame, argv[1], frame_no); | 46 bits2frame(input_bits + 1, frame, infname, frame_no); |
39 printf("#%u: BFI=%u SID=%u TAF=%u LPC", frame_no, | 47 printf("#%u: BFI=%u SID=%u TAF=%u LPC", frame_no, |
40 input_bits[0], input_bits[245], input_bits[246]); | 48 input_bits[0], input_bits[245], input_bits[246]); |
41 EFR_frame2params(frame, params); | 49 EFR_frame2params(frame, params); |
42 n = 0; | 50 n = 0; |
43 for (i = 0; i < 5; i++) | 51 for (i = 0; i < 5; i++) |