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 };