FreeCalypso > hg > gsm-codec-lib
comparison libtwamr/bitno.c @ 254:f931e704adc5
libtwamr: bits and parameter packing
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 05 Apr 2024 07:41:31 +0000 |
parents | |
children | 9beb01439a90 |
comparison
equal
deleted
inserted
replaced
253:54f6bc41ed10 | 254:f931e704adc5 |
---|---|
1 /* | |
2 * This module holds the bitno[] table (intermodule linkage) | |
3 * and the set of static per-mode tables referenced from it, | |
4 * originally in bitno.tab in 3GPP reference source. | |
5 */ | |
6 | |
7 #include "typedef.h" | |
8 #include "namespace.h" | |
9 #include "int_defs.h" | |
10 | |
11 /* parameter sizes (# of bits), one table per mode */ | |
12 | |
13 static const Word16 bitno_MR475[PRMNO_MR475] = { | |
14 8, 8, 7, /* LSP VQ */ | |
15 8, 7, 2, 8, /* first subframe */ | |
16 4, 7, 2, /* second subframe */ | |
17 4, 7, 2, 8, /* third subframe */ | |
18 4, 7, 2, /* fourth subframe */ | |
19 }; | |
20 | |
21 static const Word16 bitno_MR515[PRMNO_MR515] = { | |
22 8, 8, 7, /* LSP VQ */ | |
23 8, 7, 2, 6, /* first subframe */ | |
24 4, 7, 2, 6, /* second subframe */ | |
25 4, 7, 2, 6, /* third subframe */ | |
26 4, 7, 2, 6, /* fourth subframe */ | |
27 }; | |
28 | |
29 static const Word16 bitno_MR59[PRMNO_MR59] = { | |
30 8, 9, 9, /* LSP VQ */ | |
31 8, 9, 2, 6, /* first subframe */ | |
32 4, 9, 2, 6, /* second subframe */ | |
33 8, 9, 2, 6, /* third subframe */ | |
34 4, 9, 2, 6, /* fourth subframe */ | |
35 }; | |
36 | |
37 static const Word16 bitno_MR67[PRMNO_MR67] = { | |
38 8, 9, 9, /* LSP VQ */ | |
39 8, 11, 3, 7, /* first subframe */ | |
40 4, 11, 3, 7, /* second subframe */ | |
41 8, 11, 3, 7, /* third subframe */ | |
42 4, 11, 3, 7, /* fourth subframe */ | |
43 }; | |
44 | |
45 static const Word16 bitno_MR74[PRMNO_MR74] = { | |
46 8, 9, 9, /* LSP VQ */ | |
47 8, 13, 4, 7, /* first subframe */ | |
48 5, 13, 4, 7, /* second subframe */ | |
49 8, 13, 4, 7, /* third subframe */ | |
50 5, 13, 4, 7, /* fourth subframe */ | |
51 }; | |
52 | |
53 static const Word16 bitno_MR795[PRMNO_MR795] = { | |
54 9, 9, 9, /* LSP VQ */ | |
55 8, 13, 4, 4, 5, /* first subframe */ | |
56 6, 13, 4, 4, 5, /* second subframe */ | |
57 8, 13, 4, 4, 5, /* third subframe */ | |
58 6, 13, 4, 4, 5, /* fourth subframe */ | |
59 }; | |
60 | |
61 static const Word16 bitno_MR102[PRMNO_MR102] = { | |
62 8, 9, 9, /* LSP VQ */ | |
63 8, 1, 1, 1, 1, 10, 10, 7, 7, /* first subframe */ | |
64 5, 1, 1, 1, 1, 10, 10, 7, 7, /* second subframe */ | |
65 8, 1, 1, 1, 1, 10, 10, 7, 7, /* third subframe */ | |
66 5, 1, 1, 1, 1, 10, 10, 7, 7, /* fourth subframe */ | |
67 }; | |
68 | |
69 static const Word16 bitno_MR122[PRMNO_MR122] = { | |
70 7, 8, 9, 8, 6, /* LSP VQ */ | |
71 9, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5, /* first subframe */ | |
72 6, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5, /* second subframe */ | |
73 9, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5, /* third subframe */ | |
74 6, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 5 /* fourth subframe */ | |
75 }; | |
76 | |
77 static const Word16 bitno_MRDTX[PRMNO_MRDTX] = { | |
78 3, | |
79 8, 9, 9, | |
80 6 | |
81 }; | |
82 | |
83 /* overall table with all parameter sizes for all modes */ | |
84 const Word16 *bitno[9] = { | |
85 bitno_MR475, | |
86 bitno_MR515, | |
87 bitno_MR59, | |
88 bitno_MR67, | |
89 bitno_MR74, | |
90 bitno_MR795, | |
91 bitno_MR102, | |
92 bitno_MR122, | |
93 bitno_MRDTX | |
94 }; |