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++)