1static DSP_STATIC_DATA const q7_t in_com1[256] = {
2    0x52, 0x01, 0x47, 0x20, 0xA5, 0xFD, 0xFC, 0x44,
3    0xF5, 0xCB, 0x2A, 0xE7, 0x1E, 0x28, 0xFF, 0xEF,
4    0x3E, 0x2C, 0x05, 0x32, 0xAE, 0x09, 0xBE, 0xF5,
5    0x24, 0xFA, 0xDE, 0xD6, 0xF4, 0xE7, 0x0D, 0xD7,
6    0x10, 0x19, 0x0C, 0xC8, 0xBB, 0x1E, 0x05, 0xAA,
7    0x44, 0x60, 0x2D, 0x21, 0x1C, 0xF0, 0x2E, 0x25,
8    0xF4, 0xF1, 0xC7, 0x19, 0x26, 0xBB, 0xD0, 0x08,
9    0x46, 0xF9, 0xEF, 0x7E, 0x19, 0x1E, 0x1B, 0x0A,
10    0x1F, 0x22, 0x12, 0x10, 0x13, 0x05, 0x41, 0x0F,
11    0x3B, 0xF6, 0xF9, 0x45, 0xE5, 0xE4, 0x14, 0xCD,
12    0xE5, 0xED, 0xF3, 0x14, 0x00, 0xEF, 0xEE, 0xDA,
13    0x19, 0x12, 0xB4, 0x0B, 0xAB, 0x14, 0x0A, 0xF7,
14    0x15, 0x35, 0x38, 0x0C, 0xCA, 0x32, 0x02, 0xD9,
15    0x1F, 0x00, 0xB9, 0x5C, 0xE4, 0x39, 0xE0, 0xE6,
16    0x09, 0xAD, 0x0E, 0x30, 0x24, 0xAE, 0xF5, 0x02,
17    0x1E, 0xE5, 0x1D, 0xE0, 0xC0, 0x16, 0xEB, 0x35,
18    0xAA, 0x30, 0xF4, 0x95, 0xFB, 0xFB, 0xD4, 0x17,
19    0x36, 0xF5, 0x26, 0x00, 0x59, 0xDD, 0x47, 0xC5,
20    0xE0, 0x86, 0xCA, 0x26, 0x3B, 0xC8, 0x36, 0x31,
21    0xD0, 0xAD, 0x05, 0x19, 0x07, 0xF4, 0xBE, 0xED,
22    0xC9, 0xD3, 0x17, 0xC0, 0x0D, 0xDE, 0xCF, 0xDA,
23    0x66, 0x95, 0xE2, 0xE4, 0x00, 0x10, 0xEC, 0xB8,
24    0xD5, 0x27, 0x0B, 0xDD, 0x13, 0x85, 0xD3, 0xDF,
25    0xCD, 0xD0, 0x36, 0x3A, 0xFC, 0xDB, 0x2B, 0xE0,
26    0x21, 0xDB, 0xE0, 0x1F, 0x64, 0xF0, 0x8F, 0x0E,
27    0x45, 0xE1, 0x39, 0x80, 0xBB, 0xF6, 0xC8, 0x42,
28    0x02, 0x38, 0x16, 0x62, 0xE2, 0x3B, 0xFD, 0xE4,
29    0xF6, 0x91, 0x15, 0xF0, 0xAB, 0x6A, 0x16, 0x0E,
30    0xF3, 0xC4, 0xE7, 0x0E, 0xAA, 0x34, 0x1D, 0x13,
31    0x44, 0xE8, 0xF2, 0xEF, 0x2E, 0x22, 0x44, 0x41,
32    0x2C, 0x2E, 0x74, 0x02, 0x16, 0x06, 0xEA, 0x45,
33    0xCB, 0xDE, 0xE5, 0xF3, 0x0F, 0xDE, 0x35, 0x09
34    };
35
36static DSP_STATIC_DATA const q7_t in_com2[256] = {
37    0x1E, 0xDE, 0x10, 0xF2, 0x91, 0xDC, 0x37, 0x02,
38    0xDE, 0x08, 0x28, 0xC3, 0x00, 0xFD, 0x14, 0x14,
39    0xFC, 0x1E, 0x25, 0xF2, 0xEC, 0xD7, 0x5B, 0x66,
40    0xF2, 0x93, 0xF2, 0x11, 0x35, 0x2A, 0xEE, 0xFE,
41    0xE7, 0xE2, 0x27, 0xED, 0xDF, 0x02, 0x41, 0xC1,
42    0xED, 0x1C, 0xD8, 0x0D, 0x2D, 0xE7, 0xEA, 0xD6,
43    0xD3, 0x44, 0xB5, 0x63, 0x12, 0x2D, 0xF1, 0x1C,
44    0xDC, 0xD8, 0xD8, 0xD4, 0x05, 0xEB, 0x04, 0x48,
45    0xC6, 0xE1, 0x01, 0x30, 0x1D, 0x01, 0xEA, 0x17,
46    0xE0, 0xB4, 0x1D, 0xFD, 0xBB, 0xF3, 0xC1, 0x2C,
47    0x2B, 0xE0, 0x95, 0xD4, 0x0A, 0xEA, 0x07, 0xFF,
48    0x2F, 0x04, 0x17, 0xF7, 0x02, 0x09, 0x22, 0xE6,
49    0x0A, 0xCE, 0x36, 0x35, 0xF1, 0x33, 0x01, 0x27,
50    0x96, 0xCC, 0xEB, 0xBC, 0x1C, 0x30, 0x9B, 0xC8,
51    0x09, 0xD4, 0x07, 0x25, 0x00, 0x2F, 0x3A, 0xF3,
52    0x0F, 0x2A, 0xF6, 0x2B, 0xEE, 0xE9, 0xE1, 0xE3,
53    0x01, 0x0D, 0x1D, 0x0F, 0x40, 0x0A, 0x01, 0x12,
54    0x39, 0x2F, 0x2F, 0x0C, 0xE7, 0x08, 0x09, 0xE9,
55    0xB8, 0xED, 0x93, 0xFD, 0x21, 0xED, 0xE5, 0xCF,
56    0x65, 0xE3, 0x16, 0xEC, 0xB9, 0x02, 0xFA, 0x3A,
57    0x13, 0x14, 0x27, 0x2A, 0xE4, 0x32, 0xE1, 0xF0,
58    0xEF, 0x51, 0x0E, 0x4B, 0x18, 0xF2, 0xB6, 0x18,
59    0x16, 0xF2, 0xFA, 0x0A, 0xFE, 0x14, 0x84, 0x1B,
60    0x03, 0x05, 0xDC, 0xD9, 0x50, 0xF2, 0x1F, 0xF1,
61    0x34, 0x7B, 0x0C, 0x02, 0xCC, 0x2D, 0xFC, 0xBE,
62    0x27, 0x0E, 0x1A, 0xFA, 0xD8, 0xFA, 0x14, 0x49,
63    0xC0, 0x24, 0x05, 0x18, 0xE6, 0xBC, 0x7F, 0xE0,
64    0x24, 0xEE, 0x3B, 0xA6, 0xC2, 0xF9, 0x00, 0xCB,
65    0xE0, 0xF0, 0xF7, 0xD3, 0x09, 0xE4, 0x0F, 0xF3,
66    0xA8, 0xD8, 0xD0, 0x22, 0x96, 0x1B, 0x0F, 0x44,
67    0xA0, 0x45, 0x0C, 0xF4, 0x00, 0xC2, 0xEA, 0xE3,
68    0x2A, 0x0E, 0xD5, 0xE2, 0x0E, 0xDC, 0x09, 0xC1
69    };
70
71static DSP_STATIC_DATA const q7_t in_bitwise1[47] = {
72    0xFB, 0xD4, 0xF1, 0xD8, 0x8A, 0x8F, 0x00, 0xF8,
73    0xD2, 0xD0, 0xE3, 0x46, 0xC4, 0x64, 0x5E, 0xB8,
74    0x45, 0x14, 0x1C, 0x71, 0x9D, 0x9A, 0x5F, 0x42,
75    0xFE, 0x7C, 0xCA, 0x2C, 0x3F, 0x1B, 0xFA, 0xC7,
76    0xB5, 0x33, 0x72, 0x46, 0xF0, 0x8A, 0x39, 0xCC,
77    0xA2, 0x05, 0xA4, 0x41, 0x87, 0xE0, 0x79
78    };
79
80static DSP_STATIC_DATA const q7_t in_bitwise2[47] = {
81    0xA7, 0xE3, 0x1B, 0xCA, 0x5D, 0x6A, 0x31, 0x4C,
82    0xB2, 0x00, 0xB9, 0xA2, 0x09, 0xEE, 0xA0, 0x4E,
83    0xC2, 0x21, 0x65, 0x98, 0xD6, 0xCC, 0x50, 0xD6,
84    0x27, 0x04, 0x0D, 0x18, 0x3E, 0xE5, 0x44, 0x3C,
85    0x44, 0x5F, 0xC8, 0xBC, 0x2C, 0x67, 0x7A, 0x36,
86    0x88, 0x8A, 0xC7, 0xBA, 0x91, 0x45, 0xB9
87    };
88
89static DSP_STATIC_DATA const q7_t in_rand[33] = {
90    0xF6, 0xFE, 0xF5, 0x1B, 0x0D, 0x13, 0xF9, 0x10,
91    0xF6, 0x02, 0xE4, 0xD5, 0xF5, 0xF7, 0x14, 0xDF,
92    0xFB, 0xE6, 0xF0, 0xEE, 0x02, 0x18, 0x0E, 0x0E,
93    0x16, 0xF8, 0xF3, 0xF2, 0xFF, 0x0F, 0xF6, 0x0D,
94    0x1C
95    };
96
97static DSP_STATIC_DATA const q7_t in_maxpos[33] = {
98    0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01,
99    0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01,
100    0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01,
101    0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01,
102    0x7E
103    };
104
105static DSP_STATIC_DATA const q7_t in_maxneg[33] = {
106    0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF,
107    0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF,
108    0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF,
109    0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF,
110    0x81
111    };
112
113static DSP_STATIC_DATA const q7_t in_maxneg2[33] = {
114    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
115    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
116    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
117    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
118    0x80
119    };
120
121static DSP_STATIC_DATA const q7_t in_clip[303] = {
122    0x8D, 0x8E, 0x8E, 0x8F, 0x90, 0x91, 0x91, 0x92,
123    0x93, 0x94, 0x94, 0x95, 0x96, 0x97, 0x97, 0x98,
124    0x99, 0x9A, 0x9B, 0x9B, 0x9C, 0x9D, 0x9E, 0x9E,
125    0x9F, 0xA0, 0xA1, 0xA1, 0xA2, 0xA3, 0xA4, 0xA4,
126    0xA5, 0xA6, 0xA7, 0xA8, 0xA8, 0xA9, 0xAA, 0xAB,
127    0xAB, 0xAC, 0xAD, 0xAE, 0xAE, 0xAF, 0xB0, 0xB1,
128    0xB1, 0xB2, 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7,
129    0xB8, 0xB8, 0xB9, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD,
130    0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3,
131    0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9,
132    0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF,
133    0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5,
134    0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB,
135    0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1,
136    0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8,
137    0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE,
138    0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF4,
139    0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA,
140    0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00,
141    0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06,
142    0x07, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C,
143    0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12,
144    0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18,
145    0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
146    0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25,
147    0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B,
148    0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31,
149    0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37,
150    0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D,
151    0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x43,
152    0x44, 0x45, 0x45, 0x46, 0x47, 0x48, 0x48, 0x49,
153    0x4A, 0x4B, 0x4C, 0x4C, 0x4D, 0x4E, 0x4F, 0x4F,
154    0x50, 0x51, 0x52, 0x52, 0x53, 0x54, 0x55, 0x55,
155    0x56, 0x57, 0x58, 0x58, 0x59, 0x5A, 0x5B, 0x5C,
156    0x5C, 0x5D, 0x5E, 0x5F, 0x5F, 0x60, 0x61, 0x62,
157    0x62, 0x63, 0x64, 0x65, 0x65, 0x66, 0x67, 0x68,
158    0x69, 0x69, 0x6A, 0x6B, 0x6C, 0x6C, 0x6D, 0x6E,
159    0x6F, 0x6F, 0x70, 0x71, 0x72, 0x72, 0x73
160    };
161
162static const q7_t ref_add[256] = {
163    0x70, 0xDF, 0x57, 0x12, 0x80, 0xDA, 0x33, 0x47,
164    0xD3, 0xD3, 0x52, 0xAA, 0x1E, 0x24, 0x13, 0x03,
165    0x3A, 0x4A, 0x2A, 0x25, 0x9A, 0xE0, 0x19, 0x5B,
166    0x16, 0x8E, 0xD0, 0xE7, 0x29, 0x11, 0xFC, 0xD5,
167    0xF8, 0xFB, 0x33, 0xB6, 0x9A, 0x20, 0x46, 0x80,
168    0x31, 0x7B, 0x05, 0x2E, 0x49, 0xD7, 0x17, 0xFB,
169    0xC8, 0x36, 0x80, 0x7D, 0x38, 0xE8, 0xC1, 0x24,
170    0x22, 0xD1, 0xC7, 0x51, 0x1E, 0x09, 0x20, 0x52,
171    0xE5, 0x03, 0x13, 0x41, 0x30, 0x06, 0x2C, 0x26,
172    0x1B, 0xAB, 0x16, 0x42, 0xA0, 0xD6, 0xD5, 0xFA,
173    0x10, 0xCD, 0x88, 0xE8, 0x0A, 0xD9, 0xF5, 0xD8,
174    0x48, 0x16, 0xCB, 0x01, 0xAD, 0x1D, 0x2B, 0xDE,
175    0x20, 0x03, 0x6E, 0x41, 0xBB, 0x65, 0x03, 0x00,
176    0xB5, 0xCC, 0xA4, 0x18, 0x00, 0x69, 0x80, 0xAE,
177    0x13, 0x81, 0x14, 0x55, 0x23, 0xDD, 0x2F, 0xF5,
178    0x2D, 0x0F, 0x13, 0x0C, 0xAE, 0xFF, 0xCC, 0x18,
179    0xAA, 0x3D, 0x11, 0xA3, 0x3B, 0x04, 0xD5, 0x29,
180    0x6F, 0x24, 0x56, 0x0C, 0x41, 0xE5, 0x51, 0xAE,
181    0x98, 0x80, 0x80, 0x23, 0x5D, 0xB5, 0x1B, 0x00,
182    0x35, 0x90, 0x1A, 0x05, 0xC0, 0xF6, 0xB8, 0x27,
183    0xDC, 0xE7, 0x3E, 0xEA, 0xF1, 0x11, 0xB0, 0xCA,
184    0x55, 0xE6, 0xF0, 0x2E, 0x18, 0x02, 0xA2, 0xD1,
185    0xEB, 0x19, 0x06, 0xE7, 0x11, 0x99, 0x80, 0xFA,
186    0xD0, 0xD5, 0x12, 0x13, 0x4C, 0xCD, 0x4A, 0xD1,
187    0x55, 0x56, 0xEC, 0x21, 0x30, 0x1D, 0x8B, 0xCB,
188    0x6B, 0xEF, 0x53, 0x80, 0x93, 0xF0, 0xDC, 0x7F,
189    0xC2, 0x5C, 0x1B, 0x7A, 0xC8, 0xF7, 0x7D, 0xC4,
190    0x1A, 0x80, 0x50, 0x95, 0x80, 0x63, 0x16, 0xD9,
191    0xD2, 0xB4, 0xDE, 0xE0, 0xB3, 0x18, 0x2B, 0x06,
192    0xED, 0xC0, 0xC2, 0x11, 0xC3, 0x3D, 0x52, 0x7F,
193    0xCC, 0x73, 0x7F, 0xF5, 0x16, 0xC8, 0xD5, 0x27,
194    0xF5, 0xEC, 0xBA, 0xD4, 0x1E, 0xBA, 0x3E, 0xCB
195    };
196
197static const q7_t ref_add_possat[33] = {
198    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
199    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
200    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
201    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
202    0x7F
203    };
204
205static const q7_t ref_add_negsat[33] = {
206    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
207    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
208    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
209    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
210    0x80
211    };
212
213static const q7_t ref_sub[256] = {
214    0x33, 0x23, 0x37, 0x2E, 0x14, 0x21, 0xC5, 0x42,
215    0x16, 0xC2, 0x02, 0x24, 0x1F, 0x2B, 0xEB, 0xDB,
216    0x41, 0x0E, 0xDF, 0x40, 0xC2, 0x32, 0x80, 0x8E,
217    0x32, 0x67, 0xEC, 0xC5, 0xC0, 0xBC, 0x1F, 0xD8,
218    0x29, 0x37, 0xE5, 0xDB, 0xDC, 0x1C, 0xC3, 0xE9,
219    0x56, 0x44, 0x55, 0x14, 0xEF, 0x09, 0x44, 0x4E,
220    0x21, 0xAD, 0x12, 0xB6, 0x14, 0x8E, 0xDF, 0xEC,
221    0x69, 0x21, 0x17, 0x7F, 0x14, 0x33, 0x17, 0xC1,
222    0x59, 0x41, 0x10, 0xE0, 0xF6, 0x05, 0x57, 0xF9,
223    0x5A, 0x42, 0xDC, 0x48, 0x2B, 0xF1, 0x53, 0xA1,
224    0xBA, 0x0D, 0x5D, 0x40, 0xF5, 0x04, 0xE7, 0xDB,
225    0xEA, 0x0E, 0x9E, 0x14, 0xAA, 0x0B, 0xE8, 0x11,
226    0x0B, 0x67, 0x02, 0xD7, 0xD9, 0xFF, 0x01, 0xB2,
227    0x7F, 0x33, 0xCE, 0x7F, 0xC8, 0x09, 0x44, 0x1D,
228    0x00, 0xD9, 0x07, 0x0B, 0x24, 0x80, 0xBA, 0x10,
229    0x0F, 0xBB, 0x27, 0xB5, 0xD2, 0x2D, 0x0A, 0x52,
230    0xA9, 0x24, 0xD7, 0x86, 0xBC, 0xF1, 0xD4, 0x05,
231    0xFD, 0xC6, 0xF7, 0xF3, 0x72, 0xD5, 0x3E, 0xDC,
232    0x28, 0x99, 0x37, 0x29, 0x1A, 0xDA, 0x51, 0x63,
233    0x80, 0xCA, 0xEF, 0x2D, 0x4E, 0xF3, 0xC5, 0xB4,
234    0xB6, 0xBF, 0xF0, 0x96, 0x2A, 0xAC, 0xEE, 0xEA,
235    0x77, 0x80, 0xD5, 0x99, 0xE8, 0x1F, 0x36, 0xA0,
236    0xBF, 0x35, 0x11, 0xD3, 0x15, 0x80, 0x4F, 0xC3,
237    0xCA, 0xCC, 0x5A, 0x62, 0xAD, 0xE8, 0x0C, 0xEE,
238    0xED, 0x80, 0xD4, 0x1E, 0x7F, 0xC3, 0x92, 0x50,
239    0x1E, 0xD2, 0x1F, 0x86, 0xE3, 0xFC, 0xB3, 0xF9,
240    0x42, 0x14, 0x11, 0x4B, 0xFC, 0x7F, 0x80, 0x04,
241    0xD3, 0xA3, 0xDA, 0x4A, 0xE8, 0x71, 0x16, 0x43,
242    0x13, 0xD4, 0xF0, 0x3B, 0xA1, 0x50, 0x0E, 0x20,
243    0x7F, 0x0F, 0x22, 0xCD, 0x7F, 0x07, 0x35, 0xFE,
244    0x7F, 0xE8, 0x68, 0x0E, 0x16, 0x44, 0x00, 0x62,
245    0xA1, 0xD0, 0x11, 0x11, 0x01, 0x02, 0x2C, 0x48
246    };
247
248static const q7_t ref_sub_possat[33] = {
249    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
250    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
251    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
252    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
253    0x7F
254    };
255
256static const q7_t ref_sub_negsat[33] = {
257    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
258    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
259    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
260    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
261    0x80
262    };
263
264static const q7_t ref_mult[256] = {
265    0x13, 0x00, 0x09, 0xFC, 0x4F, 0x01, 0xFE, 0x01,
266    0x03, 0xFC, 0x0D, 0x0C, 0x00, 0xFF, 0x00, 0xFD,
267    0xFE, 0x0A, 0x01, 0xFB, 0x0D, 0xFD, 0xD1, 0xF7,
268    0xFC, 0x05, 0x04, 0xFA, 0xFB, 0xF8, 0xFE, 0x01,
269    0xFD, 0xFA, 0x04, 0x08, 0x12, 0x00, 0x02, 0x2B,
270    0xF6, 0x15, 0xF2, 0x03, 0x0A, 0x03, 0xF8, 0xF4,
271    0x04, 0xF8, 0x21, 0x14, 0x05, 0xE8, 0x06, 0x02,
272    0xED, 0x02, 0x05, 0xD5, 0x01, 0xFB, 0x01, 0x06,
273    0xF2, 0xF8, 0x00, 0x06, 0x04, 0x00, 0xF5, 0x03,
274    0xF2, 0x06, 0xFE, 0xFE, 0x0E, 0x03, 0xF6, 0xEF,
275    0xF7, 0x05, 0x0B, 0xF9, 0x00, 0x03, 0xFF, 0x00,
276    0x09, 0x01, 0xF3, 0xFF, 0xFF, 0x01, 0x03, 0x02,
277    0x02, 0xEB, 0x18, 0x05, 0x06, 0x14, 0x00, 0xF4,
278    0xE6, 0x00, 0x0C, 0xCF, 0xFA, 0x15, 0x1A, 0x0B,
279    0x01, 0x1D, 0x01, 0x0E, 0x00, 0xE2, 0xFB, 0x00,
280    0x03, 0xF7, 0xFE, 0xF5, 0x09, 0xFC, 0x05, 0xF4,
281    0x00, 0x05, 0xFD, 0xF4, 0xFE, 0x00, 0x00, 0x03,
282    0x18, 0xFC, 0x0E, 0x00, 0xEF, 0xFE, 0x05, 0x0B,
283    0x12, 0x13, 0x2E, 0xFF, 0x0F, 0x08, 0xF5, 0xED,
284    0xDB, 0x13, 0x01, 0xFC, 0xFC, 0x00, 0x03, 0xF7,
285    0xF8, 0xF9, 0x07, 0xEB, 0xFD, 0xF3, 0x0C, 0x05,
286    0xF2, 0xBD, 0xFD, 0xEF, 0x00, 0xFE, 0x0B, 0xF2,
287    0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0xEC, 0x2B, 0xF9,
288    0xFF, 0xFE, 0xF1, 0xEE, 0xFE, 0x04, 0x0A, 0x04,
289    0x0D, 0xDC, 0xFD, 0x00, 0xD8, 0xFA, 0x03, 0xF9,
290    0x15, 0xFD, 0x0C, 0x06, 0x16, 0x00, 0xF7, 0x26,
291    0xFF, 0x10, 0x01, 0x12, 0x06, 0xE0, 0xFD, 0x07,
292    0xFD, 0x10, 0x0A, 0x0C, 0x29, 0xFA, 0x00, 0xFA,
293    0x03, 0x07, 0x02, 0xFB, 0xFA, 0xF5, 0x03, 0xFE,
294    0xD1, 0x08, 0x05, 0xFC, 0xDA, 0x07, 0x08, 0x22,
295    0xDF, 0x19, 0x0B, 0x00, 0x00, 0xFD, 0x04, 0xF0,
296    0xEF, 0xFC, 0x09, 0x03, 0x02, 0x09, 0x04, 0xFB
297    };
298
299static const q7_t ref_mult_possat[33] = {
300    0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00,
301    0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00,
302    0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00,
303    0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00,
304    0x7F
305    };
306
307static const q7_t ref_negate[256] = {
308    0xAE, 0xFF, 0xB9, 0xE0, 0x5B, 0x03, 0x04, 0xBC,
309    0x0B, 0x35, 0xD6, 0x19, 0xE2, 0xD8, 0x01, 0x11,
310    0xC2, 0xD4, 0xFB, 0xCE, 0x52, 0xF7, 0x42, 0x0B,
311    0xDC, 0x06, 0x22, 0x2A, 0x0C, 0x19, 0xF3, 0x29,
312    0xF0, 0xE7, 0xF4, 0x38, 0x45, 0xE2, 0xFB, 0x56,
313    0xBC, 0xA0, 0xD3, 0xDF, 0xE4, 0x10, 0xD2, 0xDB,
314    0x0C, 0x0F, 0x39, 0xE7, 0xDA, 0x45, 0x30, 0xF8,
315    0xBA, 0x07, 0x11, 0x82, 0xE7, 0xE2, 0xE5, 0xF6,
316    0xE1, 0xDE, 0xEE, 0xF0, 0xED, 0xFB, 0xBF, 0xF1,
317    0xC5, 0x0A, 0x07, 0xBB, 0x1B, 0x1C, 0xEC, 0x33,
318    0x1B, 0x13, 0x0D, 0xEC, 0x00, 0x11, 0x12, 0x26,
319    0xE7, 0xEE, 0x4C, 0xF5, 0x55, 0xEC, 0xF6, 0x09,
320    0xEB, 0xCB, 0xC8, 0xF4, 0x36, 0xCE, 0xFE, 0x27,
321    0xE1, 0x00, 0x47, 0xA4, 0x1C, 0xC7, 0x20, 0x1A,
322    0xF7, 0x53, 0xF2, 0xD0, 0xDC, 0x52, 0x0B, 0xFE,
323    0xE2, 0x1B, 0xE3, 0x20, 0x40, 0xEA, 0x15, 0xCB,
324    0x56, 0xD0, 0x0C, 0x6B, 0x05, 0x05, 0x2C, 0xE9,
325    0xCA, 0x0B, 0xDA, 0x00, 0xA7, 0x23, 0xB9, 0x3B,
326    0x20, 0x7A, 0x36, 0xDA, 0xC5, 0x38, 0xCA, 0xCF,
327    0x30, 0x53, 0xFB, 0xE7, 0xF9, 0x0C, 0x42, 0x13,
328    0x37, 0x2D, 0xE9, 0x40, 0xF3, 0x22, 0x31, 0x26,
329    0x9A, 0x6B, 0x1E, 0x1C, 0x00, 0xF0, 0x14, 0x48,
330    0x2B, 0xD9, 0xF5, 0x23, 0xED, 0x7B, 0x2D, 0x21,
331    0x33, 0x30, 0xCA, 0xC6, 0x04, 0x25, 0xD5, 0x20,
332    0xDF, 0x25, 0x20, 0xE1, 0x9C, 0x10, 0x71, 0xF2,
333    0xBB, 0x1F, 0xC7, 0x7F, 0x45, 0x0A, 0x38, 0xBE,
334    0xFE, 0xC8, 0xEA, 0x9E, 0x1E, 0xC5, 0x03, 0x1C,
335    0x0A, 0x6F, 0xEB, 0x10, 0x55, 0x96, 0xEA, 0xF2,
336    0x0D, 0x3C, 0x19, 0xF2, 0x56, 0xCC, 0xE3, 0xED,
337    0xBC, 0x18, 0x0E, 0x11, 0xD2, 0xDE, 0xBC, 0xBF,
338    0xD4, 0xD2, 0x8C, 0xFE, 0xEA, 0xFA, 0x16, 0xBB,
339    0x35, 0x22, 0x1B, 0x0D, 0xF1, 0x22, 0xCB, 0xF7
340    };
341
342static const q7_t ref_negate_possat[33] = {
343    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
344    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
345    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
346    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
347    0x7F
348    };
349
350static const q7_t ref_offset[256] = {
351    0x7F, 0x41, 0x7F, 0x60, 0xE5, 0x3D, 0x3C, 0x7F,
352    0x35, 0x0B, 0x6A, 0x27, 0x5E, 0x68, 0x3F, 0x2F,
353    0x7E, 0x6C, 0x45, 0x72, 0xEE, 0x49, 0xFE, 0x35,
354    0x64, 0x3A, 0x1E, 0x16, 0x34, 0x27, 0x4D, 0x17,
355    0x50, 0x59, 0x4C, 0x08, 0xFB, 0x5E, 0x45, 0xEA,
356    0x7F, 0x7F, 0x6D, 0x61, 0x5C, 0x30, 0x6E, 0x65,
357    0x34, 0x31, 0x07, 0x59, 0x66, 0xFB, 0x10, 0x48,
358    0x7F, 0x39, 0x2F, 0x7F, 0x59, 0x5E, 0x5B, 0x4A,
359    0x5F, 0x62, 0x52, 0x50, 0x53, 0x45, 0x7F, 0x4F,
360    0x7B, 0x36, 0x39, 0x7F, 0x25, 0x24, 0x54, 0x0D,
361    0x25, 0x2D, 0x33, 0x54, 0x40, 0x2F, 0x2E, 0x1A,
362    0x59, 0x52, 0xF4, 0x4B, 0xEB, 0x54, 0x4A, 0x37,
363    0x55, 0x75, 0x78, 0x4C, 0x0A, 0x72, 0x42, 0x19,
364    0x5F, 0x40, 0xF9, 0x7F, 0x24, 0x79, 0x20, 0x26,
365    0x49, 0xED, 0x4E, 0x70, 0x64, 0xEE, 0x35, 0x42,
366    0x5E, 0x25, 0x5D, 0x20, 0x00, 0x56, 0x2B, 0x75,
367    0xEA, 0x70, 0x34, 0xD5, 0x3B, 0x3B, 0x14, 0x57,
368    0x76, 0x35, 0x66, 0x40, 0x7F, 0x1D, 0x7F, 0x05,
369    0x20, 0xC6, 0x0A, 0x66, 0x7B, 0x08, 0x76, 0x71,
370    0x10, 0xED, 0x45, 0x59, 0x47, 0x34, 0xFE, 0x2D,
371    0x09, 0x13, 0x57, 0x00, 0x4D, 0x1E, 0x0F, 0x1A,
372    0x7F, 0xD5, 0x22, 0x24, 0x40, 0x50, 0x2C, 0xF8,
373    0x15, 0x67, 0x4B, 0x1D, 0x53, 0xC5, 0x13, 0x1F,
374    0x0D, 0x10, 0x76, 0x7A, 0x3C, 0x1B, 0x6B, 0x20,
375    0x61, 0x1B, 0x20, 0x5F, 0x7F, 0x30, 0xCF, 0x4E,
376    0x7F, 0x21, 0x79, 0xC0, 0xFB, 0x36, 0x08, 0x7F,
377    0x42, 0x78, 0x56, 0x7F, 0x22, 0x7B, 0x3D, 0x24,
378    0x36, 0xD1, 0x55, 0x30, 0xEB, 0x7F, 0x56, 0x4E,
379    0x33, 0x04, 0x27, 0x4E, 0xEA, 0x74, 0x5D, 0x53,
380    0x7F, 0x28, 0x32, 0x2F, 0x6E, 0x62, 0x7F, 0x7F,
381    0x6C, 0x6E, 0x7F, 0x42, 0x56, 0x46, 0x2A, 0x7F,
382    0x0B, 0x1E, 0x25, 0x33, 0x4F, 0x1E, 0x75, 0x49
383    };
384
385static const q7_t ref_offset_possat[33] = {
386    0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74,
387    0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74,
388    0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74,
389    0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74,
390    0x7F
391    };
392
393static const q7_t ref_offset_negsat[33] = {
394    0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C,
395    0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C,
396    0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C,
397    0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C,
398    0x80
399    };
400
401static const q7_t ref_scale[256] = {
402    0x29, 0x00, 0x23, 0x10, 0xD2, 0xFF, 0xFE, 0x22,
403    0xFA, 0xE5, 0x15, 0xF3, 0x0F, 0x14, 0xFF, 0xF7,
404    0x1F, 0x16, 0x02, 0x19, 0xD7, 0x05, 0xDF, 0xFA,
405    0x12, 0xFD, 0xEF, 0xEB, 0xFA, 0xF3, 0x07, 0xEB,
406    0x08, 0x0C, 0x06, 0xE4, 0xDD, 0x0F, 0x02, 0xD5,
407    0x22, 0x30, 0x17, 0x10, 0x0E, 0xF8, 0x17, 0x12,
408    0xFA, 0xF9, 0xE3, 0x0D, 0x13, 0xDD, 0xE8, 0x04,
409    0x23, 0xFD, 0xF8, 0x3F, 0x0C, 0x0F, 0x0E, 0x05,
410    0x10, 0x11, 0x09, 0x08, 0x09, 0x03, 0x21, 0x08,
411    0x1D, 0xFB, 0xFC, 0x23, 0xF3, 0xF2, 0x0A, 0xE7,
412    0xF2, 0xF6, 0xF9, 0x0A, 0x00, 0xF7, 0xF7, 0xED,
413    0x0C, 0x09, 0xDA, 0x05, 0xD6, 0x0A, 0x05, 0xFC,
414    0x0B, 0x1A, 0x1C, 0x06, 0xE5, 0x19, 0x01, 0xED,
415    0x10, 0x00, 0xDD, 0x2E, 0xF2, 0x1C, 0xF0, 0xF3,
416    0x05, 0xD6, 0x07, 0x18, 0x12, 0xD7, 0xFA, 0x01,
417    0x0F, 0xF3, 0x0F, 0xF0, 0xE0, 0x0B, 0xF6, 0x1A,
418    0xD5, 0x18, 0xFA, 0xCA, 0xFE, 0xFD, 0xEA, 0x0B,
419    0x1B, 0xFB, 0x13, 0x00, 0x2D, 0xEE, 0x24, 0xE3,
420    0xF0, 0xC3, 0xE5, 0x13, 0x1E, 0xE4, 0x1B, 0x19,
421    0xE8, 0xD6, 0x02, 0x0D, 0x03, 0xFA, 0xDF, 0xF7,
422    0xE5, 0xEA, 0x0C, 0xE0, 0x07, 0xEF, 0xE7, 0xED,
423    0x33, 0xCB, 0xF1, 0xF2, 0x00, 0x08, 0xF6, 0xDC,
424    0xEB, 0x14, 0x06, 0xEE, 0x0A, 0xC2, 0xEA, 0xEF,
425    0xE7, 0xE8, 0x1B, 0x1D, 0xFE, 0xED, 0x16, 0xF0,
426    0x10, 0xED, 0xF0, 0x10, 0x32, 0xF8, 0xC7, 0x07,
427    0x22, 0xF0, 0x1D, 0xC0, 0xDE, 0xFB, 0xE4, 0x21,
428    0x01, 0x1C, 0x0B, 0x31, 0xF1, 0x1E, 0xFF, 0xF2,
429    0xFB, 0xC9, 0x0B, 0xF8, 0xD5, 0x35, 0x0B, 0x07,
430    0xF9, 0xE2, 0xF4, 0x07, 0xD5, 0x1A, 0x0E, 0x09,
431    0x22, 0xF4, 0xF9, 0xF8, 0x17, 0x11, 0x22, 0x21,
432    0x16, 0x17, 0x3A, 0x01, 0x0B, 0x03, 0xF5, 0x22,
433    0xE6, 0xEF, 0xF3, 0xF9, 0x08, 0xEF, 0x1B, 0x05
434    };
435
436static const q7_t ref_scale_possat[33] = {
437    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
438    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
439    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
440    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
441    0x7F
442    };
443
444static const q31_t ref_dot_prod_3[1] = {
445    0x00003F91
446    };
447
448static const q31_t ref_dot_prod_4[1] = {
449    0x00002194
450    };
451
452static const q31_t ref_dot_prod_4n1[1] = {
453    0x0000451D
454    };
455
456static const q31_t ref_dot_prod_long[1] = {
457    0x00000CE0
458    };
459
460static const q7_t ref_abs[256] = {
461    0x52, 0x01, 0x47, 0x20, 0x5B, 0x03, 0x04, 0x44,
462    0x0B, 0x35, 0x2A, 0x19, 0x1E, 0x28, 0x01, 0x11,
463    0x3E, 0x2C, 0x05, 0x32, 0x52, 0x09, 0x42, 0x0B,
464    0x24, 0x06, 0x22, 0x2A, 0x0C, 0x19, 0x0D, 0x29,
465    0x10, 0x19, 0x0C, 0x38, 0x45, 0x1E, 0x05, 0x56,
466    0x44, 0x60, 0x2D, 0x21, 0x1C, 0x10, 0x2E, 0x25,
467    0x0C, 0x0F, 0x39, 0x19, 0x26, 0x45, 0x30, 0x08,
468    0x46, 0x07, 0x11, 0x7E, 0x19, 0x1E, 0x1B, 0x0A,
469    0x1F, 0x22, 0x12, 0x10, 0x13, 0x05, 0x41, 0x0F,
470    0x3B, 0x0A, 0x07, 0x45, 0x1B, 0x1C, 0x14, 0x33,
471    0x1B, 0x13, 0x0D, 0x14, 0x00, 0x11, 0x12, 0x26,
472    0x19, 0x12, 0x4C, 0x0B, 0x55, 0x14, 0x0A, 0x09,
473    0x15, 0x35, 0x38, 0x0C, 0x36, 0x32, 0x02, 0x27,
474    0x1F, 0x00, 0x47, 0x5C, 0x1C, 0x39, 0x20, 0x1A,
475    0x09, 0x53, 0x0E, 0x30, 0x24, 0x52, 0x0B, 0x02,
476    0x1E, 0x1B, 0x1D, 0x20, 0x40, 0x16, 0x15, 0x35,
477    0x56, 0x30, 0x0C, 0x6B, 0x05, 0x05, 0x2C, 0x17,
478    0x36, 0x0B, 0x26, 0x00, 0x59, 0x23, 0x47, 0x3B,
479    0x20, 0x7A, 0x36, 0x26, 0x3B, 0x38, 0x36, 0x31,
480    0x30, 0x53, 0x05, 0x19, 0x07, 0x0C, 0x42, 0x13,
481    0x37, 0x2D, 0x17, 0x40, 0x0D, 0x22, 0x31, 0x26,
482    0x66, 0x6B, 0x1E, 0x1C, 0x00, 0x10, 0x14, 0x48,
483    0x2B, 0x27, 0x0B, 0x23, 0x13, 0x7B, 0x2D, 0x21,
484    0x33, 0x30, 0x36, 0x3A, 0x04, 0x25, 0x2B, 0x20,
485    0x21, 0x25, 0x20, 0x1F, 0x64, 0x10, 0x71, 0x0E,
486    0x45, 0x1F, 0x39, 0x7F, 0x45, 0x0A, 0x38, 0x42,
487    0x02, 0x38, 0x16, 0x62, 0x1E, 0x3B, 0x03, 0x1C,
488    0x0A, 0x6F, 0x15, 0x10, 0x55, 0x6A, 0x16, 0x0E,
489    0x0D, 0x3C, 0x19, 0x0E, 0x56, 0x34, 0x1D, 0x13,
490    0x44, 0x18, 0x0E, 0x11, 0x2E, 0x22, 0x44, 0x41,
491    0x2C, 0x2E, 0x74, 0x02, 0x16, 0x06, 0x16, 0x45,
492    0x35, 0x22, 0x1B, 0x0D, 0x0F, 0x22, 0x35, 0x09
493    };
494
495static const q7_t ref_shift[33] = {
496    0xEC, 0xFB, 0xE9, 0x35, 0x1B, 0x25, 0xF3, 0x21,
497    0xEB, 0x04, 0xC7, 0xAB, 0xEA, 0xEF, 0x28, 0xBF,
498    0xF6, 0xCC, 0xDF, 0xDC, 0x05, 0x30, 0x1C, 0x1B,
499    0x2C, 0xEF, 0xE7, 0xE4, 0xFE, 0x1E, 0xEC, 0x19,
500    0x38
501    };
502
503static const q7_t ref_shift_possat[33] = {
504    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
505    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
506    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
507    0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02,
508    0x7F
509    };
510
511static const q7_t ref_shift_negsat[33] = {
512    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
513    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
514    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
515    0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE,
516    0x80
517    };
518
519static const uint8_t ref_and[47] = {
520    0xA3, 0xC0, 0x11, 0xC8, 0x08, 0x0A, 0x00, 0x48,
521    0x92, 0x00, 0xA1, 0x02, 0x00, 0x64, 0x00, 0x08,
522    0x40, 0x00, 0x04, 0x10, 0x94, 0x88, 0x50, 0x42,
523    0x26, 0x04, 0x08, 0x08, 0x3E, 0x01, 0x40, 0x04,
524    0x04, 0x13, 0x40, 0x04, 0x20, 0x02, 0x38, 0x04,
525    0x80, 0x00, 0x84, 0x00, 0x81, 0x40, 0x39
526    };
527
528static const uint8_t ref_or[47] = {
529    0xFF, 0xF7, 0xFB, 0xDA, 0xDF, 0xEF, 0x31, 0xFC,
530    0xF2, 0xD0, 0xFB, 0xE6, 0xCD, 0xEE, 0xFE, 0xFE,
531    0xC7, 0x35, 0x7D, 0xF9, 0xDF, 0xDE, 0x5F, 0xD6,
532    0xFF, 0x7C, 0xCF, 0x3C, 0x3F, 0xFF, 0xFE, 0xFF,
533    0xF5, 0x7F, 0xFA, 0xFE, 0xFC, 0xEF, 0x7B, 0xFE,
534    0xAA, 0x8F, 0xE7, 0xFB, 0x97, 0xE5, 0xF9
535    };
536
537static const uint8_t ref_not[47] = {
538    0x04, 0x2B, 0x0E, 0x27, 0x75, 0x70, 0xFF, 0x07,
539    0x2D, 0x2F, 0x1C, 0xB9, 0x3B, 0x9B, 0xA1, 0x47,
540    0xBA, 0xEB, 0xE3, 0x8E, 0x62, 0x65, 0xA0, 0xBD,
541    0x01, 0x83, 0x35, 0xD3, 0xC0, 0xE4, 0x05, 0x38,
542    0x4A, 0xCC, 0x8D, 0xB9, 0x0F, 0x75, 0xC6, 0x33,
543    0x5D, 0xFA, 0x5B, 0xBE, 0x78, 0x1F, 0x86
544    };
545
546static const uint8_t ref_xor[47] = {
547    0x5C, 0x37, 0xEA, 0x12, 0xD7, 0xE5, 0x31, 0xB4,
548    0x60, 0xD0, 0x5A, 0xE4, 0xCD, 0x8A, 0xFE, 0xF6,
549    0x87, 0x35, 0x79, 0xE9, 0x4B, 0x56, 0x0F, 0x94,
550    0xD9, 0x78, 0xC7, 0x34, 0x01, 0xFE, 0xBE, 0xFB,
551    0xF1, 0x6C, 0xBA, 0xFA, 0xDC, 0xED, 0x43, 0xFA,
552    0x2A, 0x8F, 0x63, 0xFB, 0x16, 0xA5, 0xC0
553    };
554
555static const q7_t ref_clip1[271] = {
556    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
557    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
558    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
559    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
560    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
561    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
562    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
563    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
564    0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3,
565    0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9,
566    0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF,
567    0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5,
568    0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB,
569    0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1,
570    0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8,
571    0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE,
572    0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF3,
573    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
574    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
575    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
576    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
577    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
578    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
579    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
580    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
581    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
582    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
583    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
584    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
585    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
586    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
587    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
588    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3,
589    0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3
590    };
591
592static const q7_t ref_clip2[288] = {
593    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
594    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
595    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
596    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
597    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
598    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
599    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
600    0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
601    0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3,
602    0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9,
603    0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF,
604    0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5,
605    0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB,
606    0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1,
607    0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8,
608    0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE,
609    0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF4,
610    0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA,
611    0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00,
612    0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06,
613    0x07, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C,
614    0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12,
615    0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18,
616    0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
617    0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25,
618    0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B,
619    0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31,
620    0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37,
621    0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D,
622    0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x40,
623    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
624    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
625    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
626    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
627    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
628    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40
629    };
630
631static const q7_t ref_clip3[303] = {
632    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
633    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
634    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
635    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
636    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
637    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
638    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
639    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
640    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
641    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
642    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
643    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
644    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
645    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
646    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
647    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
648    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
649    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
650    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
651    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
652    0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
653    0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12,
654    0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18,
655    0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
656    0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25,
657    0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B,
658    0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31,
659    0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37,
660    0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D,
661    0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x40,
662    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
663    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
664    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
665    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
666    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
667    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
668    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,
669    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40
670    };
671
672