FreeCalypso > hg > gsm-net-reveng
comparison trau-decode/parse-amr.c @ 88:cec24988550a
trau-parse: AMR 5k15 CRC
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 05 Mar 2025 00:05:55 +0000 |
parents | 9cd468f6872c |
children | 865b104ffbab |
comparison
equal
deleted
inserted
replaced
87:9cd468f6872c | 88:cec24988550a |
---|---|
59 | 59 |
60 static void | 60 static void |
61 decode_mode_1(c_bits, d_bits) | 61 decode_mode_1(c_bits, d_bits) |
62 ubit_t *c_bits, *d_bits; | 62 ubit_t *c_bits, *d_bits; |
63 { | 63 { |
64 ubit_t crc_collect[57]; | |
65 int crc1, crc2, crc3, crc4; | |
66 | |
67 bcopy(c_bits, crc_collect, 25); | |
68 bcopy(d_bits + 46, crc_collect + 25, 16); | |
69 bcopy(d_bits + 64, crc_collect + 41, 11); | |
70 bcopy(d_bits + 87, crc_collect + 52, 5); | |
71 crc1 = osmo_crc8gen_check_bits(&gsm0860_amr_crc3, crc_collect, 57, | |
72 d_bits + 92); | |
73 bcopy(d_bits + 95, crc_collect, 2); | |
74 bcopy(d_bits + 109, crc_collect + 2, 5); | |
75 crc2 = osmo_crc8gen_check_bits(&gsm0860_amr_crc3, crc_collect, 7, | |
76 d_bits + 114); | |
77 bcopy(d_bits + 117, crc_collect, 2); | |
78 bcopy(d_bits + 131, crc_collect + 2, 5); | |
79 crc3 = osmo_crc8gen_check_bits(&gsm0860_amr_crc3, crc_collect, 7, | |
80 d_bits + 136); | |
81 bcopy(d_bits + 139, crc_collect, 2); | |
82 bcopy(d_bits + 153, crc_collect + 2, 5); | |
83 crc4 = osmo_crc8gen_check_bits(&gsm0860_amr_crc3, crc_collect, 7, | |
84 d_bits + 158); | |
85 printf(" CRC %s %s %s %s\n", | |
86 crc1 ? "bad" : "good", crc2 ? "bad" : "good", | |
87 crc3 ? "bad" : "good", crc4 ? "bad" : "good"); | |
64 } | 88 } |
65 | 89 |
66 static void | 90 static void |
67 decode_mode_2(c_bits, d_bits) | 91 decode_mode_2(c_bits, d_bits) |
68 ubit_t *c_bits, *d_bits; | 92 ubit_t *c_bits, *d_bits; |